lhs 15.3.1 → 15.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.localch.yml +158 -21
  3. data/.rubocop.yml +9 -3
  4. data/lhs.gemspec +10 -9
  5. data/lib/lhs/complex.rb +1 -1
  6. data/lib/lhs/concerns/autoload_records.rb +1 -1
  7. data/lib/lhs/concerns/collection/handle_nested.rb +1 -1
  8. data/lib/lhs/concerns/inspect.rb +1 -1
  9. data/lib/lhs/concerns/item/validation.rb +2 -2
  10. data/lib/lhs/concerns/proxy/accessors.rb +1 -1
  11. data/lib/lhs/concerns/proxy/problems.rb +1 -1
  12. data/lib/lhs/concerns/record/chainable.rb +1 -1
  13. data/lib/lhs/concerns/record/endpoints.rb +2 -2
  14. data/lib/lhs/concerns/record/model.rb +1 -1
  15. data/lib/lhs/concerns/record/request.rb +5 -5
  16. data/lib/lhs/data.rb +5 -4
  17. data/lib/lhs/endpoint.rb +1 -1
  18. data/lib/lhs/item.rb +8 -0
  19. data/lib/lhs/pagination/base.rb +0 -1
  20. data/lib/lhs/problems/base.rb +1 -1
  21. data/lib/lhs/record.rb +1 -1
  22. data/lib/lhs/version.rb +1 -1
  23. data/spec/autoloading_spec.rb +4 -4
  24. data/spec/collection/accessors_spec.rb +1 -1
  25. data/spec/collection/collection_items_spec.rb +1 -1
  26. data/spec/collection/configurable_spec.rb +1 -1
  27. data/spec/collection/meta_data_spec.rb +1 -1
  28. data/spec/collection/to_a_spec.rb +1 -1
  29. data/spec/collection/to_ary_spec.rb +6 -2
  30. data/spec/collection/without_object_items_spec.rb +1 -1
  31. data/spec/complex/reduce_spec.rb +2 -2
  32. data/spec/concerns/record/request_spec.rb +1 -1
  33. data/spec/data/collection_spec.rb +1 -1
  34. data/spec/data/equality_spec.rb +1 -1
  35. data/spec/data/inspect_spec.rb +1 -1
  36. data/spec/data/is_item_or_collection_spec.rb +1 -1
  37. data/spec/data/item_spec.rb +1 -1
  38. data/spec/data/merge_spec.rb +1 -1
  39. data/spec/data/parent_spec.rb +1 -1
  40. data/spec/data/raw_spec.rb +1 -1
  41. data/spec/data/respond_to_spec.rb +3 -3
  42. data/spec/data/root_spec.rb +1 -1
  43. data/spec/data/select_spec.rb +1 -1
  44. data/spec/data/to_ary_spec.rb +26 -0
  45. data/spec/data/to_json_spec.rb +1 -1
  46. data/spec/endpoint/for_url_spec.rb +1 -1
  47. data/spec/item/access_errors_spec.rb +1 -1
  48. data/spec/item/accessors_spec.rb +1 -1
  49. data/spec/item/add_error_spec.rb +1 -1
  50. data/spec/item/becomes_spec.rb +1 -1
  51. data/spec/item/blacklisted_keywords_spec.rb +1 -1
  52. data/spec/item/delegate_spec.rb +1 -1
  53. data/spec/item/destroy_spec.rb +2 -2
  54. data/spec/item/dig_spec.rb +1 -1
  55. data/spec/item/error_codes_spec.rb +1 -1
  56. data/spec/item/errors_spec.rb +22 -22
  57. data/spec/item/fetch_spec.rb +1 -1
  58. data/spec/item/getter_spec.rb +1 -1
  59. data/spec/item/internal_data_structure_spec.rb +1 -1
  60. data/spec/item/map_spec.rb +1 -1
  61. data/spec/item/partial_update_spec.rb +3 -3
  62. data/spec/item/save_spec.rb +2 -2
  63. data/spec/item/setter_spec.rb +1 -1
  64. data/spec/item/translate_errors_spec.rb +1 -1
  65. data/spec/item/update_spec.rb +1 -1
  66. data/spec/item/validation_spec.rb +4 -4
  67. data/spec/item/warning_codes_spec.rb +1 -1
  68. data/spec/item/warnings_spec.rb +1 -3
  69. data/spec/pagination/pages_left_spec.rb +1 -1
  70. data/spec/pagination/parameters_spec.rb +1 -1
  71. data/spec/proxy/create_sub_resource_spec.rb +5 -5
  72. data/spec/proxy/load_spec.rb +8 -10
  73. data/spec/proxy/record_identification_spec.rb +1 -1
  74. data/spec/record/all_spec.rb +3 -3
  75. data/spec/record/build_spec.rb +1 -1
  76. data/spec/record/cast_nested_data_spec.rb +1 -1
  77. data/spec/record/chain_error_handling_spec.rb +1 -1
  78. data/spec/record/create_spec.rb +4 -4
  79. data/spec/record/creation_failed_spec.rb +2 -2
  80. data/spec/record/definitions_spec.rb +1 -1
  81. data/spec/record/destroy_spec.rb +1 -1
  82. data/spec/record/dig_configuration_spec.rb +1 -1
  83. data/spec/record/endpoint_inheritance_spec.rb +3 -3
  84. data/spec/record/endpoint_options_spec.rb +2 -2
  85. data/spec/record/endpoints_spec.rb +7 -7
  86. data/spec/record/equality_spec.rb +1 -1
  87. data/spec/record/expanded_spec.rb +1 -1
  88. data/spec/record/fetch_spec.rb +1 -1
  89. data/spec/record/find_by_chains_spec.rb +1 -1
  90. data/spec/record/find_by_spec.rb +2 -2
  91. data/spec/record/find_each_spec.rb +1 -1
  92. data/spec/record/find_in_batches_spec.rb +2 -2
  93. data/spec/record/find_in_parallel_spec.rb +2 -2
  94. data/spec/record/find_spec.rb +3 -3
  95. data/spec/record/first_spec.rb +2 -2
  96. data/spec/record/handle_includes_errors_spec.rb +1 -1
  97. data/spec/record/has_many_spec.rb +3 -3
  98. data/spec/record/ignore_errors_spec.rb +5 -14
  99. data/spec/record/immutable_chains_spec.rb +1 -1
  100. data/spec/record/includes_all_spec.rb +6 -6
  101. data/spec/record/includes_spec.rb +13 -13
  102. data/spec/record/includes_warning_spec.rb +1 -1
  103. data/spec/record/item_key_spec.rb +1 -1
  104. data/spec/record/items_created_key_configuration_spec.rb +1 -1
  105. data/spec/record/mapping_spec.rb +1 -1
  106. data/spec/record/model_name_spec.rb +1 -1
  107. data/spec/record/new_spec.rb +5 -5
  108. data/spec/record/options_spec.rb +5 -5
  109. data/spec/record/paginatable_collection_spec.rb +5 -6
  110. data/spec/record/pagination_chain_spec.rb +3 -3
  111. data/spec/record/pagination_links_spec.rb +1 -1
  112. data/spec/record/pagination_spec.rb +1 -1
  113. data/spec/record/persisted_spec.rb +2 -1
  114. data/spec/record/references_spec.rb +1 -1
  115. data/spec/record/reload_by_id_spec.rb +1 -1
  116. data/spec/record/reload_spec.rb +2 -2
  117. data/spec/record/request_spec.rb +3 -3
  118. data/spec/record/scope_chains_spec.rb +1 -1
  119. data/spec/record/to_hash_spec.rb +1 -1
  120. data/spec/record/to_json_spec.rb +1 -1
  121. data/spec/record/where_chains_spec.rb +3 -3
  122. data/spec/record/where_spec.rb +1 -1
  123. data/spec/record/where_values_hash_spec.rb +1 -1
  124. data/spec/request_cycle_cache/main_spec.rb +2 -1
  125. data/spec/require_lhs_spec.rb +1 -1
  126. data/spec/support/cleanup.rb +1 -1
  127. data/spec/support/request_cycle_cache.rb +1 -1
  128. data/spec/views/form_for_spec.rb +1 -1
  129. metadata +47 -31
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint 'http://datastore/feedbacks/{id}'
7
7
  end
