class Goaltender::Input
Attributes
current_instance[RW]
default[RW]
form_class[RW]
form_path[RW]
input_value[RW]
name[RW]
parse_format[RW]
type[RW]
variable_name[RW]
Public Class Methods
new(current_instance, name, type, input_value, options = {})
click to toggle source
# File lib/goaltender/input.rb, line 6 def initialize(current_instance, name, type, input_value, options = {}) @current_instance = current_instance @name = name @default = perform_default(options[:default]) @input_value = input_value || @default @type = type || input_value.class @parse_format = options[:parse_format] @form_path = options[:form_path] @form_class = generate_form_class @variable_name = options[:variable_name] || @name end
Public Instance Methods
generate_form_class()
click to toggle source
# 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()
click to toggle source
# File lib/goaltender/input.rb, line 27 def parsed_value @parsed_value ||= value_parser.parse end
perform_default(default_value)
click to toggle source
# 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()
click to toggle source
# 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