nose 0.1.0pre5 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8ed212e03d78e2d1915732350ff36867d08bb269
4
- data.tar.gz: be5652bafa272b3f4ad5ded93a0ef1c3cbd261bf
2
+ SHA256:
3
+ metadata.gz: 4104b913e3d80c2b02480929ab4689cf58fa16801214e064c8e6fb5562507997
4
+ data.tar.gz: 65da94fc536524e82c9d0b6c5f0b21dbb09ec9ce54a8735b8368c1afde0e2df3
5
5
  SHA512:
6
- metadata.gz: 448210b5c1423d10138c0fc2693d7d0a2728ac84a13d20b07d2365fe48d34a7e7c36af81535d53d0cf3ee577f350791f02e5a7eda8e473817b5a57699ac42875
7
- data.tar.gz: d2ae70342d7782474c201d8adddac1eb444f14e216994ed8ea2e5be0684a3dc0e9fdaed8d61ef945eca5cf210b2e36767423d35a9a15fc96540d441ef9fafbbe
6
+ metadata.gz: b763ec409386c46522e090e8e9466dbb5e32b9b01f5bea23e20b6c6a739dd0a89ff91fa5b2cbae1d3719a5a90eba1b7975517e5851106eb1891ec8a722d5dce9
7
+ data.tar.gz: 39a4647647c7df4cd5db4f58a74e3aa1ba5691ae069d1788844b419d20c6c7276448408c89902203ebaf2c0ddb4ca73303153c3c041dd4375f58b0d8c63b26fb
@@ -13,7 +13,7 @@ module NoSE
13
13
  end
14
14
 
15
15
  # The cost of filtering intermediate results
16
- # @return [Fixnum]
16
+ # @return [Integer]
17
17
  def filter_cost(_step)
18
18
  # Assume this has no cost and the cost is captured in the fact that we
19
19
  # have to retrieve more data earlier. All this does is skip records.
@@ -21,14 +21,14 @@ module NoSE
21
21
  end
22
22
 
23
23
  # The cost of limiting a result set
24
- # @return [Fixnum]
24
+ # @return [Integer]
25
25
  def limit_cost(_step)
26
26
  # This is basically free since we just discard data
27
27
  0
28
28
  end
29
29
 
30
30
  # The cost of sorting a set of results
31
- # @return [Fixnum]
31
+ # @return [Integer]
32
32
  def sort_cost(_step)
33
33
  # TODO: Find some estimate of sort cost
34
34
  # This could be partially captured by the fact that sort + limit
@@ -37,25 +37,25 @@ module NoSE
37
37
  end
38
38
 
39
39
  # The cost of performing a lookup via an index
40
- # @return [Fixnum]
40
+ # @return [Integer]
41
41
  def index_lookup_cost(_step)
42
42
  fail NotImplementedError, 'Must be implemented in a subclass'
43
43
  end
44
44
 
45
45
  # The cost of performing a deletion from an index
46
- # @return [Fixnum]
46
+ # @return [Integer]
47
47
  def delete_cost(_step)
48
48
  fail NotImplementedError, 'Must be implemented in a subclass'
49
49
  end
50
50
 
51
51
  # The cost of performing an insert into an index
52
- # @return [Fixnum]
52
+ # @return [Integer]
53
53
  def insert_cost(_step)
54
54
  fail NotImplementedError, 'Must be implemented in a subclass'
55
55
  end
56
56
 
57
57
  # This is here for debugging purposes because we need a cost
58
- # @return [Fixnum]
58
+ # @return [Integer]
59
59
  def pruned_cost(_step)
60
60
  0
61
61
  end
@@ -7,7 +7,8 @@ module NoSE
7
7
  :entries, :entry_size, :size, :hash_count, :per_hash_count,
8
8
  :graph
9
9
 
10
- def initialize(hash_fields, order_fields, extra, graph, saved_key = nil)
10
+ def initialize(hash_fields, order_fields, extra, graph,
11
+ saved_key: nil)
11
12
  order_set = order_fields.to_set
12
13
  @hash_fields = hash_fields.to_set
13
14
  @order_fields = order_fields.delete_if { |e| hash_fields.include? e }
@@ -189,7 +190,7 @@ module NoSE
189
190
  # @return [Index]
190
191
  def simple_index
191
192
  Index.new [id_field], [], fields.values - [id_field],
