module LessStruct::Util::Key
Public Class Methods
included(klass)
click to toggle source
# File lib/less_struct/util/key.rb, line 8 def self.included(klass) klass.extend(ClassMethods) end
Public Instance Methods
auto_id()
click to toggle source
# File lib/less_struct/util/key.rb, line 38 def auto_id rand_sep = "_" "#{(now.to_f*1000).to_i}#{rand_sep}#{SecureRandom.hex(4)}" end
id()
click to toggle source
# File lib/less_struct/util/key.rb, line 30 def id if klass.config_entity_id_auto_y self[:id] ||= auto_id else raise "set 'id' before save" unless self[:id] end end
key()
click to toggle source
# File lib/less_struct/util/key.rb, line 43 def key klass.key(kind, id) end
kind()
click to toggle source
# File lib/less_struct/util/key.rb, line 22 def kind self[:kind] = klass.kind end
kind=(kind)
click to toggle source
# File lib/less_struct/util/key.rb, line 26 def kind=(kind) raise "use class method for custom kind name" end
now()
click to toggle source
# File lib/less_struct/util/key.rb, line 47 def now @now ||= ::Time.now.utc end