Module: ActiveAdminAddons::InputMethods
- Included in:
- FilterInputMethods, InputBase, InputHtmlHelpers, SelectHelpers
- Defined in:
- lib/activeadmin_addons/support/input_helpers/input_methods.rb
Instance Method Summary collapse
- #association_name ⇒ Object
- #build_virtual_attr ⇒ Object
- #input_related_items ⇒ Object
- #input_value ⇒ Object
- #method_model ⇒ Object
- #model_name ⇒ Object
- #object_class ⇒ Object
- #tableize_method ⇒ Object
- #translated_method ⇒ Object
- #url_from_method ⇒ Object
- #valid_method ⇒ Object
- #valid_object ⇒ Object
Instance Method Details
#association_name ⇒ Object
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_attr ⇒ Object
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 |
#input_related_items ⇒ Object
35 36 37 38 39 |
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 35 def valid_object.send(tableize_method) rescue NoMethodError raise "no association called #{tableize_method} on #{model_name} model" end |
#input_value ⇒ Object
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_model ⇒ Object
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_name ⇒ Object
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_class ⇒ Object
17 18 19 |
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 17 def object_class valid_object.class end |
#tableize_method ⇒ Object
31 32 33 |
# File 'lib/activeadmin_addons/support/input_helpers/input_methods.rb', line 31 def tableize_method association_name.tableize end |
#translated_method ⇒ Object
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_method ⇒ Object
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_method ⇒ Object
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_object ⇒ Object
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 |