192
- QueryGraph::Graph.from_path([id_field]), name
193
+ QueryGraph::Graph.from_path([id_field]), saved_key: name
193
194
  end
194
195
  end
195
196
 
@@ -35,7 +35,7 @@ module NoSE
35
35
  alias eql? ==
36
36
 
37
37
  # The hash is based on the name of the entity and its fields
38
- # @return [Fixnum]
38
+ # @return [Integer]
39
39
  def hash
40
40
  @hash ||= @name.hash
41
41
  end
@@ -34,7 +34,7 @@ module NoSE
34
34
  alias eql? ==
35
35
 
36
36
  # Hash by entity and name
37
- # @return [Fixnum]
37
+ # @return [Integer]
38
38
  def hash
39
39
  @hash ||= id.hash
40
40
  end
@@ -104,8 +104,20 @@ module NoSE
104
104
  method_name = child_class.name.sub(method_regex, '\1')
105
105
  EntityDSL.send :define_method, method_name,
106
106
  (proc do |*args|
107
- send(:instance_variable_get, :@entity).send \
108
- :<<, child_class.new(*args)
107
+ entity = send :instance_variable_get, :@entity
108
+
109
+ # XXX This is necessary since passing a hash of
110
+ # keyword arguments as the last argument is
111
+ # now deprecated
112
+ if args.last.is_a? Hash
113
+ hash_args = args.last
114
+ args.pop
115
+ else
116
+ hash_args = {}
117
+ end
118
+
119
+ field = child_class.new(*args, **hash_args)
120
+ entity.send :<<, field
109
121
  end)
110
122
  end
111
123
  private_class_method :add_field_method
@@ -122,13 +134,13 @@ module NoSE
122
134
  end
123
135
 
124
136
  # Parse an Integer from the provided parameter
125
- # @return [Fixnum]
137
+ # @return [Integer]
126
138
  def self.value_from_string(string)
127
139
  string.to_i
128
140
  end
129
141
 
130
142
  # Random numbers up to the given size
131
- # @return [Fixnum]
143
+ # @return [Integer]
132
144
  def random_value
133
145
  rand(@cardinality)
134
146
  end
@@ -167,8 +179,7 @@ module NoSE
167
179
 
168
180
  # Field holding a float
169
181
  class FloatField < Field
170
- # Any Fixnum is a valid float
171
- TYPE = Fixnum
182
+ TYPE = Float
172
183
 
173
184
  def initialize(name, **options)
174
185
  super(name, 8, **options)
@@ -203,7 +214,7 @@ module NoSE
203
214
  # A random string of the correct length
204
215
  # @return [String]
205
216
  def random_value
206
- Faker::Lorem.characters(@size)
217
+ Faker::Lorem.characters(number: @size)
207
218
  end
208
219
  end
209
220
 
@@ -237,7 +248,7 @@ module NoSE
237
248
  next_year = DateTime.now.next_year
238
249
  next_year = next_year.new_offset(Rational(0, 24))
239
250
 
240
- Faker::Time.between prev_year, next_year
251
+ Faker::Time.between_dates from: prev_year, to: next_year
241
252
  end
242
253
  end
243
254
 
@@ -284,7 +295,7 @@ module NoSE
284
295
 
285
296
  # The number of entities associated with the foreign key,
286
297
  # or a manually set cardinality
287
- # @return [Fixnum]
298
+ # @return [Integer]
288
299
  def cardinality
289
300
  @entity.count || super
290
301
  end
@@ -72,7 +72,7 @@ module NoSE
72
72
  end
73
73
 
74
74
  # Calculate the cost of executing this step in the plan
75
- # @return [Fixnum]
75
+ # @return [Integer]
76
76
  def calculate_cost(cost_model)
77
77
  @cost = cost_model.method((subtype_name + '_cost').to_sym).call self
78
78
  end
@@ -173,7 +173,7 @@ module NoSE
173
173
  end
174
174
 
175
175
  # The estimated cost of executing this plan
176
- # @return [Fixnum]
176
+ # @return [Integer]
177
177
  def cost
178
178
  costs = @steps.map(&:cost) + @update_steps.map(&:cost)
179
179
  costs += @query_plans.map(&:steps).flatten.map(&:cost)
@@ -171,7 +171,7 @@ module NoSE
171
171
  end
172
172
 
173
173
  # The weight of this query for a given workload
174
- # @return [Fixnum]
174
+ # @return [Integer]
175
175
  def weight
176
176
  return 1 if @workload.nil?
