module NoBrainer::Document::Aliases::ClassMethods
Public Instance Methods
field(attr, options={})
click to toggle source
Calls superclass method
# File lib/no_brainer/document/aliases.rb, line 14 def field(attr, options={}) if options[:store_as] self.alias_map[attr.to_s] = options[:store_as].to_s self.alias_reverse_map[options[:store_as].to_s] = attr.to_s end super end
lookup_field_alias(attr)
click to toggle source
# File lib/no_brainer/document/aliases.rb, line 33 def lookup_field_alias(attr) alias_map[attr.to_s] || attr end
persistable_key(k, options={})
click to toggle source
Calls superclass method
# File lib/no_brainer/document/aliases.rb, line 51 def persistable_key(k, options={}) lookup_field_alias(super) end
remove_field(attr, options={})
click to toggle source
Calls superclass method
# File lib/no_brainer/document/aliases.rb, line 22 def remove_field(attr, options={}) super self.alias_map.delete(attr.to_s) self.alias_reverse_map.delete(attr.to_s) end
reverse_lookup_field_alias(attr)
click to toggle source
# File lib/no_brainer/document/aliases.rb, line 29 def reverse_lookup_field_alias(attr) alias_reverse_map[attr.to_s] || attr end
with_fields_aliased(attrs)
click to toggle source
# File lib/no_brainer/document/aliases.rb, line 44 def with_fields_aliased(attrs) case attrs when Array then attrs.map { |k| lookup_field_alias(k) } when Hash then Hash[attrs.map { |k,v| [lookup_field_alias(k), v] }] end end
with_fields_reverse_aliased(attrs)
click to toggle source
# File lib/no_brainer/document/aliases.rb, line 37 def with_fields_reverse_aliased(attrs) case attrs when Array then attrs.map { |k| reverse_lookup_field_alias(k) } when Hash then Hash[attrs.map { |k,v| [reverse_lookup_field_alias(k), v] }] end end