lhs 6.6.1 → 6.6.2

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: 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