Class: Administrate::Field::LazyHasMany

Inherits:
HasMany
  • Object
show all
Includes:
LazyHasManyVersion
Defined in:
lib/administrate/field/lazy_has_many.rb

Defined Under Namespace

Classes: Engine

Constant Summary

Constants included from LazyHasManyVersion

Administrate::Field::LazyHasManyVersion::VERSION

Instance Method Summary collapse

Instance Method Details

#actionObject



34
35
36
37
38
# File 'lib/administrate/field/lazy_has_many.rb', line 34

def action
  raise StandardError.new 'action is missing' if options[:action].blank?

  Rails.application.routes.url_helpers.send(options[:action])
end

#candidate_resourcesObject



17
18
19
20
21
22
23
24
# File 'lib/administrate/field/lazy_has_many.rb', line 17

def candidate_resources
  if options.key?(:includes)
    includes = options.fetch(:includes)
    associated_class.includes(*includes).where(id: data.map(&:id))
  else
    associated_class.where(id: data.map(&:id))
  end
end

#custom_attribute_idObject



26
27
28
# File 'lib/administrate/field/lazy_has_many.rb', line 26

def custom_attribute_id
  "#{resource.class.name.underscore}_#{attribute_key}"
end

#result_limitObject



40
41
42
# File 'lib/administrate/field/lazy_has_many.rb', line 40

def result_limit
  options[:result_limit] || 10
end

#to_sObject



30
31
32
# File 'lib/administrate/field/lazy_has_many.rb', line 30

def to_s
  data.map { |v| display_candidate_resource(v) }
end