177
177
 
@@ -50,7 +50,7 @@ module NoSE
50
50
  end
51
51
 
52
52
  # The weight of this query for a given workload
53
- # @return [Fixnum]
53
+ # @return [Integer]
54
54
  def weight
55
55
  return 1 if @workload.nil?
56
56
 
@@ -145,13 +145,13 @@ module NoSE
145
145
  end
146
146
 
147
147
  # The cost of performing the update on this index
148
- # @return [Fixnum]
148
+ # @return [Integer]
149
149
  def update_cost
150
150
  @update_steps.sum_by(&:cost)
151
151
  end
152
152
 
153
153
  # The cost is the sum of all the query costs plus the update costs
154
- # @return [Fixnum]
154
+ # @return [Integer]
155
155
  def cost
156
156
  @query_plans.sum_by(&:cost) + update_cost
157
157
  end
@@ -353,7 +353,7 @@ module NoSE
353
353
  end
354
354
 
355
355
  # Return the next valid random number
356
- # @return [Fixnum]
356
+ # @return [Integer]
357
357
  def rand
358
358
  if @valid
359
359
  @valid = false
@@ -367,7 +367,7 @@ module NoSE
367
367
  end
368
368
 
369
369
  # Return a random number for the given distribution
370
- # @return [Array<Fixnum>]
370
+ # @return [Array<Integer>]
371
371
  def self.gaussian(mean, stddev)
372
372
  theta = 2 * Math::PI * rand
373
373
  rho = Math.sqrt(-2 * Math.log(1 - rand))
@@ -39,7 +39,8 @@ module NoSE
39
39
  dsl = IndexDSL.new(self)
40
40
  dsl.instance_eval(&block) if block_given?
41
41
  index = Index.new dsl.hash_fields, dsl.order_fields, dsl.extra,
42
- QueryGraph::Graph.from_path(dsl.path_keys), key
42
+ QueryGraph::Graph.from_path(dsl.path_keys),
43
+ saved_key: key
43
44
  @indexes[index.key] = index
44
45
  end
45
46
 
@@ -88,7 +88,6 @@ module NoSE
88
88
 
89
89
  result.workload = @workload
90
90
  result.plans_from_trees trees
91
- result.cost_model = @cost_model
92
91
 
93
92
  # Select the relevant update plans
94
93
  update_plans = update_plans.values.flatten(1).select do |plan|
@@ -99,6 +98,7 @@ module NoSE
99
98
  end
100
99
  result.update_plans = update_plans
101
100
 
101
+ result.cost_model = @cost_model
102
102
  result.validate
103
103
 
104
104
  result
@@ -2,8 +2,9 @@
2
2
 
3
3
  require 'logging'
4
4
 
5
+ require 'mipper'
5
6
  begin
6
- require 'mipper'
7
+ require 'mipper/cbc'
7
8
  rescue LoadError
8
9
  # We can't use most search functionality, but it won't explode
9
10
  nil
@@ -114,7 +114,7 @@ module NoSE
114
114
 
115
115
  Index.new f.call(fragment['hash_fields']),
116
116
  f.call(fragment['order_fields']),
117
- f.call(fragment['extra']), graph, fragment['key']
117
+ f.call(fragment['extra']), graph, saved_key: fragment['key']
118
118
  end
119
119
  end
120
120
 
@@ -251,7 +251,7 @@ module NoSE
251
251
  property :cardinality, exec_context: :decorator
252
252
 
253
253
  # The estimated hash cardinality at this step in the plan
254
- # @return [Fixnum]
254
+ # @return [Integer]
255
255
  def hash_cardinality
256
256
  state = represented.instance_variable_get(:@state)
257
257
  state.hash_cardinality if state.is_a?(Plans::QueryState)
@@ -326,7 +326,7 @@ module NoSE
326
326
  property :type, exec_context: :decorator
327
327
 
328
328
  # The estimated cardinality of entities being updated
329
- # @return [Fixnum]
329
+ # @return [Integer]
330
330
  def cardinality
331
331
  state = represented.instance_variable_get(:@state)
332
332
  state.cardinality unless state.nil?
@@ -150,7 +150,7 @@ module Subtype
150
150
  # Convert camel case class names to an array
151
151
  # @return [Array<String>]
152
152
  def name_array(cls)
153
- frozen_name = cls.name
153
+ frozen_name = cls.name.dup
154
154
  frozen_name.gsub!(/^.*::/, '')
