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