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