Class: Goaltender::Input
- Inherits:
-
Object
- Object
- Goaltender::Input
- Defined in:
- lib/goaltender/input.rb
Instance Attribute Summary collapse
-
#current_instance ⇒ Object
Returns the value of attribute current_instance.
-
#default ⇒ Object
Returns the value of attribute default.
-
#form_class ⇒ Object
Returns the value of attribute form_class.
-
#form_path ⇒ Object
Returns the value of attribute form_path.
-
#input_value ⇒ Object
Returns the value of attribute input_value.
-
#name ⇒ Object
Returns the value of attribute name.
-
#parse_format ⇒ Object
Returns the value of attribute parse_format.
-
#type ⇒ Object
Returns the value of attribute type.
-
#variable_name ⇒ Object
Returns the value of attribute variable_name.
Instance Method Summary collapse
- #generate_form_class ⇒ Object
-
#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
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/goaltender/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 @parse_format = [:parse_format] @form_path = [:form_path] @form_class = generate_form_class @variable_name = @name end |
Instance Attribute Details
#current_instance ⇒ Object
Returns the value of attribute current_instance.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def current_instance @current_instance end |
#default ⇒ Object
Returns the value of attribute default.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def default @default end |
#form_class ⇒ Object
Returns the value of attribute form_class.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def form_class @form_class end |
#form_path ⇒ Object
Returns the value of attribute form_path.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def form_path @form_path end |
#input_value ⇒ Object
Returns the value of attribute input_value.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def input_value @input_value end |
#name ⇒ Object
Returns the value of attribute name.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def name @name end |
#parse_format ⇒ Object
Returns the value of attribute parse_format.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def parse_format @parse_format end |
#type ⇒ Object
Returns the value of attribute type.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def type @type end |
#variable_name ⇒ Object
Returns the value of attribute variable_name.
4 5 6 |
# File 'lib/goaltender/input.rb', line 4 def variable_name @variable_name end |
Instance Method Details
#generate_form_class ⇒ Object
31 32 33 34 35 36 |
# File 'lib/goaltender/input.rb', line 31 def generate_form_class return nil unless form_path folders = form_path.split("/").map(&:classify) classify_path = folders.join("::") return "Forms::#{classify_path}" end |
#parsed_value ⇒ Object
27 28 29 |
# File 'lib/goaltender/input.rb', line 27 def parsed_value @parsed_value ||= value_parser.parse end |
#perform_default(default_value) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/goaltender/input.rb', line 38 def perform_default(default_value) if default_value.is_a?(Symbol) current_instance.send(default_value) else default_value end end |
#value_parser ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/goaltender/input.rb', line 18 def value_parser @value_parser ||= "Goaltender::ValueParser::#{type.to_s.classify}".constantize.new({ input_value: input_value, parse_format: parse_format, form_class: form_class, variable_name: variable_name }) end |