active_remote 2.2.0 → 2.3.0

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
2
  SHA1:
3
- metadata.gz: ad233ac94027246310c94addc5e595b1cb6d25fb
4
- data.tar.gz: 0a1985fd4e52f98fb757fccdb04ccd097ee4abd4
3
+ metadata.gz: c89356033a37c579df65b431907bfdff0754d560
4
+ data.tar.gz: 3c31cbc7d4f0ac128112374a4baf7fe847d18adf
5
5
  SHA512:
6
- metadata.gz: 7dabce988979749626a43fa3ddcfbaa2df930f8c70e57c172e6a89c7390d9ab11e47def151c2b7773cf486572b719affcb41e329e0aca7e40a00a16389c6172c
7
- data.tar.gz: 9c57148a75afc5dd51f5ec5a6d31e96c446888153099c38cc970a2d04a57431a194022fcd88a21d057c319e11f5d20d6e6563b4b5f87cf8b4fef2af1a72202ca
6
+ metadata.gz: 96e1753ea1f51bbe1a64bc40dc39c76d9cb35f2dd27be42cfecb3b4628c8953819fe590b1c480439db6422208e2bad84dfa3913c230d054b1e7af1b209fc16d5
7
+ data.tar.gz: 300112bd7a7cb192297ef6f668d7366f2d9d6acd2ab9f0de377ad75ac1ca8d893e1d46b15363e8cc023f691713441e4c62c671f38663ce01c8f4ef1084edd986
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --order rand
2
- --format RSpec::Pride
2
+ --require rspec/pride
3
+ --format PrideFormatter
@@ -26,12 +26,11 @@ Gem::Specification.new do |s|
26
26
  ##
27
27
  # Development Dependencies
28
28
  #
29
- s.add_development_dependency "better_receive"
30
29
  s.add_development_dependency "rake"
31
- s.add_development_dependency "rspec"
30
+ s.add_development_dependency "rspec", ">= 3.3.0"
32
31
  s.add_development_dependency "rspec-its"
33
- s.add_development_dependency "rspec-pride"
32
+ s.add_development_dependency "rspec-pride", ">= 3.1.0"
34
33
  s.add_development_dependency "pry"
35
- s.add_development_dependency "protobuf-rspec", ">= 1.0"
34
+ s.add_development_dependency "protobuf-rspec", ">= 1.1.2"
36
35
  s.add_development_dependency "simplecov"
37
36
  end
@@ -202,6 +202,22 @@ module ActiveRemote
202
202
  return ! has_errors?
203
203
  end
204
204
 
205
+ # Updates a single attribute and saves the record.
206
+ # This is especially useful for boolean flags on existing records. Also note that
207
+ #
208
+ # * Validation is skipped.
209
+ # * Callbacks are invoked.
210
+ # * Updates all the attributes that are dirty in this object.
211
+ #
212
+ # This method raises an ActiveRemote::ReadOnlyRemoteRecord if the
213
+ # attribute is marked as readonly.
214
+ def update_attribute(name, value)
215
+ raise ReadOnlyRemoteRecord if readonly?
216
+ name = name.to_s
217
+ send("#{name}=", value)
218
+ save(:validate => false)
219
+ end
220
+
205
221
  # Updates the attributes of the remote record from the passed-in hash and
206
222
  # saves the remote record. If the object is invalid, it will have error
207
223
  # messages and false will be returned.
@@ -210,6 +226,7 @@ module ActiveRemote
210
226
  assign_attributes(attributes)
211
227
  save
212
228
  end
229
+ alias_method :update, :update_attributes
213
230
 
214
231
  # Updates the attributes of the remote record from the passed-in hash and
215
232
  # saves the remote record. If the object is invalid, an
@@ -219,13 +236,14 @@ module ActiveRemote
219
236
  assign_attributes(attributes)
220
237
  save!
221
238
  end
239
+ alias_method :update!, :update_attributes!
222
240
 
223
241
  private
224
242
 
225
243
  # Handles creating a remote object and serializing it's attributes and
226
244
  # errors from the response.
