hashy_db 2.0.0.pre.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,11 +26,11 @@ module Mince
26
26
  # @param [#to_s] salt any object that responds to #to_s
27
27
  # @return [String] A unique id based on the salt and the current time
28
28
  def self.generate_unique_id(salt)
29
- Digest::SHA256.hexdigest("#{Time.now}#{salt}")[0..6]
29
+ PrimaryKey.generate(salt)
30
30
  end
31
31
 
32
32
  def self.primary_key
33
- Config.primary_key
33
+ PrimaryKey.name
34
34
  end
35
35
 
36
36
  # Deletes a field from all records in the given collection
@@ -78,7 +78,7 @@ module Mince
78
78
  # @param [String] field_value the value to update the field to
79
79
  # @return [void] no specific return value
80
80
  def self.update_field_with_value(collection_name, primary_key_value, field_name, new_value)
81
- find(collection_name, primary_key, primary_key_value)[field_name] = new_value
81
+ find(collection_name, primary_key_value)[field_name] = new_value
82
82
  end
83
83
 
84
84
  # Increments or decrements the field by the given amount for the record for the given id.
@@ -89,7 +89,7 @@ module Mince
89
89
  # @param [String] amount the amount to increment or decrement the field by
90
90
  # @return [void] no specific return value
91
91
  def self.increment_field_by_amount(collection_name, primary_key_value, field_name, amount)
92
- find(collection_name, primary_key, primary_key_value)[field_name] += amount
92
+ find(collection_name, primary_key_value)[field_name] += amount
93
93
  end
94
94
 
95
95
  # Gets all records that have the value for a given key.
@@ -134,22 +134,20 @@ module Mince
134
134
  # Gets a record matching a key and value
135
135
  #
136
136
  # @param [Symbol] collection_name the name of the collection
137
- # @param [String] key the key to find a record by
138
137
  # @param [*] value a value the find a record by
139
138
  # @return [Hash] a record that matches the given key and value
140
- def self.find(collection_name, key, value)
141
- find_all(collection_name).find { |x| x[key] == value }
139
+ def self.find(collection_name, value)
140
+ find_all(collection_name).find { |x| x[primary_key] == value }
142
141
  end
143
142
 
144
143
  # Pushes a value to a record's key that is an array
145
144
  #
146
145
  # @param [Symbol] collection_name the name of the collection
147
- # @param [String] identifying_key the field used to find the record
148
146
  # @param [*] identifying_value the value used to find the record
149
147
  # @param [String] array_key the field to push an array to
150
148
  # @param [*] value_to_push the value to push to the array
151
- def self.push_to_array(collection_name, identifying_key, identifying_value, array_key, value_to_push)
152
- record = find(collection_name, identifying_key, identifying_value)
149
+ def self.push_to_array(collection_name, identifying_value, array_key, value_to_push)
150
+ record = find(collection_name, identifying_value)
153
151
  if (record[array_key])
154
152
  record[array_key] << value_to_push
155
153
  else
@@ -161,12 +159,11 @@ module Mince
161
159
  # Removes a value from a record's key that is an array
162
160
  #
163
161
  # @param [Symbol] collection_name the name of the collection
164
- # @param [String] identifying_key the field used to find the record
165
162
  # @param [*] identifying_value the value used to find the record
166
163
  # @param [String] array_key the field to push an array from
167
164
  # @param [*] value_to_remove the value to remove from the array
168
- def self.remove_from_array(collection_name, identifying_key, identifying_value, array_key, value_to_pop)
169
- record = find(collection_name, identifying_key, identifying_value)
165
+ def self.remove_from_array(collection_name, identifying_value, array_key, value_to_pop)
166
+ record = find(collection_name, identifying_value)
170
167
  record[array_key].reject! { |x| x == value_to_pop }
171
168
  end
172
169
 
@@ -233,5 +230,15 @@ module Mince
233
230
  DataStore.data
234
231
  end
235
232
  end
233
+
234
+ module PrimaryKey
235
+ def self.name
236
+ Config.primary_key
237
+ end
238
+
239
+ def self.generate(salt)
240
+ Digest::SHA256.hexdigest("#{Time.now}#{salt}")[0..6]
241
+ end
242
+ end
236
243
  end
237
244
  end
@@ -25,7 +25,7 @@ module Mince # :nodoc:
25
25
 
26
26
  # Provides the patch level version of the library
27
27
  def self.patch
28
- '0.pre.3'
28
+ 1
29
29
  end
30
30
  end
31
31
 
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashy_db
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre.3
5
- prerelease: 6
4
+ version: 2.0.1
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Matt Simpson
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-11-02 00:00:00.000000000 Z
14
+ date: 2013-02-26 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake
@@ -109,22 +109,6 @@ dependencies:
109
109
  - - ~>
110
110
  - !ruby/object:Gem::Version
111
111
  version: '1.2'
112
- - !ruby/object:Gem::Dependency
113
- name: mince
114
- requirement: !ruby/object:Gem::Requirement
115
- none: false
116
- requirements:
117
- - - '='
118
- - !ruby/object:Gem::Version
119
- version: 2.0.0.pre.2
120
- type: :development
121
- prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
- requirements:
125
- - - '='
126
- - !ruby/object:Gem::Version
127
- version: 2.0.0.pre.2
128
112
  - !ruby/object:Gem::Dependency
129
113
  name: rb-fsevent
130
114
  requirement: !ruby/object:Gem::Requirement
@@ -176,12 +160,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
160
  required_rubygems_version: !ruby/object:Gem::Requirement
177
161
  none: false
178
162
  requirements:
179
- - - ! '>'
163
+ - - ! '>='
180
164
  - !ruby/object:Gem::Version
181
- version: 1.3.1
165
+ version: '0'
166
+ segments:
167
+ - 0
168
+ hash: -4209518431244443781
182
169
  requirements: []
183
170
  rubyforge_project: hashy_db
184
- rubygems_version: 1.8.24
171
+ rubygems_version: 1.8.25
185
172
  signing_key:
186
173
  specification_version: 3
187
174
  summary: Ruby library to interact with in-memory hash database collections