class Storing::Store::Entity

Attributes

data[R]
primary_key_column[R]

Public Class Methods

new(primary_key_column, data={}) click to toggle source
# File lib/storing/store.rb, line 9
def initialize primary_key_column, data={}
        @primary_key_column = primary_key_column
        @data = data
end

Public Instance Methods

params() click to toggle source
# File lib/storing/store.rb, line 23
def params
        data.reject{|k,v| primary_key_columns.include? k }
end
primary_key_hash() click to toggle source
# File lib/storing/store.rb, line 14
def primary_key_hash
        primary_key_columns.inject({}) do |memo, pk_col|
                memo[pk_col] = data.fetch(pk_col)
                memo
        end
rescue KeyError => e
        raise(MissingPrimaryKey, 'primary key missing in entity data hash')
end

Private Instance Methods

primary_key_columns() click to toggle source
# File lib/storing/store.rb, line 29
def primary_key_columns
        [*primary_key_column]
end