Module: OfflineLookup::ActiveRecord::ClassMethods

Defined in:
lib/offline_lookup/active_record.rb

Instance Method Summary collapse

Instance Method Details

#use_offline_lookup(*fields, key: "id", identity_methods: false, lookup_methods: false, compact: false, delimiter: " ", name: fields.join(delimiter), transform: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/offline_lookup/active_record.rb', line 6

def use_offline_lookup(*fields, key: "id", identity_methods: false, lookup_methods: false, compact: false, delimiter: " ", name: fields.join(delimiter), transform: nil)
  class_attribute :offline_lookup_options
  self.offline_lookup_options = {
    fields: fields.map(&:to_s),
    key: key.to_s,
    identity_methods: !!identity_methods,
    lookup_methods: !!lookup_methods,
    compact: !!compact,
    delimiter: delimiter.to_s,
    name: name,
    transform: transform
  }
  include OfflineLookup::Core
  include OfflineLookup::DynamicModuleBuilder.new(self, self.offline_lookup_options).build_module
end