class SimpleRewriter::Writer

Attributes

attribute[R]
new_attr_value[R]
record[R]

Public Class Methods

new(record, attribute, new_attr_value) click to toggle source
# File lib/simple_rewriter/writer.rb, line 3
def initialize(record, attribute, new_attr_value)
  @record = record
  @attribute = attribute
  @new_attr_value = new_attr_value
end

Public Instance Methods

call() click to toggle source
# File lib/simple_rewriter/writer.rb, line 9
def call
  write_attribute
end

Private Instance Methods

write_attribute() click to toggle source
# File lib/simple_rewriter/writer.rb, line 17
def write_attribute
  return write_hash_attribute if record.is_a?(Hash)
  write_by_method
end
write_by_method() click to toggle source
# File lib/simple_rewriter/writer.rb, line 26
def write_by_method
  record.send("#{attribute}=", new_attr_value)
end
write_hash_attribute() click to toggle source
# File lib/simple_rewriter/writer.rb, line 22
def write_hash_attribute
  record[attribute.to_s] = new_attr_value
end