Module: Leases::Model::Base::ClassMethods

Defined in:
lib/leases/model/base.rb

Instance Method Summary collapse

Instance Method Details

#leaser_namesObject

Returns array of leaser names (schema names).

Example

Account.leaser_names # => [‘account-1’, ‘account-2’]

Returns

Array

List of leaser names



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/leases/model/base.rb', line 27

def leaser_names
  name = self.leases_options[:name]

  if name.is_a?(Symbol)
    # Simply pluck the column
    self.pluck(name)
  elsif name.is_a?(Proc)
    # Name is a proc, find record in matches
    names = []
    self.find_each do |object|
      names << object.leaser_name
    end
    names
  else
    # Default option: pluck ids and prefix it
    prefix  = self.name.parameterize
    ids     = self.pluck(:id)
    ids.collect { |id| [prefix, id].join('-') }
  end
end