227
245
  #
228
- def create
246
+ def remote_create
229
247
  run_callbacks :create do
230
248
  # Use the getter here so we get the type casting.
231
249
  new_attributes = attributes
@@ -247,14 +265,14 @@ module ActiveRemote
247
265
  #
248
266
  def create_or_update(*args)
249
267
  raise ReadOnlyRemoteRecord if readonly?
250
- new_record? ? create : update(*args)
268
+ new_record? ? remote_create : remote_update(*args)
251
269
  end
252
270
 
253
271
  # Handles updating a remote object and serializing it's attributes and
254
272
  # errors from the response. Only attributes with the given attribute names
255
273
  # (plus :guid) will be updated. Defaults to all attributes.
256
274
  #
257
- def update(attribute_names = @attributes.keys)
275
+ def remote_update(attribute_names = @attributes.keys)
258
276
  run_callbacks :update do
259
277
  # Use the getter here so we get the type casting.
260
278
  updated_attributes = attributes
@@ -134,9 +134,7 @@ module ActiveRemote
134
134
  # Reload this record from the remote service.
135
135
  #
136
136
  def reload
137
- response = self.class.find(scope_key_hash)
138
-
139
- fresh_object = self.class.instantiate(response.to_hash)
137
+ fresh_object = self.class.find(scope_key_hash)
140
138
  @attributes.update(fresh_object.instance_variable_get('@attributes'))
141
139
  end
142
140
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveRemote
2
- VERSION = "2.2.0"
2
+ VERSION = "2.3.0"
3
3
  end
@@ -47,18 +47,18 @@ describe ActiveRemote::Association do
47
47
  end
48
48
 
49
49
  context 'when user_guid doesnt exist on model 'do
50
- before { allow(subject).to receive(:respond_to?).with("user_guid").and_return(false) }
50
+ before { allow(subject.class).to receive_message_chain(:public_instance_methods, :include?).with(:user_guid).and_return(false) }
51
51
 
52
52
  it 'raises an error' do
53
- expect {subject.user}.to raise_error
53
+ expect {subject.user}.to raise_error(::RuntimeError, /Could not find attribute/)
54
54
  end
55
55
  end
56
56
 
57
57
  context 'when user_guid doesnt exist on associated model 'do
58
- before { Author.stub_chain(:public_instance_methods, :include?).with(:user_guid).and_return(false) }
58
+ before { allow(Author).to receive_message_chain(:public_instance_methods, :include?).with(:user_guid).and_return(false) }
59
59
 
60
60
  it 'raises an error' do
61
- expect {subject.user}.to raise_error
61
+ expect {subject.user}.to raise_error(::RuntimeError, /Could not find attribute/)
62
62
  end
63
63
  end
64
64
  end
@@ -154,15 +154,15 @@ describe ActiveRemote::Association do
154
154
  before { allow(subject).to receive(:respond_to?).with("user_guid").and_return(false) }
155
155
 
156
156
  it 'raises an error' do
157
- expect {subject.user_posts}.to raise_error
157
+ expect {subject.user_posts}.to raise_error(::ActiveAttr::UnknownAttributeError)
158
158
  end
159
159
  end
160
160
 
161
161
  context 'when user_guid doesnt exist on associated model 'do
162
- before { Post.stub_chain(:public_instance_methods, :include?).with(:user_guid).and_return(false) }
162
+ before { allow(Post).to receive_message_chain(:public_instance_methods, :include?).with(:user_guid).and_return(false) }
163
163
 
164
164
  it 'raises an error' do
165
- expect {subject.user_posts}.to raise_error
165
+ expect {subject.user_posts}.to raise_error(::RuntimeError, /Could not find attribute/)
166
166
  end
167
167
  end
168
168
  end
@@ -237,15 +237,15 @@ describe ActiveRemote::Association do
237
237
  before { allow(subject).to receive(:respond_to?).with("user_guid").and_return(false) }
238
238
 
239
239
  it 'raises an error' do
