module HornOfPlenty::Parsable::ClassMethods
Public Instance Methods
from_parser(parser:)
click to toggle source
# File lib/horn_of_plenty/models/parsable.rb, line 5 def from_parser(parser:) new(parser: parser) end
parsable_attributes(*attribute_list)
click to toggle source
# File lib/horn_of_plenty/models/parsable.rb, line 9 def parsable_attributes(*attribute_list) attribute_list.each do |attribute| instance_variable_name = "@#{attribute.to_s.gsub(/[\?]/, '')}".to_sym define_method attribute do if instance_variable_get(instance_variable_name).nil? parser.__send__(attribute) else instance_variable_get(instance_variable_name) end end define_method "#{attribute}=" do |other| instance_variable_set(instance_variable_name, other) end end end