module Exlibris::Primo::WriteAttributes
Write passed in arguments to instance attributes
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/exlibris/primo/write_attributes.rb, line 8 def initialize *args # Just call super w/o any args for now. Eventually, we'll want to check the arity and adjust. # self.class.superclass.instance_method(:initialize).arity.eql? self.class.instance_method(:initialize).arity super() write_attributes args.last unless args.last.nil? end
Public Instance Methods
write_attributes(attributes)
click to toggle source
# File lib/exlibris/primo/write_attributes.rb, line 15 def write_attributes attributes attributes.each do |attribute, value| write_attribute attribute, value end end
Protected Instance Methods
attributize(symbol)
click to toggle source
# File lib/exlibris/primo/write_attributes.rb, line 21 def attributize symbol symbol.id2name.sub(/=$/, "").to_sym end
Private Instance Methods
write_attribute(attribute, value)
click to toggle source
# File lib/exlibris/primo/write_attributes.rb, line 26 def write_attribute attribute, value attribute_writer = writify attribute send attribute_writer, value if respond_to? attribute_writer end
writify(key)
click to toggle source
# File lib/exlibris/primo/write_attributes.rb, line 32 def writify key "#{key}=".to_sym end