240
- expect {subject.chief_editor}.to raise_error
240
+ expect {subject.chief_editor}.to raise_error(::ActiveAttr::UnknownAttributeError)
241
241
  end
242
242
  end
243
243
 
244
244
  context 'when user_guid doesnt exist on associated model 'do
245
- before { Author.stub_chain(:public_instance_methods, :include?).with(:user_guid).and_return(false) }
245
+ before { allow(Author).to receive_message_chain(:public_instance_methods, :include?).with(:user_guid).and_return(false) }
246
246
 
247
247
  it 'raises an error' do
248
- expect {subject.chief_editor}.to raise_error
248
+ expect {subject.chief_editor}.to raise_error(::RuntimeError, /Could not find attribute/)
249
249
  end
250
250
  end
251
251
  end
@@ -6,15 +6,15 @@ describe ActiveRemote::Bulk do
6
6
  let(:response) { double(:response, :records => []) }
7
7
  let(:rpc) { ::ActiveRemote::RPCAdapters::ProtobufAdapter.new(::Tag.service_class) }
8
8
 
9
- before { rpc.better_stub(:execute).and_return(response) }
10
- before { ::Tag.better_stub(:rpc).and_return(rpc) }
9
+ before { allow(rpc).to receive(:execute).and_return(response) }
10
+ before { allow(::Tag).to receive(:rpc).and_return(rpc) }
11
11
 
12
12
  context "given an empty array" do
13
13
  let(:parsed_records) { { :records => records } }
14
14
  let(:records) { [] }
15
15
 
16
16
  it "calls #{bulk_method} with parsed records" do
17
- rpc.better_receive(:execute).with(bulk_method, parsed_records)
17
+ expect(rpc).to receive(:execute).with(bulk_method, parsed_records)
18
18
  Tag.__send__(bulk_method, records)
19
19
  end
20
20
  end
@@ -25,7 +25,7 @@ describe ActiveRemote::Bulk do
25
25
  let(:records) { [ hash_record ] }
26
26
 
27
27
  it "calls #{bulk_method} with parsed records" do
28
- rpc.better_receive(:execute).with(bulk_method, parsed_records)
28
+ expect(rpc).to receive(:execute).with(bulk_method, parsed_records)
29
29
  Tag.__send__(bulk_method, records)
30
30
  end
31
31
  end
@@ -36,7 +36,7 @@ describe ActiveRemote::Bulk do
36
36
  let(:remote_record) { double(:remote, :attributes => {}) }
37
37
 
38
38
  it "calls #{bulk_method} with parsed records" do
39
- rpc.better_receive(:execute).with(bulk_method, parsed_records)
39
+ expect(rpc).to receive(:execute).with(bulk_method, parsed_records)
40
40
  Tag.__send__(bulk_method, records)
41
41
  end
42
42
  end
@@ -47,7 +47,7 @@ describe ActiveRemote::Bulk do
47
47
  let(:tags) { Generic::Remote::Tags.new(:records => [ tag ]) }
48
48
 
49
49
  it "calls #{bulk_method} with parsed records" do
50
- rpc.better_receive(:execute).with(bulk_method, parsed_records)
50
+ expect(rpc).to receive(:execute).with(bulk_method, parsed_records)
51
51
  Tag.__send__(bulk_method, tags)
52
52
  end
53
53
  end
@@ -47,7 +47,7 @@ describe ActiveRemote::Dirty do
47
47
  subject { Post.new(:name => 'foo') }
48
48
 
49
49
  before {
50
- allow(Post).to receive(:find).and_return({})
50
+ allow(Post).to receive(:find).and_return(Post.new(:name => 'foo'))
51
51
  subject.reload
52
52
  }
53
53
 
@@ -2,13 +2,13 @@ require 'spec_helper'
2
2
 
3
3
  describe ActiveRemote::Persistence do
4
4
  let(:rpc) { Tag.new }
5
+ let(:response_without_errors) { HashWithIndifferentAccess.new(:errors => []) }
5
6
 
6
7
  subject { Tag.new }
7
8
 