155
155
  frozen_name.gsub!('ID', 'Id')
156
156
  frozen_name.freeze
@@ -166,7 +166,7 @@ end
166
166
  # Simple helper class to facilitate cardinality estimates
167
167
  class Cardinality
168
168
  # Update the cardinality based on filtering implicit to the index
169
- # @return [Fixnum]
169
+ # @return [Integer]
170
170
  def self.filter(cardinality, eq_filter, range_filter)
171
171
  filtered = (range_filter.nil? ? 1.0 : 0.1) * cardinality
172
172
  filtered *= eq_filter.map do |field|
@@ -34,11 +34,11 @@ NoSE::Model.new do
34
34
  end) * 5_000
35
35
 
36
36
  HasOne 'player', 'sessions',
37
- 'Session' => 'Player'
37
+ {'Session' => 'Player'}
38
38
 
39
39
  HasOne 'server', 'sessions',
40
- 'Session' => 'Server'
40
+ {'Session' => 'Server'}
41
41
 
42
42
  HasOne 'session', 'states',
43
- 'PlayerState' => 'Session'
43
+ {'PlayerState' => 'Session'}
44
44
  end
@@ -26,7 +26,7 @@ NoSE::Model.new do
26
26
  end) * 10_000
27
27
 
28
28
  HasOne 'user', 'likes',
29
- 'likes' => 'users'
29
+ {'likes' => 'users'}
30
30
  HasOne 'item', 'likes',
31
- 'likes' => 'items'
31
+ {'likes' => 'items'}
32
32
  end
@@ -64,34 +64,34 @@ NoSE::Model.new do
64
64
  end) * 40_000
65
65
 
66
66
  HasOne 'region', 'users',
67
- 'users' => 'regions'
67
+ {'users' => 'regions'}
68
68
 
69
69
  HasOne 'seller', 'items_sold',
70
- 'items' => 'users'
70
+ {'items' => 'users'}
71
71
 
72
72
  HasOne 'category', 'items',
73
- 'items' => 'categories'
73
+ {'items' => 'categories'}
74
74
 
75
75
  HasOne 'user', 'bids',
76
- 'bids' => 'users'
76
+ {'bids' => 'users'}
77
77
 
78
78
  HasOne 'item', 'bids',
79
- 'bids' => 'items'
79
+ {'bids' => 'items'}
80
80
 
81
81
  HasOne 'from_user', 'comments_sent',
82
- 'comments' => 'users'
82
+ {'comments' => 'users'}
83
83
 
84
84
  HasOne 'to_user', 'comments_received',
85
- 'comments' => 'users'
85
+ {'comments' => 'users'}
86
86
 
87
87
  HasOne 'item', 'comments',
88
- 'comments' => 'items'
88
+ {'comments' => 'items'}
89
89
 
90
90
  HasOne 'buyer', 'bought_now',
91
- 'buynow' => 'users'
91
+ {'buynow' => 'users'}
92
92
 
93
93
  HasOne 'item', 'bought_now',
94
- 'buynow' => 'items'
94
+ {'buynow' => 'items'}
95
95
  end
96
96
 
97
97
  # rubocop:enable all
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nose
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0pre5
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Mior
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-03 00:00:00.000000000 Z
11
+ date: 2020-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faker
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.6.6
19
+ version: 2.3.0
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.6.0
22
+ version: 1.7.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 1.6.6
29
+ version: 2.3.0
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.6.0
32
+ version: 1.7.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: formatador
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -50,108 +50,108 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 2.7.0
53
+ version: 2.8.0
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 2.7.0
56
+ version: 2.8.0
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: 2.7.0
63
+ version: 2.8.0
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: 2.7.0
66
+ version: 2.8.0
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: logging
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: 2.1.0
73
+ version: 2.2.0
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: 2.1.0
76
+ version: 2.2.0
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 2.1.0
83
+ version: 2.2.0
84
84
  - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: 2.1.0
86
+ version: 2.2.0
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: mipper
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - "~>"
92
92
  - !ruby/object:Gem::Version
93
- version: 0.0.9
93
+ version: 0.1.0
94
94
  type: :runtime
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - "~>"
99
99
  - !ruby/object:Gem::Version
100
- version: 0.0.9
100
+ version: 0.1.0
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: parallel
103
103
  requirement: !ruby/object:Gem::Requirement
104
104
  requirements:
105
105
  - - "~>"
106
106
  - !ruby/object:Gem::Version
107
- version: 1.10.0
107
+ version: 1.17.0
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 1.10.0
110
+ version: 1.11.0
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.10.0
117
+ version: 1.17.0
118
118
  - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: 1.10.0
120
+ version: 1.11.0
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: parslet
123
123
  requirement: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: 1.7.1
127
+ version: 1.8.0
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 1.7.0
130
+ version: 1.8.0
131
131
  type: :runtime
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: 1.7.1
137
+ version: 1.8.0
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
- version: 1.7.0
140
+ version: 1.8.0
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: pg
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: 0.19.0
147
+ version: 0.20.0
148
148
  type: :runtime
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - "~>"
153
153
  - !ruby/object:Gem::Version
154
- version: 0.19.0
154
+ version: 0.20.0
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: pickup
157
157
  requirement: !ruby/object:Gem::Requirement
@@ -172,21 +172,21 @@ dependencies:
172
172
  requirements:
173
173
  - - "~>"
174
174
  - !ruby/object:Gem::Version
175
- version: 0.10.4
175
+ version: 0.12.2
176
176
  type: :runtime
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
- version: 0.10.4
182
+ version: 0.12.2
183
183
  - !ruby/object:Gem::Dependency
184
184
  name: rake
185
185
  requirement: !ruby/object:Gem::Requirement
186
186
  requirements:
187
187
  - - "~>"
188
188
  - !ruby/object:Gem::Version
189
- version: 12.0.0
189
+ version: 12.3.2
190
190
  - - ">="
191
191
  - !ruby/object:Gem::Version
192
192
  version: 12.0.0
@@ -196,7 +196,7 @@ dependencies:
196
196
  requirements:
197
197
  - - "~>"
198
198
  - !ruby/object:Gem::Version
199
- version: 12.0.0
199
+ version: 12.3.2
200
200
  - - ">="
201
201
  - !ruby/object:Gem::Version
202
202
  version: 12.0.0
@@ -266,27 +266,27 @@ dependencies:
266
266
  requirements:
267
267
  - - "~>"
268
268
  - !ruby/object:Gem::Version
269
- version: 4.41.0
269
+ version: 5.22.0
270
270
  - - ">="
271
271
  - !ruby/object:Gem::Version
272
- version: 4.41.0
272
+ version: 4.46.0
273
273
  type: :runtime
274
274
  prerelease: false
275
275
  version_requirements: !ruby/object:Gem::Requirement
276
276
  requirements:
277
277
  - - "~>"
278
278
  - !ruby/object:Gem::Version
279
- version: 4.41.0
279
+ version: 5.22.0
280
280
  - - ">="
281
281
  - !ruby/object:Gem::Version
282
- version: 4.41.0
282
+ version: 4.46.0
283
283
  - !ruby/object:Gem::Dependency
284
284
  name: smarter_csv
285
285
  requirement: !ruby/object:Gem::Requirement
286
286
  requirements:
287
287
  - - "~>"
288
288
  - !ruby/object:Gem::Version
289
- version: 1.1.1
289
+ version: 1.2.6
290
290
  - - ">="
291
291
  - !ruby/object:Gem::Version
292
292
  version: 1.1.0
@@ -296,7 +296,7 @@ dependencies:
296
296
  requirements:
297
297
  - - "~>"
298
298
  - !ruby/object:Gem::Version
299
- version: 1.1.1
299
+ version: 1.2.6
300
300
  - - ">="
301
301
  - !ruby/object:Gem::Version
302
302
  version: 1.1.0
@@ -306,7 +306,7 @@ dependencies:
306
306
  requirements:
307
307
  - - "~>"
308
308
  - !ruby/object:Gem::Version
309
- version: 3.1.0
309
+ version: 3.2.3
310
310
  - - ">="
311
311
  - !ruby/object:Gem::Version
312
312
  version: 3.1.0
@@ -316,7 +316,7 @@ dependencies:
316
316
  requirements:
317
317
  - - "~>"
318
318
  - !ruby/object:Gem::Version
319
- version: 3.1.0
319
+ version: 3.2.3
320
320
  - - ">="
321
321
  - !ruby/object:Gem::Version
322
322
  version: 3.1.0
@@ -326,7 +326,7 @@ dependencies:
326
326
  requirements:
327
327
  - - "~>"
328
328
  - !ruby/object:Gem::Version