@@ -10,7 +10,7 @@ describe LHS::Record do
10
10
  context 'url pattern' do
11
11
  let(:datastore) { 'http://local.ch/v2' }
12
12
 
13
- before(:each) do
13
+ before do
14
14
  LHC.config.placeholder(:datastore, datastore)
15
15
  class Record < LHS::Record
16
16
  endpoint '{+datastore}/content-ads/{campaign_id}/feedbacks'
@@ -26,7 +26,7 @@ describe LHS::Record do
26
26
  end
27
27
 
28
28
  context '#convert_options_to_endpoint' do
29
- before(:each) do
29
+ before do
30
30
  class Record < LHS::Record
31
31
  endpoint 'http://datastore/feedbacks/{id}', params: { tracking: 123 }
32
32
  end
@@ -9,7 +9,7 @@ describe LHS::Record do
9
9
  { body: [{ name: 'Steve' }] }
10
10
  end
11
11
 
12
- before(:each) do
12
+ before do
13
13
  LHC.config.placeholder('datastore', datastore)
14
14
  class Record < LHS::Record
15
15
  endpoint '{+datastore}/records/'
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint 'http://datastore/records'
7
7
  end
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
  context 'to_json' do
5
5
  let(:datastore) { 'http://local.ch/v2' }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  LHC.config.placeholder('datastore', datastore)
