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

#build_virtual_attrObject



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

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


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

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

#input_valueObject



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

def input_value
  valid_object.send(valid_method)
end

#method_modelObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 21

def method_model
  association_name = valid_method.to_s.singularize.chomp("_id")
  association_opts = object_class.reflect_on_association(association_name).try(:options)
  association_klass = if association_opts && association_opts.has_key?(:class_name)
                        association_opts[:class_name]
                      else
                        association_name.classify
                      end
  association_klass.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



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

def tableize_method
  valid_method.to_s.singularize.chomp("_id").tableize
end

#translated_methodObject



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

def translated_method
  valid_object.class.human_attribute_name(valid_method)
end

#url_from_methodObject



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

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