I wasn't clear at all, sorry.  I can't get *automatic* formatting to work.  My 
.irbrc file looks like this:

require "rubygems"
require "ap"

unless Kernel.respond_to?(:framework) #admitted ugly hack
  require 'irb/completion'
  
  IRB::Irb.class_eval do
    def output_value
      ap @context.last_value
    end
  end
  
end

This makes the default irb formatting us awesome_print.  I got this from the 
awesome_print github page.  If I move the class_eval statement out of the 
conditional, I get this:

matt$ macirb
/Users/matt/.irbrc:1:in `<main>': uninitialized constant IRB::Irb (NameError)
        from /usr/local/bin/macirb:13:in `block'
        from /usr/local/bin/macirb:9:in `block'
        from /usr/local/bin/macirb:3:in `<main>'

As an aside:
I have a ton of code that needs to run under both macruby and rubycocoa.  Due 
to the ObjC calling conventions and OSX module stuff, portability is kind of a 
pain.  I use the Kernel.respond_to?(:framework) construct often, but I welcome 
better suggestions.

Matt

On Oct 6, 2010, at 9:02 AM, Eloy Duran wrote:

> I did, in the email that you replied on. Could you please send some more info 
> about what really happens?
> 
> Eloy
> 
> On Oct 6, 2010, at 5:49 PM, Matt Massicotte wrote:
> 
>> I didn't know about awesome_print, and it's kind of blown my mind.  The 
>> default irb formatting is great.  Only, I cannot get it to work in macirb.  
>> It looks like the internals of IRB is completely different.
>> 
>> Has anyone had an luck with this?
>> 
>> Matt
>> 
>> On Oct 6, 2010, at 2:10 AM, Eloy Duran wrote:
>> 
>>> I verified that it does work:
>>> 
>>> sudo macgem install awesome_print
>>> Password:
>>> unknown: warning: ignoring alias
>>> Successfully installed awesome_print-0.2.1
>>> 1 gem installed
>>> 
>>> % cat ~/.irbrc
>>> require 'rubygems'
>>> require 'ap'
>>> 
>>> % macirb
>>> irb(main):001:0> data = [ false, 42, %w(forty two), { :now => Time.now, 
>>> :class => Time.now.class, :distance => 42e42 } ]
>>> => [false, 42, ["forty", "two"], {:now=>2010-10-06 11:06:37 +0200, 
>>> :class=>Time, :distance=>4.2e+43}]
>>> irb(main):002:0> ap data
>>> [
>>>     [0] false,
>>>     [1] 42,
>>>     [2] [
>>>         [0] "forty",
>>>         [1] "two"
>>>     ],
>>>     [3] {
>>>              :now => 2010-10-06 11:06:37 +0200,
>>>            :class => Time < NSDate,
>>>         :distance => 4.2e+43
>>>     }
>>> ]
>>> => nil
>>> 
>>> It’s probably, as Joshua has said, being installed with the wrong rubygems 
>>> installation.
>>> 
>>> Eloy
>>> 
>>> On Oct 6, 2010, at 8:38 AM, Joshua Ballanco wrote:
>>> 
>>>> Hi Brad,
>>>> 
>>>> What's happening here is that the 'gem' command that ships with MacRuby is 
>>>> named 'macgem'. However, 'macirb' still looks at the same .irbrc file that 
>>>> the system 'irb' command does. So, if you've put in a require for 
>>>> awesome_print into your .irbrc, then 'macirb' will look for it but not 
>>>> find it.
>>>> 
>>>> Try running 'macgem install awesome_print' instead and let us know how it 
>>>> goes.
>>>> 
>>>> Cheers,
>>>> 
>>>> Josh
>>>> 
>>>> 
>>>> On Oct 5, 2010, at 10:29 PM, Brad Hutchins wrote:
>>>> 
>>>>> "DietRB" or "macirb" don't seem to be working after I install "gem 
>>>>> awesome_print"
>>>>> 
>>>>> I have to "gem uninstall awesome_print" to get it to work.  
>>>>> 
>>>>> I am guessing DietRB may be the name of the IRB but it is still launches 
>>>>> with "macirb"
>>>>> 
>>>>> 
>>>>> 
>>>>> localhost:Homebrew Brad$ rvm macruby
>>>>> 
>>>>> 
>>>>> localhost:Homebrew Brad$ macruby -v
>>>>> MacRuby 0.7 (ruby 1.9.2) [universal-darwin10.0, x86_64]
>>>>> localhost:Homebrew Brad$ DietRB
>>>>> -bash: DietRB: command not found
>>>>> 
>>>>> 
>>>>> localhost:Homebrew Brad$ macirb
>>>>> ap gem not found.  Try typing 'gem install awesome_print' to get 
>>>>> super-fancy output.
>>>>> irb(main):001:0> exit
>>>>> 
>>>>> localhost:Homebrew Brad$ gem install awesome_print
>>>>> unknown: warning: ignoring alias
>>>>> Successfully installed awesome_print-0.2.1
>>>>> 1 gem installed
>>>>> localhost:Homebrew Brad$ macirb
>>>>> /Users/Brad/.irbrc:1:in `<main>': uninitialized constant IRB::Irb 
>>>>> (NameError)
>>>>>   from /usr/local/bin/macirb:13:in `block'
>>>>>   from /usr/local/bin/macirb:9:in `block'
>>>>>   from /usr/local/bin/macirb:3:in `<main>'
>>>>> 
>>>>>   
>>>>> localhost:Homebrew Brad$ DietRB
>>>>> -bash: DietRB: command not found
>>>>> 
>>>>> 
>>>>> localhost:Homebrew Brad$ rvm list
>>>>> 
>>>>> rvm rubies
>>>>> 
>>>>>    jruby-1.5.2 [ x86_64-java ]
>>>>> => macruby-0.7 [ x86_64 ]
>>>>>    rbx-1.0.1-20100603 [ x86_64 ]
>>>>>    ruby-1.8.7-p302 [ x86_64 ]
>>>>>    ruby-1.9.2-p0 [ x86_64 ]
>>>>> 
>>>>> 
>>>>> localhost:Homebrew Brad$ gem uninstall awesome_print
>>>>> Successfully uninstalled awesome_print-0.2.1
>>>>> localhost:Homebrew Brad$ macirb
>>>>> ap gem not found.  Try typing 'gem install awesome_print' to get 
>>>>> super-fancy output.
>>>>> irb(main):001:0> 
>>>>>  
>>>>> _______________________________________________
>>>>> MacRuby-devel mailing list
>>>>> [email protected]
>>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>>> 
>>>> _______________________________________________
>>>> MacRuby-devel mailing list
>>>> [email protected]
>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>> 
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> [email protected]
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> [email protected]
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> [email protected]
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to