9
9
  class Feedback < LHS::Record
10
10
  endpoint '{+datastore}/feedbacks'
@@ -9,7 +9,7 @@ describe LHS::Record do
9
9
  { body: [{ name: 'Steve' }] }
10
10
  end
11
11
 
12
- before(:each) do
12
+ before do
13
13
  LHC.config.placeholder('datastore', datastore)
14
14
  class Record < LHS::Record
15
15
  endpoint '{+datastore}/records/'
@@ -21,7 +21,7 @@ describe LHS::Record do
21
21
  end
22
22
 
23
23
  context 'where chains' do
24
- before(:each) do
24
+ before do
25
25
  stub_request(:get, "http://datastore/v2/records/?available=true&color=blue&range=%3E26")
26
26
  .to_return(response)
27
27
  end
@@ -43,7 +43,7 @@ describe LHS::Record do
43
43
  end
44
44
 
45
45
  context 'multiple parameters' do
46
- before(:each) do
46
+ before do
47
47
  stub_request(:get, "http://datastore/v2/records/?parameter=last").to_return(response)
48
48
  end
49
49
 
@@ -5,7 +5,7 @@ describe LHS::Record do
5
5
  'http://datastore/v2'
6
6
  end
7
7
 
8
- before(:each) do
8
+ before do
9
9
  LHC.config.placeholder('datastore', datastore)
10
10
  class Record < LHS::Record
11
11
  endpoint '{+datastore}/content-ads/{campaign_id}/feedbacks'
@@ -9,7 +9,7 @@ describe LHS::Record do
9
9
  { body: [{ name: 'Steve' }] }
10
10
  end
11
11
 
12
- before(:each) do
12
+ before do
13
13
  LHC.config.placeholder('datastore', datastore)
14
14
  class Record < LHS::Record
15
15
  endpoint '{+datastore}/records/'
@@ -10,7 +10,7 @@ describe 'Request Cycle Cache', type: :request do
10
10
  stub_request(:get, "http://datastore/v2/users/2").to_return(body: { name: 'Peter' }.to_json)
11
11
  end
12
12
 
13
- before(:each) do
13
+ before do
14
14
  class User < LHS::Record
15
15
  endpoint 'http://datastore/v2/users'
16
16
  endpoint 'http://datastore/v2/users/{id}'
@@ -90,6 +90,7 @@ describe 'Request Cycle Cache', type: :request do
90
90
 
91
91
  context 'use: cache' do
92
92
  let!(:old_cache) { LHS.config.request_cycle_cache }