329
- version: 2.4.0
329
+ version: 2.10.0
330
330
  - - ">="
331
331
  - !ruby/object:Gem::Version
332
332
  version: 2.4.0
@@ -336,7 +336,7 @@ dependencies:
336
336
  requirements:
337
337
  - - "~>"
338
338
  - !ruby/object:Gem::Version
339
- version: 2.4.0
339
+ version: 2.10.0
340
340
  - - ">="
341
341
  - !ruby/object:Gem::Version
342
342
  version: 2.4.0
@@ -346,14 +346,14 @@ dependencies:
346
346
  requirements:
347
347
  - - "~>"
348
348
  - !ruby/object:Gem::Version
349
- version: 0.10.0
349
+ version: 0.20.0
350
350
  type: :development
351
351
  prerelease: false
352
352
  version_requirements: !ruby/object:Gem::Requirement
353
353
  requirements:
354
354
  - - "~>"
355
355
  - !ruby/object:Gem::Version
356
- version: 0.10.0
356
+ version: 0.20.0
357
357
  - !ruby/object:Gem::Dependency
358
358
  name: memory_profiler
359
359
  requirement: !ruby/object:Gem::Requirement
@@ -374,7 +374,7 @@ dependencies:
374
374
  requirements:
375
375
  - - "~>"
376
376
  - !ruby/object:Gem::Version
377
- version: 3.4.2
377
+ version: 3.7.0
378
378
  - - ">="
379
379
  - !ruby/object:Gem::Version
380
380
  version: 3.4.0
@@ -384,7 +384,7 @@ dependencies:
384
384
  requirements:
385
385
  - - "~>"
386
386
  - !ruby/object:Gem::Version
387
- version: 3.4.2
387
+ version: 3.7.0
388
388
  - - ">="
389
389
  - !ruby/object:Gem::Version
390
390
  version: 3.4.0
@@ -394,14 +394,14 @@ dependencies:
394
394
  requirements:
395
395
  - - "~>"
396
396
  - !ruby/object:Gem::Version
397
- version: 0.9.0
397
+ version: 1.0.0
398
398
  type: :development
399
399
  prerelease: false
400
400
  version_requirements: !ruby/object:Gem::Requirement
401
401
  requirements:
402
402
  - - "~>"
403
403
  - !ruby/object:Gem::Version
404
- version: 0.9.0
404
+ version: 1.0.0
405
405
  - !ruby/object:Gem::Dependency
406
406
  name: pry-stack_explorer
407
407
  requirement: !ruby/object:Gem::Requirement
@@ -436,47 +436,47 @@ dependencies:
436
436
  requirements:
437
437
  - - "~>"
438
438
  - !ruby/object:Gem::Version
439
- version: 3.5.0
439
+ version: 3.8.0
440
440
  - - ">="
441
441
  - !ruby/object:Gem::Version
442
- version: 3.5.0
442
+ version: 3.8.0
443
443
  type: :development
444
444
  prerelease: false
445
445
  version_requirements: !ruby/object:Gem::Requirement
446
446
  requirements:
447
447
  - - "~>"
448
448
  - !ruby/object:Gem::Version
449
- version: 3.5.0
449
+ version: 3.8.0
450
450
  - - ">="
451
451
  - !ruby/object:Gem::Version
452
- version: 3.5.0
452
+ version: 3.8.0
453
453
  - !ruby/object:Gem::Dependency
454
454
  name: rspec-core
455
455
  requirement: !ruby/object:Gem::Requirement
456
456
  requirements:
457
457
  - - "~>"
458
458
  - !ruby/object:Gem::Version
459
- version: 3.5.4
459
+ version: 3.8.0
460
460
  - - ">="
461
461
  - !ruby/object:Gem::Version
462
- version: 3.5.0
462
+ version: 3.8.0
463
463
  type: :development
464
464
  prerelease: false
465
465
  version_requirements: !ruby/object:Gem::Requirement
466
466
  requirements:
467
467
  - - "~>"
468
468
  - !ruby/object:Gem::Version
469
- version: 3.5.4
469
+ version: 3.8.0
470
470
  - - ">="
471
471
  - !ruby/object:Gem::Version
472
- version: 3.5.0
472
+ version: 3.8.0
473
473
  - !ruby/object:Gem::Dependency
474
474
  name: rspec-collection_matchers
475
475
  requirement: !ruby/object:Gem::Requirement
476
476
  requirements:
477
477
  - - "~>"
478
478
  - !ruby/object:Gem::Version
479
- version: 1.1.2
479
+ version: 1.2.0
480
480
  - - ">="
481
481
  - !ruby/object:Gem::Version
482
482
  version: 1.1.0
@@ -486,7 +486,7 @@ dependencies:
486
486
  requirements:
487
487
  - - "~>"
488
488
  - !ruby/object:Gem::Version
489
- version: 1.1.2
489
+ version: 1.2.0
490
490
  - - ">="
491
491
  - !ruby/object:Gem::Version
492
492
  version: 1.1.0
@@ -496,14 +496,14 @@ dependencies:
496
496
  requirements:
497
497
  - - "~>"
498
498
  - !ruby/object:Gem::Version
499
- version: 0.16.2
499
+ version: 0.18.0
500
500
  type: :development
501
501
  prerelease: false
502
502
  version_requirements: !ruby/object:Gem::Requirement
503
503
  requirements:
504
504
  - - "~>"
505
505
  - !ruby/object:Gem::Version
506
- version: 0.16.2
506
+ version: 0.18.0
507
507
  - !ruby/object:Gem::Dependency
508
508
  name: scrutinizer-ocular
509
509
  requirement: !ruby/object:Gem::Requirement
@@ -530,14 +530,14 @@ dependencies:
530
530
  requirements:
531
531
  - - "~>"
532
532
  - !ruby/object:Gem::Version
533
- version: 0.12.0
533
+ version: 0.17.0
534
534
  type: :development
535
535
  prerelease: false
536
536
  version_requirements: !ruby/object:Gem::Requirement
537
537
  requirements:
538
538
  - - "~>"
539
539
  - !ruby/object:Gem::Version
540
- version: 0.12.0
540
+ version: 0.17.0
541
541
  - !ruby/object:Gem::Dependency
542
542
  name: yard
543
543
  requirement: !ruby/object:Gem::Requirement
@@ -572,21 +572,21 @@ dependencies:
572
572
  requirements:
573
573
  - - "~>"
574
574
  - !ruby/object:Gem::Version
575
- version: 0.4.5
575
+ version: 0.5.2
576
576
  type: :runtime
577
577
  prerelease: false
578
578
  version_requirements: !ruby/object:Gem::Requirement
579
579
  requirements:
580
580
  - - "~>"
581
581
  - !ruby/object:Gem::Version
582
- version: 0.4.5
582
+ version: 0.5.2
583
583
  - !ruby/object:Gem::Dependency
584
584
  name: pry-rescue
585
585
  requirement: !ruby/object:Gem::Requirement
586
586
  requirements:
587
587
  - - "~>"
588
588
  - !ruby/object:Gem::Version
589
- version: 1.4.4
589
+ version: 1.5.0
590
590
  - - ">="
591
591
  - !ruby/object:Gem::Version
592
592
  version: 1.4.0
@@ -596,7 +596,7 @@ dependencies:
596
596
  requirements:
597
597
  - - "~>"
598
598
  - !ruby/object:Gem::Version
599
- version: 1.4.4
599
+ version: 1.5.0
600
600
  - - ">="
601
601
  - !ruby/object:Gem::Version
602
602
  version: 1.4.0
@@ -606,14 +606,14 @@ dependencies:
606
606
  requirements:
607
607
  - - "~>"
608
608
  - !ruby/object:Gem::Version
609
- version: 0.7.2
609
+ version: 0.8.0
610
610
  type: :development
611
611
  prerelease: false
612
612
  version_requirements: !ruby/object:Gem::Requirement
613
613
  requirements:
614
614
  - - "~>"
615
615
  - !ruby/object:Gem::Version
616
- version: 0.7.2
616
+ version: 0.8.0
617
617
  description:
618
618
  email: mmior@uwaterloo.ca
619
619
  executables: []
@@ -702,12 +702,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
702
702
  version: '0'
703
703
  required_rubygems_version: !ruby/object:Gem::Requirement
704
704
  requirements:
705
- - - ">"
705
+ - - ">="
706
706
  - !ruby/object:Gem::Version
707
- version: 1.3.1
707
+ version: '0'
708
708
  requirements: []
709
- rubyforge_project:
710
- rubygems_version: 2.5.2
709
+ rubygems_version: 3.1.2
711
710
  signing_key:
712
711
  specification_version: 4
713
712
  summary: Schema design for NoSQL applications