8
9
  before {
9
- rpc.better_stub(:execute).and_return(HashWithIndifferentAccess.new)
10
- allow_any_instance_of(HashWithIndifferentAccess).to receive(:errors).and_return([])
11
- Tag.better_stub(:rpc).and_return(rpc)
10
+ allow(rpc).to receive(:execute).and_return(response_without_errors)
11
+ allow(Tag).to receive(:rpc).and_return(rpc)
12
12
  }
13
13
  after { allow(Tag).to receive(:rpc).and_call_original }
14
14
 
@@ -61,7 +61,7 @@ describe ActiveRemote::Persistence do
61
61
  let(:error) { Generic::Error.new(:field => 'name', :message => 'Boom!') }
62
62
  let(:response) { Generic::Remote::Tag.new(:errors => [ error ]) }
63
63
 
64
- before { rpc.better_stub(:execute).and_return(response) }
64
+ before { allow(rpc).to receive(:execute).and_return(response) }
65
65
 
66
66
  it "adds the errors to the record" do
67
67
  subject.delete
@@ -84,7 +84,7 @@ describe ActiveRemote::Persistence do
84
84
  let(:error) { Generic::Error.new(:field => 'name', :message => 'Boom!') }
85
85
  let(:response) { Generic::Remote::Tag.new(:errors => [ error ]) }
86
86
 
87
- before { rpc.better_stub(:execute).and_return(response) }
87
+ before { allow(rpc).to receive(:execute).and_return(response) }
88
88
 
89
89
  it "raises an exception" do
90
90
  expect { subject.delete! }.to raise_error(ActiveRemote::ActiveRemoteError)
@@ -109,7 +109,7 @@ describe ActiveRemote::Persistence do
109
109
  let(:error) { Generic::Error.new(:field => 'name', :message => 'Boom!') }
110
110
  let(:response) { Generic::Remote::Tag.new(:errors => [ error ]) }
111
111
 
112
- before { rpc.better_stub(:execute).and_return(response) }
112
+ before { allow(rpc).to receive(:execute).and_return(response) }
113
113
 
114
114
  it "adds the errors to the record" do
115
115
  subject.destroy
@@ -132,7 +132,7 @@ describe ActiveRemote::Persistence do
132
132
  let(:error) { Generic::Error.new(:field => 'name', :message => 'Boom!') }
133
133
  let(:response) { Generic::Remote::Tag.new(:errors => [ error ]) }
134
134
 
135
- before { rpc.better_stub(:execute).and_return(response) }
135
+ before { allow(rpc).to receive(:execute).and_return(response) }
136
136
 
137
137
  it "raises an exception" do
138
138
  expect { subject.destroy! }.to raise_error(ActiveRemote::ActiveRemoteError)
@@ -199,6 +199,7 @@ describe ActiveRemote::Persistence do
199
199
 
200
200
  describe "#save" do
201
201
  it "runs save callbacks" do
202
+ allow(subject).to receive(:run_callbacks).with(:validation).and_return(true)
202
203
  expect(subject).to receive(:run_callbacks).with(:save)
203
204
  subject.save
204
205
  end
@@ -226,14 +227,14 @@ describe ActiveRemote::Persistence do
226
227
 
227
228
  context "when the record is saved" do
228
229
  it "returns true" do
229
- subject.better_stub(:has_errors?) { false }
230
+ allow(subject).to receive(:has_errors?) { false }
230
231
  expect(subject.save).to be_truthy
231
232
  end
232
233
  end
233
234
 
234
235
  context "when the record is not saved" do
235
236
  it "returns false" do
236
- subject.better_stub(:has_errors?) { true }
237
+ allow(subject).to receive(:has_errors?) { true }
237
238
  expect(subject.save).to be_falsey
238
239
  end
239
240
  end
@@ -282,6 +283,36 @@ describe ActiveRemote::Persistence do
282
283
  end
283
284
  end
284
285
 