93
+
93
94
  before { LHS.config.request_cycle_cache = double('cache', fetch: nil, write: nil) }
94
95
  after { LHS.config.request_cycle_cache = old_cache }
95
96
 
@@ -1,4 +1,4 @@
1
- describe 'LHS' do
1
+ describe LHS do
2
2
  context 'when requiring lhs' do
3
3
  it 'does not raise an exception' do
4
4
  expect { require 'lhs' }.not_to raise_error
@@ -20,7 +20,7 @@ class LHS::Record
20
20
  end
21
21
 
22
22
  RSpec.configure do |config|
23
- config.before(:each) do |spec|
23
+ config.before do |spec|
24
24
  next if spec.metadata.key?(:cleanup_before) && spec.metadata[:cleanup_before] == false
25
25
  LHC::Config.instance._cleanup
26
26
  LHS::Record::Endpoints.all = {}
@@ -1,5 +1,5 @@
1
1
  RSpec.configure do |config|
2
- config.before(:each) do |spec|
2
+ config.before do |spec|
3
3
  enabled = spec.metadata.key?(:request_cycle_cache) && spec.metadata[:request_cycle_cache] == true
4
4
  enabled ||= false
5
5
  LHS.config.request_cycle_cache_enabled = enabled
@@ -6,7 +6,7 @@ describe 'form_for helper' do
6
6
  endpoint '{+datastore}/v2/feedbacks'
7
7
  end
8
8
 
9
- before(:each) do
9
+ before do
10
10
  assign(:instance, Feedback.new)
11
11
  end
12
12
 
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhs
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.3.1
4
+ version: 15.3.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: 2018-06-12 00:00:00.000000000 Z
11
+ date: 2018-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: lhc
14
+ name: activemodel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '9.2'
19
+ version: '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: '9.2'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -39,49 +39,49 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.2'
41
41
  - !ruby/object:Gem::Dependency
42
- name: activemodel
42
+ name: lhc
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '9.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '9.2'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec-rails
56
+ name: capybara
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 3.7.0
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 3.7.0
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rails
70
+ name: json
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 4.0.0
75
+ version: 1.8.2
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 4.0.0
82
+ version: 1.8.2
83
83
  - !ruby/object:Gem::Dependency
84
- name: webmock
84
+ name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: pry
98
+ name: pry-byebug
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,61 +109,75 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: pry-byebug
112
+ name: rails
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 4.0.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 4.0.0
125
125
  - !ruby/object:Gem::Dependency
126
- name: capybara
126
+ name: rspec-rails
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: 3.7.0
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: 3.7.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rubocop
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 0.47.0
145
+ version: 0.57.1
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 0.47.0
152
+ version: 0.57.1
153
153
  - !ruby/object:Gem::Dependency
154
- name: json
154
+ name: rubocop-rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 1.26.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 1.26.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: webmock
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - ">="
158
172
  - !ruby/object:Gem::Version
159
- version: 1.8.2
173
+ version: '0'
160
174
  type: :development
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - ">="
165
179
  - !ruby/object:Gem::Version
166
- version: 1.8.2
180
+ version: '0'
167
181
  description: Rails gem providing an easy, active-record-like interface for http json
168
182
  services
169
183
  email:
@@ -279,6 +293,7 @@ files:
279
293
  - spec/data/respond_to_spec.rb
280
294
  - spec/data/root_spec.rb
281
295
  - spec/data/select_spec.rb
296
+ - spec/data/to_ary_spec.rb
282
297
  - spec/data/to_json_spec.rb
283
298
  - spec/dummy/Rakefile
284
299
  - spec/dummy/app/assets/images/.keep
@@ -467,6 +482,7 @@ test_files:
467
482
  - spec/data/respond_to_spec.rb
468
483
  - spec/data/root_spec.rb
469
484
  - spec/data/select_spec.rb
485
+ - spec/data/to_ary_spec.rb
470
486
  - spec/data/to_json_spec.rb
471
487
  - spec/dummy/Rakefile
472
488
  - spec/dummy/app/assets/images/.keep