Module: ActiveAdminAddons::InputMethods

Included in:
FilterInputMethods, InputBase, InputHtmlHelpers, SelectHelpers
Defined in:
lib/activeadmin_addons/support/input_helpers/input_methods.rb

Instance Method Summary collapse

Instance Method Details

#association_nameObject



21
22
23
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 21

def association_name
  valid_method.to_s.singularize.chomp("_id")
end

#build_virtual_attrObject



60
61
62
63
64
65
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 60

def build_virtual_attr
  attribute_name = "virtual_#{valid_method}_attr"
  fail "#{attribute_name} is already defined" if valid_object.respond_to?(attribute_name)
  valid_object.singleton_class.send(:attr_accessor, attribute_name)
  attribute_name
end


35
36
37
38
39
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 35

def input_related_items
  valid_object.send(tableize_method)
rescue NoMethodError
  raise "no association called #{tableize_method} on #{model_name} model"
end

#input_valueObject



41
42
43
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 41

def input_value
  @input_value ||= valid_object.send(valid_method)
end

#method_modelObject



25
26
27
28
29
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 25

def method_model
  @options[:method_model] ||
    object_class.reflect_on_association(association_name).try(:klass) ||
    association_name.classify.constantize
end

#model_nameObject



3
4
5
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 3

def model_name
  valid_object.class.to_s.underscore.tr('/', '_')
end

#object_classObject



17
18
19
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 17

def object_class
  valid_object.class
end

#tableize_methodObject



31
32
33
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 31

def tableize_method
  association_name.tableize
end

#translated_methodObject



45
46
47
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 45

def translated_method
  valid_object.class.human_attribute_name(valid_method)
end

#url_from_methodObject



49
50
51
52
53
54
55
56
57
58
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 49

def url_from_method
  url = ["/"]

  if ActiveAdmin.application.default_namespace.present?
    url << "#{ActiveAdmin.application.default_namespace}/"
  end

  url << tableize_method
  url.join("")
end

#valid_methodObject



7
8
9
10
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 7

def valid_method
  raise "invalid method given" if method.blank?
  method
end

#valid_objectObject



12
13
14
15
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 12

def valid_object
  raise "blank object given" if @object.blank?
  @object
end