active_remote 6.0.1 → 6.1.1

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
  SHA256:
3
- metadata.gz: dbbf0e9f3344ff1bf1586da95f3a70f2a49afcc6f81ff0642ca1c0120d784d8f
4
- data.tar.gz: cadeba3f0cf87bb7f72e45ba5dc51395aee9fe2750cd1dea62a50fbb435a9e29
3
+ metadata.gz: bdb21298cd873749af134696da01fba644129670b4669c6a1fdbdc8654e4be88
4
+ data.tar.gz: dd71899f2e75cf45ef44b5173b2ce22e8663961e6623df13131986fbcf260213
5
5
  SHA512:
6
- metadata.gz: 63e8d681b8eafedf7a6633485beead588b640b53b9abbb75930a05b22a946455454cafc76efaa321c8cac7664b79bbd60ae00cd03e16fed34055663d1276659e
7
- data.tar.gz: 8a31157b31ff4ca98c9636211f843df3052ae8f84f716a4d4da7007a7f13a5baf2ae2cb4ac0732ed1d77f3a72fc28a63acb4961d5ad144cf55af92fa270d8ff3
6
+ metadata.gz: 93e5714877bd7a534d1e750c77278fa4de3206d00a183dcb937513c0a60f101a68f0c0d0fed6b7ade36f86a7c389ef931b5fb1035f1b0cd1a61e1fa26929cb7d
7
+ data.tar.gz: 7859ca8fac202268fc2a7d4eeb1a848d9b4b7e253f2289de0984446b068eeaea519ede3e2117465d20b7776b49d80f014ca1785babaa5361f827a0cae58952ec
@@ -20,8 +20,8 @@ Gem::Specification.new do |s|
20
20
  ##
21
21
  # Dependencies
22
22
  #
23
- s.add_dependency "activemodel", "~> 6.0.0"
24
- s.add_dependency "activesupport", "~> 6.0.0"
23
+ s.add_dependency "activemodel", "~> 6.1.0"
24
+ s.add_dependency "activesupport", "~> 6.1.0"
25
25
  s.add_dependency "protobuf", ">= 3.0"
26
26
 
27
27
  ##
@@ -84,7 +84,7 @@ module ActiveRemote
84
84
  end
85
85
 
86
86
  options[:has_many] = true
87
- create_setter_method(has_many_class, options)
87
+ create_association_writer(has_many_class, options)
88
88
  end
89
89
 
90
90
  # Create a `has_one` association for a given remote resource.
@@ -133,12 +133,11 @@ module ActiveRemote
133
133
 
134
134
  private
135
135
 
136
- def create_setter_method(associated_klass, options = {})
137
- writer_method = "#{associated_klass}=".to_sym
138
- define_method(writer_method) do |new_value|
136
+ def create_association_writer(associated_klass, options = {})
137
+ define_method("#{associated_klass}=") do |new_value|
139
138
  raise "New value must be an array" if options[:has_many] == true && new_value.class != Array
140
139
 
141
- instance_variable_set(:"@#{new_value.class.name.demodulize.underscore}", new_value)
140
+ instance_variable_set(:"@#{associated_klass}", new_value)
142
141
  new_value
143
142
  end
144
143
  end
@@ -160,7 +159,7 @@ module ActiveRemote
160
159
  return value
161
160
  end
162
161
 
163
- create_setter_method(associated_klass, options)
162
+ create_association_writer(associated_klass, options)
164
163
  end
165
164
  end
166
165
  end
@@ -8,12 +8,16 @@ module ActiveRemote
8
8
  end
9
9
  end
10
10
 
11
- def [](name)
12
- attribute(name)
11
+ def [](attr_name)
12
+ name = attr_name.to_s
13
+ name = self.class.attribute_aliases[name] || name
14
+ attribute(name.to_s)
13
15
  end
14
16
 
