Module: UIDAttribute
- Defined in:
- lib/uid_attribute/version.rb,
lib/uid_attribute.rb
Overview
UIDAttribute version
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
'0.3.0'
Class Method Summary collapse
-
.included(klass) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#initialize(*args) ⇒ Object
/class_methods.
-
#set_uid ⇒ Object
:call-seq: set_uid.
Class Method Details
.included(klass) ⇒ Object
:nodoc:
6 7 8 9 |
# File 'lib/uid_attribute.rb', line 6 def self.included( klass ) # :nodoc: klass.extend ClassMethods klass.send(:install_uid_attribute) end |
Instance Method Details
#initialize(*args) ⇒ Object
/class_methods
49 50 51 52 53 54 |
# File 'lib/uid_attribute.rb', line 49 def initialize(*args) # :nodoc: # hyjack including class initializer to set UID too ret = super(*args) set_uid ret end |
#set_uid ⇒ Object
:call-seq: set_uid
set :uid_attribute
61 62 63 64 65 66 67 68 69 |
# File 'lib/uid_attribute.rb', line 61 def set_uid klass = self.class has_uid_accessors? uid = klass.uid_object ? UUIDTools::UUID.md5_create(UUIDTools::UUID_OID_NAMESPACE, self.inspect) : UUIDTools::UUID.random_create.to_s send("#{klass.uid_attr}=", uid) end |