barkibu-kb 0.23.0 → 0.24.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: aa7e82e12cf78117dbe83ba60f544050a2f46b0c24a9dacd88ff6aac23061863
4
- data.tar.gz: 9c5541c4cf7f89a55ae003fc75c3520e95fc798fe6d780242895da5797f7abf5
3
+ metadata.gz: 48debe3b5db09b2105b42d33a2af92efdd9fa32ba6678667b53d8ddd5cf128bb
4
+ data.tar.gz: 6d8d1fcce91207312f25be2caec25e11b8de1dc2b1dea770e79271d010717812
5
5
  SHA512:
6
- metadata.gz: f79f76c3209b161230e60e6e05522d1de24d9bc8e63c381cca6f33199b7c74ddd21dcbc3d311d866816a46abb7ba5327841919f85b820361a9e36553cea7824b
7
- data.tar.gz: 4b58d329d5271f89649153d417838ab93f30c4e0f991060522b08d21f3e716c0333eb529723866db443776411a64336b2ec909b310e092d49980d517032145f4
6
+ metadata.gz: b3eaefc9de67484caeb842474809cb3d480b2d65d0e04394c6c400d2d294823e5328e36fd7da3c5e12dfea2bef63fcb6ea1ddcc55c1b20cb391ce86a15796a39
7
+ data.tar.gz: 0cbaa57bfed152f621af509ad2aef485a135d1e247d66ee89e2c7ec5191ab81c1cef27d83963c564e363e8c184beee404dcc19fe048f2eb92248e548c56ed6eb
@@ -0,0 +1,15 @@
1
+ # Human understandable Feature/Bugfix Title
2
+
3
+ ## Why?
4
+
5
+ --
6
+
7
+ ## Changes
8
+
9
+ --
10
+
11
+ ## Checklist
12
+ - [ ] Tests added/updated
13
+ - [ ] README file updated
14
+ - [ ] Changelog updated
15
+ - [ ] Version file `lib/kb/version.rb` updated
data/CHANGELOG.md CHANGED
@@ -6,7 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ## [unreleased]
9
- - See diff: https://github.com/barkibu/kb-ruby/compare/v0.23.0...HEAD
9
+ - See diff: https://github.com/barkibu/kb-ruby/compare/v0.24.1...HEAD
10
+
11
+ # [0.24.1]
12
+ - Add support for `.referrers` method on `PetParent` in fake model
13
+
14
+ # [0.24.0]
15
+ - Add support for `.referrers` method on `PetParent`
10
16
 
11
17
  # [0.23.0]
12
18
  - Add support for `.search` method on `PetContract`
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- barkibu-kb (0.23.0)
4
+ barkibu-kb (0.24.1)
5
5
  activemodel (>= 4.0.2)
6
6
  activerecord
7
7
  activesupport (>= 3.0.0)
@@ -10,8 +10,8 @@ PATH
10
10
  faraday-http
11
11
  faraday_middleware
12
12
  i18n
13
- barkibu-kb-fake (0.23.0)
14
- barkibu-kb (= 0.23.0)
13
+ barkibu-kb-fake (0.24.1)
14
+ barkibu-kb (= 0.24.1)
15
15
  countries
16
16
  sinatra
17
17
  webmock
@@ -168,7 +168,7 @@ PLATFORMS
168
168
  DEPENDENCIES
169
169
  barkibu-kb!
170
170
  barkibu-kb-fake!
171
- bundler (~> 2.4.12)
171
+ bundler
172
172
  byebug
173
173
  rake (>= 12.3.3)
174
174
  rspec (~> 3.0)
data/README.md CHANGED
@@ -72,6 +72,8 @@ KB.config.log_level = :debugger # :info by default
72
72
  - returns all the KB::PetContract associated with this pet parent
73
73
  - `referrals`
74
74
  - returns all the KB::Referral associated with this pet parent
75
+ - `referrers`
76
+ - returns all the KB::Referral associated with any of the pet parent's pets
75
77
 
76
78
  #### Assessment 📄
77
79
 
data/barkibu-kb.gemspec CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.required_ruby_version = '>= 2.6'
38
38
 
39
39
  spec.add_dependency 'dry-configurable', '~> 0.9'
40
- spec.add_development_dependency 'bundler', '~> 2.4.12'
40
+ spec.add_development_dependency 'bundler'
41
41
  spec.add_development_dependency 'byebug'
42
42
  spec.add_development_dependency 'rake', '>= 12.3.3'
43
43
  spec.add_development_dependency 'rspec', '~> 3.0'
@@ -30,6 +30,10 @@ module BoundedContext
30
30
  json_response 200, referrals_by_pet_parent_key(params['key'])
31
31
  end
32
32
 
33
+ get '/v1/petparents/:key/referrers' do
34
+ json_response 200, referrers_by_pet_parent_key(params['key'])
35
+ end
36
+
33
37
  post '/v1/petparents/:key/referrals' do
34
38
  resource = JSON.parse(request.body.read)
35
39
  resource = resource.merge 'key' => SecureRandom.uuid
@@ -94,6 +98,11 @@ module BoundedContext
94
98
  resource_state(:referrals).select { |resource| resource['referralKey'] == key }
95
99
  end
96
100
 
101
+ def referrers_by_pet_parent_key(key)
102
+ pet_keys = resource_state(:pets).select { |pet| pet['petParentKey'] == key }.map { |pet| pet['key'] }
103
+ resource_state(:referrals).select { |referral| pet_keys.include? referral['referredKey'] }
104
+ end
105
+
97
106
  def same_email_but_different_phone_number?(previous, new)
98
107
  (previous['email'] == new['email']) &&
99
108
  ((previous['phoneNumber'] != new['phoneNumber']) ||
@@ -113,5 +113,11 @@ module KB
113
113
  Referral.from_api(referral)
114
114
  end
115
115
  end
116
+
117
+ def referrers
118
+ self.class.kb_client.request("#{key}/referrers").map do |referral|
119
+ Referral.from_api(referral)
120
+ end
121
+ end
116
122
  end
117
123
  end
data/lib/kb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module KB
2
- VERSION = '0.23.0'.freeze
2
+ VERSION = '0.24.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: barkibu-kb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.0
4
+ version: 0.24.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - LĂ©o Figea
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-18 00:00:00.000000000 Z
11
+ date: 2024-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 2.4.12
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 2.4.12
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: byebug
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -243,6 +243,7 @@ extensions: []
243
243
  extra_rdoc_files: []
244
244
  files:
245
245
  - ".env.example"
246
+ - ".github/pull_request_template.md"
246
247
  - ".github/workflows/release.yaml"
247
248
  - ".gitignore"
248
249
  - ".rspec"