286
+ describe "#update_attribute" do
287
+ let(:tag) { Tag.allocate.instantiate({:guid => "123"}) }
288
+
289
+ before { allow(Tag.rpc).to receive(:execute).and_return(HashWithIndifferentAccess.new) }
290
+ after { allow(Tag.rpc).to receive(:execute).and_call_original }
291
+
292
+ it "runs update callbacks" do
293
+ expect(tag).to receive(:after_update_callback)
294
+ tag.update_attribute(:name, "foo")
295
+ end
296
+
297
+ it "updates a remote record" do
298
+ expect(Tag.rpc).to receive(:execute).with(:update, tag.scope_key_hash)
299
+ tag.update_attribute(:name, "foo")
300
+ end
301
+
302
+ before { allow(subject).to receive(:save) }
303
+ after { allow(subject).to receive(:save).and_call_original }
304
+
305
+ it "assigns new attributes" do
306
+ expect(subject).to receive(:name=).with("foo")
307
+ subject.update_attribute(:name, "foo")
308
+ end
309
+
310
+ it "saves the record" do
311
+ expect(subject).to receive(:save)
312
+ subject.update_attribute(:name, "foo")
313
+ end
314
+ end
315
+
285
316
  describe "#update_attributes" do
286
317
  let(:attributes) { HashWithIndifferentAccess.new(:name => 'bar') }
287
318
  let(:tag) { Tag.allocate.instantiate({:guid => "123"}) }
@@ -9,8 +9,8 @@ describe ActiveRemote::RPC do
9
9
 
10
10
  let(:rpc) { ::ActiveRemote::RPCAdapters::ProtobufAdapter.new(::Tag.service_class) }
11
11
 
12
- before { rpc.better_stub(:execute).and_return(response) }
13
- before { ::Tag.better_stub(:rpc).and_return(rpc) }
12
+ before { allow(rpc).to receive(:execute).and_return(response) }
13
+ before { allow(::Tag).to receive(:rpc).and_return(rpc) }
14
14
 
15
15
  it "calls the given RPC method" do
16
16
  expect(Tag.rpc).to receive(:execute).with(:remote_method, args)
@@ -17,7 +17,7 @@ describe ActiveRemote::ScopeKeys do
17
17
  end
18
18
 
19
19
  describe ".scope_keys" do
20
- before { Tag.better_stub(:_scope_keys).and_return(_scope_keys) }
20
+ before { allow(Tag).to receive(:_scope_keys).and_return(_scope_keys) }
21
21
 
22
22
  it "combines primary key with _scope_keys" do
23
23
  expect(Tag.scope_keys).to eq(['guid'] + _scope_keys)
@@ -33,7 +33,7 @@ describe ActiveRemote::ScopeKeys do
33
33
  describe "#scope_key_hash" do
34
34
  let(:scope_key_hash) { { 'guid' => 'TAG-123', 'user_guid' => 'USR-123' } }
35
35
 
36
- before { tag.better_stub(:scope_keys).and_return(scope_keys) }
36
+ before { allow(tag).to receive(:scope_keys).and_return(scope_keys) }
37
37
 
38
38
  it "returns a attribute hash of scope_keys" do
39
39
  expect(tag.scope_key_hash).to eq(scope_key_hash)
@@ -43,8 +43,8 @@ describe ActiveRemote::Search do
43
43
  let(:args) { Hash.new }
44
44
  let(:rpc) { ::ActiveRemote::RPCAdapters::ProtobufAdapter.new(::Tag.service_class) }
45
45
 
46
- before { rpc.better_stub(:execute).and_return(response) }
47
- before { ::Tag.better_stub(:rpc).and_return(rpc) }
46
+ before { allow(rpc).to receive(:execute).and_return(response) }
47
+ before { allow(::Tag).to receive(:rpc).and_return(rpc) }
48
48
 
49
49
  it "searches with the given args" do
50
50
  expect(Tag.rpc).to receive(:execute).with(:search, args)
@@ -60,7 +60,7 @@ describe ActiveRemote::Search do
60
60
  let(:request) { double(:request) }
61
61
 
62
62
  it "raises an exception" do
63
- expect { described_class.search(request) }.to raise_exception
63
+ expect { Tag.search(request) }.to raise_error(::RuntimeError, /Invalid parameter/)
64
64
  end
