haveapi 0.28.0 → 0.28.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
  SHA256:
3
- metadata.gz: 4dc49769be220f91aa34770fa280e1507a3eef56ad97f1cdda575a4d42f42ad0
4
- data.tar.gz: '09177e0cf827dbed3e8a31290c2f0088a7e7857bab9c4cbd2d3953a55a84747e'
3
+ metadata.gz: 57ff88678f46548f5a2717e7aae799df778723b95b0384471e873b17b0791669
4
+ data.tar.gz: 2062ffb0fef65373b74d7ecef1eae40c0cf16433eef60d3d28c52c3b8b4c7e9e
5
5
  SHA512:
6
- metadata.gz: 0bbac0d82fcfcba37da6874b54b667036cac326aead8da3e573ce1fac77a986fe191d3e6fb1c1754d65cb0fc5f7fb4d7c7d1d7f5fe329e0135a019fb00100561
7
- data.tar.gz: d031c935fffbb7ccd5f4262598fae87e93b8055d393576336d4afd5f4b14a3e19c77d024dcfede042d1e37ac72f8a5d79fc84e96dd94f2a5e0e74ca9984840d9
6
+ metadata.gz: 5c9d3bc013ac270b3de0b411838a69ac20c920eef8d11cf7552da3e9a852328ab493a5642fc3d4490e7d126d8114f6eda38269b06da2ad3f32a711fa673cbdb3
7
+ data.tar.gz: 3deaf826dbc931825edd8babd1b453faf9521015bf07450d24e2c290bd37cbd0f47cf2dbde90e2245cf5cefa4c673723c97283c1c836f0826cd517117ad44500
data/haveapi.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.required_ruby_version = ">= #{File.read('../../.ruby-version').strip}"
16
16
 
17
17
  s.add_dependency 'activesupport', '>= 7.1'
18
- s.add_dependency 'haveapi-client', '~> 0.28.0'
18
+ s.add_dependency 'haveapi-client', '~> 0.28.1'
19
19
  s.add_dependency 'json'
20
20
  s.add_dependency 'mail'
21
21
  s.add_dependency 'nesty', '~> 1.0'
@@ -287,7 +287,9 @@ module HaveAPI
287
287
  params = {}
288
288
 
289
289
  path_param_names(path).each do |name|
290
- params[name] = values.shift.to_s
290
+ value = values.shift.to_s
291
+ params[name] = value
292
+ params[name.to_sym] = value
291
293
  end
292
294
 
293
295
  params
@@ -1,4 +1,4 @@
1
1
  module HaveAPI
2
2
  PROTOCOL_VERSION = '2.0'.freeze
3
- VERSION = '0.28.0'.freeze
3
+ VERSION = '0.28.1'.freeze
4
4
  end
@@ -430,6 +430,13 @@ describe HaveAPI::Action do
430
430
  action_hooks[:listeners] = original
431
431
  end
432
432
 
433
+ it 'builds path params with string and symbol keys' do
434
+ expect(action_class(:show).path_params('/tests/{test_id}', 123)).to eq({
435
+ 'test_id' => '123',
436
+ test_id: '123'
437
+ })
438
+ end
439
+
433
440
  it '_meta.no suppresses metadata' do
434
441
  action_class(:echo).calls.clear
435
442
 
@@ -113,7 +113,7 @@ describe HaveAPI::ModelAdapters::ActiveRecord do
113
113
  end
114
114
 
115
115
  def prepare
116
- group = self.class.model.find(params['group_id'])
116
+ group = self.class.model.find(params[:group_id])
117
117
  error!('access denied') if group.note == 'PRIVATE_GROUP_NOTE'
118
118
  end
119
119
 
@@ -533,6 +533,19 @@ describe HaveAPI::ModelAdapters::ActiveRecord do
533
533
  expect(group_data[:environment]).not_to have_key(:note)
534
534
  end
535
535
 
536
+ it 'passes symbol path params to associated show prepare when included' do
537
+ group = ARAdapterSpec::Group.create!(label: 'grp', note: 'GROUP_NOTE')
538
+ user = create_user(name: 'user', group: group)
539
+
540
+ get "/v1/users/#{user.id}", { _meta: { includes: 'group' } }, input: ''
541
+
542
+ expect(last_response.status).to eq(200)
543
+ expect(api_response).to be_ok
544
+ group_data = api_response[:user][:group]
545
+ expect(group_data[:_meta][:resolved]).to be(true)
546
+ expect(group_data).to include(id: group.id, label: 'grp', note: 'GROUP_NOTE')
547
+ end
548
+
536
549
  it 'applies associated show output restrictions when included' do
537
550
  group = ARAdapterSpec::Group.create!(label: 'grp', note: 'GROUP_SECRET')
538
551
  user = create_user(name: 'user', group: group)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haveapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0
4
+ version: 0.28.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Skokan
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.28.0
32
+ version: 0.28.1
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.28.0
39
+ version: 0.28.1
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: json
42
42
  requirement: !ruby/object:Gem::Requirement