Class: ParamsTransformer::Input
- Inherits:
-
Object
- Object
- ParamsTransformer::Input
- Defined in:
- lib/params_transformer/input.rb
Instance Attribute Summary collapse
-
#current_instance ⇒ Object
Returns the value of attribute current_instance.
-
#default ⇒ Object
Returns the value of attribute default.
-
#input_value ⇒ Object
Returns the value of attribute input_value.
-
#name ⇒ Object
Returns the value of attribute name.
-
#options ⇒ Object
Returns the value of attribute options.
-
#type ⇒ Object
Returns the value of attribute type.
-
#variable_name ⇒ Object
Returns the value of attribute variable_name.
Instance Method Summary collapse
- #association? ⇒ Boolean
-
#initialize(current_instance, name, type, input_value, options = {}) ⇒ Input
constructor
A new instance of Input.
- #parsed_value ⇒ Object
- #perform_default(default_value) ⇒ Object
- #value_parser ⇒ Object
Constructor Details
#initialize(current_instance, name, type, input_value, options = {}) ⇒ Input
Returns a new instance of Input.
6 7 8 9 10 11 12 13 14 |
# File 'lib/params_transformer/input.rb', line 6 def initialize(current_instance, name, type, input_value, = {}) @current_instance = current_instance @name = name @default = perform_default([:default]) @input_value = input_value || @default @type = type || input_value.class @variable_name = [:variable_name] || @name @options = end |
Instance Attribute Details
#current_instance ⇒ Object
Returns the value of attribute current_instance.
4 5 6 |
# File 'lib/params_transformer/input.rb', line 4 def current_instance @current_instance end |
#default ⇒ Object
Returns the value of attribute default.
4 5 6 |
# File 'lib/params_transformer/input.rb', line 4 def default @default end |
#input_value ⇒ Object
Returns the value of attribute input_value.
4 5 6 |
# File 'lib/params_transformer/input.rb', line 4 def input_value @input_value end |
#name ⇒ Object
Returns the value of attribute name.
4 5 6 |
# File 'lib/params_transformer/input.rb', line 4 def name @name end |
#options ⇒ Object
Returns the value of attribute options.
4 5 6 |
# File 'lib/params_transformer/input.rb', line 4 def @options end |
#type ⇒ Object
Returns the value of attribute type.
4 5 6 |
# File 'lib/params_transformer/input.rb', line 4 def type @type end |
#variable_name ⇒ Object
Returns the value of attribute variable_name.
4 5 6 |
# File 'lib/params_transformer/input.rb', line 4 def variable_name @variable_name end |
Instance Method Details
#association? ⇒ Boolean
35 36 37 |
# File 'lib/params_transformer/input.rb', line 35 def association? [:has_many, :belongs_to, :has_one].include?(type) end |
#parsed_value ⇒ Object
23 24 25 |
# File 'lib/params_transformer/input.rb', line 23 def parsed_value @parsed_value ||= value_parser.parse end |
#perform_default(default_value) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/params_transformer/input.rb', line 27 def perform_default(default_value) if default_value.is_a?(Symbol) current_instance.send(default_value) else default_value end end |
#value_parser ⇒ Object
16 17 18 19 20 21 |
# File 'lib/params_transformer/input.rb', line 16 def value_parser @value_parser ||= "ParamsTransformer::ValueParser::#{type.to_s.classify}".constantize.new(.merge({ input_value: input_value, variable_name: variable_name })) end |