15
- def []=(name, value)
16
- write_attribute(name, value)
17
+ def []=(attr_name, value)
18
+ name = attr_name.to_s
19
+ name = self.class.attribute_aliases[name] || name
20
+ _write_attribute(name.to_s, value)
17
21
  end
18
22
 
19
23
  # Returns an <tt>#inspect</tt>-like string for the value of the
@@ -63,7 +63,7 @@ module ActiveRemote
63
63
  case
64
64
  when new_record? then
65
65
  "#{model_name.cache_key}/new"
66
- when ::ActiveRemote.config.default_cache_key_updated_at? && (timestamp = self[:updated_at]) then
66
+ when ::ActiveRemote.config.default_cache_key_updated_at? && (self.respond_to?(:[]) && timestamp = self["updated_at"]) then
67
67
  timestamp = timestamp.utc.to_s(self.class.cache_timestamp_format)
68
68
  "#{model_name.cache_key}/#{send(primary_key)}-#{timestamp}"
69
69
  else
@@ -1,3 +1,3 @@
1
1
  module ActiveRemote
2
- VERSION = "6.0.1"
2
+ VERSION = "6.1.1"
3
3
  end
@@ -76,8 +76,10 @@ describe ActiveRemote::Association do
76
76
  expect(subject.coauthor).to eq record
77
77
  end
78
78
 
79
- it "should create a setter method" do
80
- expect(subject).to respond_to(:coauthor=)
79
+ it "creates a setter method" do
80
+ author = Author.new(:guid => author_guid)
81
+ subject.coauthor = author
82
+ expect(subject.coauthor).to eq(author)
81
83
  end
82
84
  end
83
85
 
@@ -4,8 +4,8 @@ describe ::ActiveRemote::RemoteRecordNotSaved do
4
4
  let(:record) { ::Tag.new }
5
5
 
6
6
  before do
7
- record.errors[:base] << "Some error one!"
8
- record.errors[:base] << "Some error two!"
7
+ record.errors.add(:base, :invalid, :message => "Some error one!")
8
+ record.errors.add(:base, :invalid, :message => "Some error two!")
9
9
  end
10
10
 
11
11
  context "when an active remote record is used" do
@@ -148,7 +148,7 @@ describe ::ActiveRemote::Persistence do
148
148
  end
149
149
 
150
150
  context "when errors are present" do
151
- before { subject.errors[:base] << "Boom!" }
151
+ before { subject.errors.add(:base, :invalid, :message => "Boom!") }
152
152
 
153
153
  its(:has_errors?) { should be_truthy }
154
154
  end
@@ -295,7 +295,7 @@ describe ::ActiveRemote::Persistence do
295
295
  end
296
296
 
297
297
  context "when the record has errors before the save" do
298
- before { subject.errors[:base] << "Boom!" }
298
+ before { subject.errors.add(:base, :invalid, :message => "Boom!") }
299
299
 
300
300
  it "clears the errors before the save" do
301
301
  expect(subject.errors).not_to be_empty
@@ -330,7 +330,7 @@ describe ::ActiveRemote::Persistence do
330
330
 
331
331
  describe "#success?" do
332
332
  context "when errors are present" do
333
- before { subject.errors[:base] << "Boom!" }
333
+ before { subject.errors.add(:base, :invalid, :message => "Boom!") }
334
334
 
335
335
  its(:success?) { should be_falsey }
336
336
  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: 6.0.1
4
+ version: 6.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Hutchison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-11 00:00:00.000000000 Z
11
+ date: 2022-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 6.0.0
19
+ version: 6.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 6.0.0
26
+ version: 6.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 6.0.0
33
+ version: 6.1.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 6.0.0
40
+ version: 6.1.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: protobuf
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -279,7 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
279
279
  - !ruby/object:Gem::Version
280
280
  version: '0'
281
281
  requirements: []
282
- rubygems_version: 3.3.6
282
+ rubygems_version: 3.2.28
283
283
  signing_key:
284
284
  specification_version: 4
285
285
  summary: Active Record for your platform