Sha256: 2dd201a188741d52ce31bbd74fb17479f58aafab87e7a675d42db19fb640a870

Contents?: true

Size: 473 Bytes

Versions: 6

Compression:

Stored size: 473 Bytes

Contents

# frozen_string_literal: true

module Beaconable
  class ObjectWas
    attr_reader :object

    def initialize(object)
      @object = object
    end

    def call
      hashed_object = {}
      symbolized_column_names = object.class.column_names.map {|column_name| column_name.to_sym}
      symbolized_column_names.each do |column_name|
        hashed_object[column_name] = object.send("#{column_name}_was")
      end
      OpenStruct.new(hashed_object)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
beaconable-0.2.2 lib/beaconable/object_was.rb
beaconable-0.2.1 lib/beaconable/object_was.rb
beaconable-0.2.0 lib/beaconable/object_was.rb
beaconable-0.1.2 lib/beaconable/object_was.rb
beaconable-0.1.1 lib/beaconable/object_was.rb
beaconable-0.1.0 lib/beaconable/object_was.rb