lhs 6.6.1 → 6.6.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aa5cf18487994a26df91043ecaa517405b402252
4
- data.tar.gz: ebeb9db697bd0f9473f47b4c7799cce6ec3924b4
3
+ metadata.gz: 28bbd84604d97fb4b2832870a1af4e19c8a4dd7b
4
+ data.tar.gz: cee59479f3b13012abaca1454f2bb5a09c884768
5
5
  SHA512:
6
- metadata.gz: b1e5469075aaf9ed16e0c00bfa3177c4bed573a50bedb29bc2741c77fa94147d021d77e433c0c40d63d6e7b999fe727d4147c05c6cd168cb6b683c49e286bf58
7
- data.tar.gz: 255bffac0457942147dce4bccdb6484c455a93ed4c9bfe4a4d6d73d9067d03bb496f300d5af35f22912c7b74827c0a9703b6e3fef182f3f3c8570e0555a3beaf
6
+ metadata.gz: 2d42b4b4fe655bb825b3877e19f13f6f431207daa6cadd4484de828516de2b4b546314a363ec0c08b0896e6dc4d437fd3966c8898143f128077f92d906f4da26
7
+ data.tar.gz: f85c70878edb8a4d13d7915e261c71bcf1c3601679615cb9972e1279898fd9aaa315014893a8493b94ee81e7157c0d30a93a898fe5d01adc906cd5568bceb11f
data/README.md CHANGED
@@ -297,31 +297,44 @@ Sometimes it is the case that you want to have your custom getters and setters a
297
297
  The initializer will now use custom setter if one is defined:
298
298
 
299
299
  ```ruby
300
- class Record < LHS::Record
301
- def ratings=(ratings)
302
- _raw[:ratings] = ratings.map { |k, v| { name: k, value: v } }
300
+
301
+ module RatingsConversions
302
+ def ratings=(values)
303
+ super(
304
+ values.map { |k, v| { name: k, value: v } }
305
+ )
303
306
  end
304
307
  end
305
308
 
306
- record = Record.new(ratings: { quality: 3 }) # <Record{:ratings=>[{:name=>:quality, :value=>3}]}>
307
- record.ratings # #<LHS::Data:0x007fc8fa6d4050 ... @_raw=[{:name=>:quality, :value=>3}]>
309
+ class Record < LHS::Record
310
+ prepend RatingsConversions
311
+ end
312
+
313
+ record = Record.new(ratings: { quality: 3 })
314
+ record.ratings # [{ :name=>:quality, :value=>3 }]
308
315
 
309
316
  ```
310
317
 
311
318
  If you have an accompanying getter the whole data manipulation would be internal only.
312
319
 
313
320
  ```ruby
314
- class Record < LHS::Record
315
- def ratings=(ratings)
316
- _raw[:ratings] = ratings.map { |k, v| { name: k, value: v } }
321
+ module RatingsConversions
322
+ def ratings=(values)
323
+ super(
324
+ values.map { |k, v| { name: k, value: v } }
325
+ )
317
326
  end
318
327
 
319
328
  def ratings
320
- Hash[_raw[:ratings].map { |r| [r[:name], r[:value]] }]
329
+ super.map { |r| [r[:name], r[:value]] }]
321
330
  end
322
331
  end
323
332
 
324
- record = Record.new(ratings: { quality: 3 }) # <Record{:ratings=>[{:name=>:quality, :value=>3}]}>
333
+ class Record < LHS::Record
334
+ prepend RatingsConversions
335
+ end
336
+
337
+ record = Record.new(ratings: { quality: 3 }) # [{ :name=>:quality, :value=>3 }]
325
338
  record.ratings # {:quality=>3}
326
339
 
327
340
  ```
@@ -33,7 +33,7 @@ class LHS::Item < LHS::Proxy
33
33
  value = _data._raw[name.to_s]
34
34
  if value.nil? && _data._raw.present?
35
35
  value = _data._raw[name.to_sym]
36
- value ||= _data._raw[name.to_s.classify.to_sym]
36
+ value = _data._raw[name.to_s.classify.to_sym] if value.nil?
37
37
  end
38
38
  if value.is_a?(Hash)
39
39
  handle_hash(value)
@@ -1,3 +1,3 @@
1
1
  module LHS
2
- VERSION = "6.6.1"
2
+ VERSION = "6.6.2"
3
3
  end
@@ -1,13 +1,13 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Collection do
4
- let(:data) {
4
+ let(:data) do
5
5
  ['ROLE_USER', 'ROLE_LOCALCH_ACCOUNT']
6
- }
6
+ end
7
7
 
8
- let(:collection){
8
+ let(:collection) do
9
9
  LHS::Collection.new(LHS::Data.new(data))
10
- }
10
+ end
11
11
 
12
12
  context 'delegates methods to raw' do
13
13
  %w(present? blank? empty?).each do |method|
@@ -1,13 +1,13 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Collection do
4
- let(:data) {
4
+ let(:data) do
5
5
  [1, 2, 3]
6
- }
6
+ end
7
7
 
8
- let(:collection){
8
+ let(:collection) do
9
9
  LHS::Collection.new(LHS::Data.new(data))
10
- }
10
+ end
11
11
 
12
12
  context 'enumerable' do
13
13
  it 'works with map' do
@@ -1,13 +1,13 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Collection do
4
- let(:data) {
4
+ let(:data) do
5
5
  ['ROLE_USER', 'ROLE_LOCALCH_ACCOUNT']
6
- }
6
+ end
7
7
 
8
- let(:collection){
8
+ let(:collection) do
9
9
  LHS::Data.new(LHS::Data.new(data))
10
- }
10
+ end
11
11
 
12
12
  context '#respond_to?' do
13
13
  # In this case raw collection is an Array implementing first
@@ -17,13 +17,13 @@ describe LHS::Data do
17
17
 
18
18
  context 'collections' do
19
19
  it 'forwards calls to the collection' do
20
- expect(data.count).to be_kind_of Fixnum
20
+ expect(data.count).to be_kind_of Integer
21
21
  expect(data[0]).to be_kind_of LHS::Data
22
22
  expect(data.sample).to be_kind_of LHS::Data
23
23
  end
24
24
 
25
25
  it 'provides a total method to get the number of total records' do
26
- expect(data.total).to be_kind_of Fixnum
26
+ expect(data.total).to be_kind_of Integer
27
27
  end
28
28
  end
29
29
 
@@ -1,9 +1,9 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- let(:item){
4
+ let(:item) do
5
5
  LHS::Item.new(id: 1234)
6
- }
6
+ end
7
7
 
8
8
  context '#respond_to?' do
9
9
  it 'is true for setters' do
@@ -32,5 +32,11 @@ describe LHS::Item do
32
32
  expect((item.name = nil)).to eq nil
33
33
  expect(item.name).to eq nil
34
34
  end
35
+
36
+ it 'sets things to false' do
37
+ item.recommended = true
38
+ expect((item.recommended = false)).to eq false
39
+ expect(item.recommended).to eq false
40
+ end
35
41
  end
36
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhs
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.6.1
4
+ version: 6.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://github.com/local-ch/lhs/graphs/contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-16 00:00:00.000000000 Z
11
+ date: 2016-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lhc
@@ -356,7 +356,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
356
356
  requirements:
357
357
  - Ruby >= 2.0.0
358
358
  rubyforge_project:
359
- rubygems_version: 2.4.8
359
+ rubygems_version: 2.5.1
360
360
  signing_key:
361
361
  specification_version: 4
362
362
  summary: Rails gem providing an easy, active-record-like interface for http json services