Hash Value Assignment Bug?

I have been trying to build a ACL system, and found what I believe is a bug.

result = {"return_value"=>nil, "allow"=>"t", "id"=>"1000002"}

=> {"allow"=>"t", "return_value"=>nil, "id"=>"1000002"}

access = { :acl_id => result["acl_id"], :return_value =>

result["return_value"], :allow => allow }
=> {:return_value=>nil, :acl_id=>nil, :allow=>true}

What I was trying to do, is set the access hash values with the values from
the result Hash. What I result with, is null values.

Warmest regards,
Nathan.

···

--------------------------------------------------------------
Nathaniel S. H. Brown Toll Free 1.877.4.INIMIT
Inimit Innovations Phone 604.724.6624
www.inimit.com Fax 604.444.9942

Your are assigning a key of :id to result, but accessing a key of :acl_id in the seconds assignment.
It is not clear what your intentions are with :allow=>allow - is allow defined somewhere, or did you mean :allow=>result[:allow] ??

···

On 19 Nov 2005, at 11:55am, Nathaniel S. H. Brown wrote:

result = {"return_value"=>nil, "allow"=>"t", "id"=>"1000002"}

=> {"allow"=>"t", "return_value"=>nil, "id"=>"1000002"}

access = { :acl_id => result["acl_id"], :return_value =>

result["return_value"], :allow => allow }
=> {:return_value=>nil, :acl_id=>nil, :allow=>true}

Your are assigning a key of :id to result, but accessing a
key of :acl_id in the seconds assignment.
It is not clear what your intentions are with :allow=>allow -
is allow defined somewhere, or did you mean :allow=>result[:allow] ??

>>> result = {"return_value"=>nil, "allow"=>"t", "id"=>"1000002"}
> => {"allow"=>"t", "return_value"=>nil, "id"=>"1000002"}
>
>>> access = { :acl_id => result["acl_id"], :return_value =>
> result["return_value"], :allow => allow } => {:return_value=>nil,
> :acl_id=>nil, :allow=>true}

Thanks Derek, appears it was a simple typo. Shortly after I sent this I
fixed a bug with the local allow variable which wasn't testing for (t|f) but
rather 1|0. After that was fixed, one of the nil's was removed, this
explains the other.

Warmest regards,
Nathan.

···

On 19 Nov 2005, at 11:55am, Nathaniel S. H. Brown wrote:

--------------------------------------------------------------
Nathaniel S. H. Brown Toll Free 1.877.4.INIMIT
Inimit Innovations Phone 604.724.6624
www.inimit.com Fax 604.444.9942