65
65
  end
66
66
  end
@@ -72,7 +72,7 @@ describe ActiveRemote::Search do
72
72
 
73
73
  before {
74
74
  allow(rpc).to receive(:execute).and_return(response)
75
- Tag.better_stub(:rpc).and_return(rpc)
75
+ allow(Tag).to receive(:rpc).and_return(rpc)
76
76
  }
77
77
 
78
78
  it "runs callbacks" do
@@ -92,10 +92,10 @@ describe ActiveRemote::Search do
92
92
 
93
93
  subject { Tag.new(args) }
94
94
 
95
- before { Tag.better_stub(:find).and_return(attributes) }
95
+ before { allow(Tag).to receive(:find).and_return(Tag.new(attributes)) }
96
96
 
97
97
  it "reloads the record" do
98
- Tag.better_receive(:find).with(subject.scope_key_hash)
98
+ expect(Tag).to receive(:find).with(subject.scope_key_hash)
99
99
  subject.reload
100
100
  end
101
101
 
@@ -39,7 +39,7 @@ describe ActiveRemote::Serialization do
39
39
  let(:response) { Generic::Remote::Tag.new(:errors => [ error ]) }
40
40
 
41
41
  it "adds errors to the active remote object" do
42
- subject.better_receive(:add_errors).with(response.errors)
42
+ expect(subject).to receive(:add_errors).with(response.errors)
43
43
  subject.add_errors_from_response(response)
44
44
  end
45
45
  end
@@ -48,7 +48,7 @@ describe ActiveRemote::Serialization do
48
48
  let(:response_without_errors) { double(:response_without_errors) }
49
49
 
50
50
  it "does not add errors" do
51
- subject.better_not_receive(:add_errors)
51
+ expect(subject).to_not receive(:add_errors)
52
52
  subject.add_errors_from_response(response_without_errors)
53
53
  end
54
54
  end
data/spec/spec_helper.rb CHANGED
@@ -17,4 +17,13 @@ require 'support/models'
17
17
 
18
18
  RSpec.configure do |config|
19
19
  config.include Protobuf::RSpec::Helpers
20
+
21
+ # Turn deprecation warnings into errors with full backtrace.
22
+ config.raise_errors_for_deprecations!
23
+
24
+ # Verifies the existance of any stubbed methods, replaces better_receive and better_stub
25
+ # https://www.relishapp.com/rspec/rspec-mocks/v/3-1/docs/verifying-doubles/partial-doubles
26
+ config.mock_with :rspec do |mocks|
27
+ mocks.verify_partial_doubles = true
28
+ end
20
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_remote
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Hutchison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-14 00:00:00.000000000 Z
11
+ date: 2016-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_attr
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
- - !ruby/object:Gem::Dependency
56
- name: better_receive
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rake
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +72,14 @@ dependencies:
86
72
  requirements:
87
73
  - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: '0'
75
+ version: 3.3.0
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: '0'
82
+ version: 3.3.0
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: rspec-its
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +100,14 @@ dependencies:
114
100
  requirements:
115
101
  - - ">="
116
102
  - !ruby/object:Gem::Version
117
- version: '0'
103
+ version: 3.1.0
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - ">="
123
109
  - !ruby/object:Gem::Version
124
- version: '0'
110
+ version: 3.1.0
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: pry
127
113
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +128,14 @@ dependencies:
142
128
  requirements:
143
129
  - - ">="
144
130
  - !ruby/object:Gem::Version
145
- version: '1.0'
131
+ version: 1.1.2
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - ">="
151
137
  - !ruby/object:Gem::Version
152
- version: '1.0'
138
+ version: 1.1.2
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: simplecov
155
141
  requirement: !ruby/object:Gem::Requirement
@@ -264,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
264
250
  version: '0'
265
251
  requirements: []
266
252
  rubyforge_project:
267
- rubygems_version: 2.4.6
253
+ rubygems_version: 2.5.1
268
254
  signing_key:
269
255
  specification_version: 4
270
256
  summary: Active Record for your platform