Module: Minidynamo::Model::Keys

Included in:
Minidynamo::Model
Defined in:
lib/minidynamo/model/keys.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#range_keyObject

Returns the value of attribute range_key.



8
9
10
# File 'lib/minidynamo/model/keys.rb', line 8

def range_key
  @range_key
end

#read_capacity=(value) ⇒ Object (writeonly)

For all the fields with defaults



6
7
8
# File 'lib/minidynamo/model/keys.rb', line 6

def read_capacity=(value)
  @read_capacity = value
end

#write_capacity=(value) ⇒ Object (writeonly)

For all the fields with defaults



6
7
8
# File 'lib/minidynamo/model/keys.rb', line 6

def write_capacity=(value)
  @write_capacity = value
end

Instance Method Details

#hash_keyObject



10
11
12
# File 'lib/minidynamo/model/keys.rb', line 10

def hash_key
	@hash_key || {:id => :string}
end

#hash_key=(key) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/minidynamo/model/keys.rb', line 14

def hash_key=(key)
	@hash_key = key
	hk = key.keys[0]
	finder_method_name = "find_by_#{hk}".to_sym   
	unless finder_method_name == :find_by_id        
		self.define_singleton_method finder_method_name do |x|
			find_by_id x
		end
	end
	type = key[hk]
	attribute_creator_method_name = "#{type.to_s}_attr".to_sym
	#puts "hk: CALLING #{attribute_creator_method_name} with #{hk}"
	send attribute_creator_method_name, hk 
end

#hash_key_attribute_nameObject



38
39
40
# File 'lib/minidynamo/model/keys.rb', line 38

def hash_key_attribute_name
	hash_key.keys[0]
end

#hash_key_typeObject



46
47
48
# File 'lib/minidynamo/model/keys.rb', line 46

def hash_key_type
	dynamo_db_table.hash_key.type.to_s.chars.first.to_sym
end

#hash_range_table?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/minidynamo/model/keys.rb', line 50

def hash_range_table?
	! range_key.nil?
end

#range_key_attribute_nameObject



42
43
44
# File 'lib/minidynamo/model/keys.rb', line 42

def range_key_attribute_name
	range_key.keys[0]
end