Ripple & an attribute named 'key'
Sean Cribbs
sean at basho.com
Sat Feb 12 22:55:31 EST 2011
Well, when it comes down to it, it's just a method. There's a lot less magic in Ripple than you'd think. Try this:
def key
@key ||= UUID.new # Replace with whatever you want, as long as it's a String
end
Sean Cribbs <sean at basho.com>
Developer Advocate
Basho Technologies, Inc.
http://basho.com/
On Feb 12, 2011, at 10:53 PM, Mat Ellis wrote:
> Yep, exactly. But it doesn't appear until I save right? I'd prefer not to have that dependency. Is there a way round?
>
> M.
>
> On Feb 12, 2011, at 7:51 PM, Sean Cribbs wrote:
>
>> If you don't specify a key, Riak will choose one for you (base 62-encoded hash of something, last I checked). Is that not what you're trying to do?
>>
>> Sean Cribbs <sean at basho.com>
>> Developer Advocate
>> Basho Technologies, Inc.
>> http://basho.com/
>>
>> On Feb 12, 2011, at 10:50 PM, Mat Ellis wrote:
>>
>>> The point of the code is not to use a non-string ID but to generate a default. Is it 'failing' because we're attempting to override the type? The actual code in question (this is a simplification) is generating a GUID which can easily be stored as a string instead of an integer. Otherwise we'll just have to use some other term, your example is precisely what we're doing.
>>>
>>> Thx
>>>
>>> On Feb 12, 2011, at 7:47 PM, Sean Cribbs wrote:
>>>
>>>> The choice of "key" as the method/attribute name corresponds to the Riak terminology for the same concept (and is analogous to "id" in ActiveRecord). If you want to use a non-String value for the key, create a property of some other name and then use the "key_on" method which makes a defined property act as the key.
>>>>
>>>> property :some_num, Integer, :presence => true, :default => 1234
>>>> key_on :some_num
>>>>
>>>> Sean Cribbs <sean at basho.com>
>>>> Developer Advocate
>>>> Basho Technologies, Inc.
>>>> http://basho.com/
>>>>
>>>> On Feb 12, 2011, at 8:00 PM, Mat Ellis wrote:
>>>>
>>>>> Why do these behave differently in Ripple?
>>>>>
>>>>> # Leaves key field blank
>>>>> property :key, Integer, :presence => true, :default => 1234
>>>>>
>>>>> # Populates key2 field with 1234
>>>>> property :key2, Integer, :presence => true, :default => 1234
>>>>>
>>>>> We'd like to use the key field as a standard (like the 'id' field is the default in ActiveRecord). Is this a bad idea and if so why?
>>>>>
>>>>> M.
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> riak-users mailing list
>>>>> riak-users at lists.basho.com
>>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>
>>>
>>
>
More information about the riak-users
mailing list