Class: Storing::Store::Entity

Inherits:
Object
  • Object
show all
Defined in:
lib/storing/store.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(primary_key_column, data = {}) ⇒ Entity

Returns a new instance of Entity.



9
10
11
12
# File 'lib/storing/store.rb', line 9

def initialize primary_key_column, data={}
	@primary_key_column = primary_key_column
	@data = data
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



7
8
9
# File 'lib/storing/store.rb', line 7

def data
  @data
end

#primary_key_columnObject (readonly)

Returns the value of attribute primary_key_column.



7
8
9
# File 'lib/storing/store.rb', line 7

def primary_key_column
  @primary_key_column
end

Instance Method Details

#paramsObject



23
24
25
# File 'lib/storing/store.rb', line 23

def params
	data.reject{|k,v| primary_key_columns.include? k }
end

#primary_key_hashObject



14
15
16
17
18
19
20
21
# 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