Ah OK Thanks.

That is a bit of functionality which has slipped by me.

I am still not sure why my one model does not like the get/1 function (and
I really do not like not understanding things), but this is enough to
convince me that my solution is reasonable. No sense calling the get/1
function if there is no 'Rest' part, right?

g





On 4 July 2014 22:07, can2nac <[email protected]> wrote:

> check deeply nested values section of manual
> http://www.chicagoboss.org/api-record.html
>
> get(Path::string()) -> Value
>
> Returns a deeply nested value described by a dot-separated Path (e.g. "
> puppy.mother.name")
>
> On Thursday, July 3, 2014 6:05:07 PM UTC+4, graeme defty wrote:
>>
>> Another interesting one...
>>
>> One of my models was returning 'undefined' in response to boss_db:find/1
>>
>> I tracked it down to boss_db:find/2, part of which looks like this:
>>
>> <pre>
>> find(Key, Timeout) when is_list(Key), is_integer(Timeout) ->
>>     [IdToken|Rest] = string:tokens(Key, "."),
>>     case db_call({find, IdToken}, Timeout) of
>>         undefined -> undefined;
>>         {error, Reason} -> {error, Reason};
>>         BossRecord -> BossRecord:get(string:join(Rest, "."))
>>     end;</pre>
>>
>> For some reason the BossRecord:get call on the second last line was
>> returning 'undefined' on one of my models. (I didnt try them all, but 8-10
>> others I tried were fine!)
>>
>> I fixed the problem by changing the code as follows:
>>
>> <pre>
>> find(Key, Timeout) when is_list(Key), is_integer(Timeout) ->
>>     [IdToken|Rest] = string:tokens(Key, "."),
>>     case db_call({find, IdToken}, Timeout) of
>>         undefined -> undefined;
>>         {error, Reason} -> {error, Reason};
>>         BossRecord ->
>>             case Rest of
>>                 []    ->    BossRecord;
>>                 _    ->    BossRecord:get(string:join(Rest, "."))
>>             end
>>     end;
>> </pre>
>>
>>
>> I have no idea if this is a good solution (though it looks reasonable)
>> and I am also equally puzzled by the fact that it only happened with one of
>> my models, but then I dont know what the 'get' function is supposed to do.
>> Perhaps someone wiser than I . . . .
>>
>>
>> g
>>
>>
>>
>>
>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "ChicagoBoss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> Visit this group at http://groups.google.com/group/chicagoboss.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/chicagoboss/7614a9a2-5337-45e5-bbf0-29d625908166%40googlegroups.com
> <https://groups.google.com/d/msgid/chicagoboss/7614a9a2-5337-45e5-bbf0-29d625908166%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"ChicagoBoss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at http://groups.google.com/group/chicagoboss.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/chicagoboss/CAKF5fiAAjT2tVcMKBm-LjQe2y6g%3DfBk-vPVCfw-oqhof_rEyQw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to