barkibu-kb 0.23.0 → 0.24.1

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