[MacRuby-devel] Bugfix

Alexander Flatter flatter at gmail.com
Wed Jan 21 23:39:42 PST 2009


Hi there,

The extlib's #full_const_get will raise an NameError if there's no
constant found. That's what I changed.

I agree that returning nil is more adequate than false though we
should perhaps stay as near to extlib as possible
and raise exceptions to prevent incompatibilities (think of MacRuby
users that want to use datamapper).

---- SNIP: extlib behaviour ----

>> class A; class B; end; end
=> nil

>> A.full_const_get 'A::B'
NameError: uninitialized constant A::A

>> A.full_const_get 'B'
=> A::B

>> Object.full_const_get 'A::B'
=> A::B

---- /SNIP ----



Giving some tests back to extlib should be no problem.

On Thu, Jan 22, 2009 at 12:06 AM, Eloy Duran <eloy.de.enige at gmail.com> wrote:
> Hey,
>
> The test looks good to me and I totally agree, false is more unexpected then
> nil in this case.
>
> So then I looked up the tests for it from extlib:
> http://github.com/sam/extlib/blob/2bc2e8a42c7a49e2e5daf530c29fb2840d0e299d/spec/object_spec.rb#L29
> And it doesn't even test for the case that a constant can't be found.
>
> Anyways, I think we should copy over that existing test and add an extra one
> for when a constant can't be looked up.
> In cases/hotcocoa/object_ext_test.rb.
>
> Also, Alexander, you might want to take those changes and tests upstream
> back to extlib.
>
> Cheers,
> Eloy
>
> On 21 jan 2009, at 23:33, Vincent Isambart wrote:
>
>> Hey,
>>
>> Attached a patch with the fix. I checked the test and the fix does indeed
>> make it pass.
>> In my change I also changed Object#full_const_get to return nil (and not
>> false) when it does not find a constant because false seemed odd to me. What
>> do you think?
>>
>> Cheers
>>
>>
>> <0001-Fixed-HotCocoa-mapping-after-framework-load.patch>_______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>


More information about the MacRuby-devel mailing list