lhs 15.4.0 → 15.4.1

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: ae5e5ef2a45b0f63f18f0c37081cbce3a0834c09
4
- data.tar.gz: 02cc862febe0af3c26077abb6ae1c748e872480b
3
+ metadata.gz: aae793d07885f60a78b3ba1a00620126cb5abe0e
4
+ data.tar.gz: 3aae37c869254994499545d59b3059c0baac6038
5
5
  SHA512:
6
- metadata.gz: aa2d6b4e45f4082f78a1a1c6d8290571866216d5b8c9ac7fc480578044eea7fb15989d2bafd11c52a104f39c909957ac2169f39b0f96ca4fab47977dfbbc0e9e
7
- data.tar.gz: 821d13c8b9bb5d10f073c885eaba26580e712c287ee1ec22b538f075aff1f175db7300ed082be1d370a124d2d82789945f0d5b3f97a39fedfce5bfa508c4ef7f
6
+ metadata.gz: b32efb89e71c58078da3c14a9e86ed094ead7a7553241944a7110ba62a9aaf24a18b248e9a511bca437464186f554689c211205c7aea97d6bc17318914192208
7
+ data.tar.gz: 24b40b24d88d3047760687ec664430588c9abe84e70aa7268852ff51c99e917a95023a20b4958615f0a006551d98b8f1683b14d7f8cacafa1275090ae6264204
data/lib/lhs/record.rb CHANGED
@@ -58,7 +58,7 @@ class LHS::Record
58
58
  include RequestCycleCache
59
59
  include Scope
60
60
 
61
- delegate :_proxy, :_endpoint, :merge_raw!, :select, :becomes, to: :_data
61
+ delegate :_proxy, :_endpoint, :merge_raw!, :select, :becomes, :respond_to?, to: :_data
62
62
 
63
63
  def initialize(data = nil, apply_customer_setters = true)
64
64
  data ||= LHS::Data.new({}, nil, self.class)
data/lib/lhs/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module LHS
2
- VERSION = '15.4.0'
2
+ VERSION = '15.4.1'
3
3
  end
@@ -0,0 +1,63 @@
1
+ require 'rails_helper'
2
+
3
+ describe LHS::Record do
4
+ let(:user_item) do
5
+ {
6
+ email: 'someone@somewhe.re'
7
+ }
8
+ end
9
+
10
+ let(:item) do
11
+ {
12
+ href: 'http://datastore/records/1',
13
+ user: user_item
14
+ }
15
+ end
16
+
17
+ let(:record) { Record.find(1) }
18
+
19
+ before do
20
+ class User < LHS::Record
21
+ end
22
+
23
+ class Record < LHS::Record
24
+ endpoint 'http://datastore/records/{id}'
25
+
26
+ has_one :user, class_name: 'User'
27
+ end
28
+
29
+ stub_request(:get, 'http://datastore/records/1')
30
+ .to_return(body: item.to_json)
31
+ end
32
+
33
+ describe 'respond_to?(:to_ary)' do
34
+ context 'when creating item' do
35
+ let(:record) do
36
+ Record.new(user: User.new)
37
+ end
38
+
39
+ it 'does not respond to to_ary' do
40
+ expect(record.user.respond_to?(:to_ary)).to eq false
41
+ end
42
+ end
43
+
44
+ context 'when returning a single item' do
45
+ it 'does not respond to to_ary' do
46
+ expect(record.user.respond_to?(:to_ary)).to eq false
47
+ end
48
+ end
49
+
50
+ context 'when returning array of items' do
51
+ let(:user_item) do
52
+ [
53
+ { email: 'someone@somewhe.re' },
54
+ { email: 'someone.else@somewhe.re' }
55
+ ]
56
+ end
57
+
58
+ it 'responds to to_ary' do
59
+ expect(record.user.respond_to?(:to_ary)).to eq true
60
+ end
61
+ end
62
+ end
63
+ 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: 15.4.0
4
+ version: 15.4.1
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: 2018-06-15 00:00:00.000000000 Z
11
+ date: 2018-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -418,6 +418,7 @@ files:
418
418
  - spec/record/save_spec.rb
419
419
  - spec/record/scope_chains_spec.rb
420
420
  - spec/record/select_spec.rb
421
+ - spec/record/to_ary_spec.rb
421
422
  - spec/record/to_hash_spec.rb
422
423
  - spec/record/to_json_spec.rb
423
424
  - spec/record/where_chains_spec.rb
@@ -454,7 +455,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
454
455
  requirements:
455
456
  - Ruby >= 2.3.0
456
457
  rubyforge_project:
457
- rubygems_version: 2.6.12
458
+ rubygems_version: 2.6.14
458
459
  signing_key:
459
460
  specification_version: 4
460
461
  summary: Rails gem providing an easy, active-record-like interface for http json services
@@ -609,6 +610,7 @@ test_files:
609
610
  - spec/record/save_spec.rb
610
611
  - spec/record/scope_chains_spec.rb
611
612
  - spec/record/select_spec.rb
613
+ - spec/record/to_ary_spec.rb
612
614
  - spec/record/to_hash_spec.rb
613
615
  - spec/record/to_json_spec.rb
614
616
  - spec/record/where_chains_spec.rb