barkibu-kb 0.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +3 -0
  3. data/.gitignore +20 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +45 -0
  6. data/.ruby-version +2 -0
  7. data/.travis.yml +7 -0
  8. data/CHANGELOG.md +185 -0
  9. data/CODE_OF_CONDUCT.md +74 -0
  10. data/Gemfile +7 -0
  11. data/Gemfile.lock +182 -0
  12. data/LICENSE.txt +21 -0
  13. data/README.md +243 -0
  14. data/Rakefile +28 -0
  15. data/barkibu-kb-fake.gemspec +41 -0
  16. data/barkibu-kb.gemspec +54 -0
  17. data/bin/console +14 -0
  18. data/bin/setup +8 -0
  19. data/docker-compose.yaml +15 -0
  20. data/lib/barkibu-kb-fake.rb +1 -0
  21. data/lib/barkibu-kb.rb +33 -0
  22. data/lib/kb/cache.rb +23 -0
  23. data/lib/kb/client.rb +85 -0
  24. data/lib/kb/client_resolver.rb +62 -0
  25. data/lib/kb/concerns/as_kb_wrapper.rb +67 -0
  26. data/lib/kb/concerns.rb +1 -0
  27. data/lib/kb/errors/client_error.rb +9 -0
  28. data/lib/kb/errors/conflict_error.rb +3 -0
  29. data/lib/kb/errors/error.rb +26 -0
  30. data/lib/kb/errors/resource_not_found.rb +3 -0
  31. data/lib/kb/errors/unprocessable_entity_error.rb +3 -0
  32. data/lib/kb/errors.rb +6 -0
  33. data/lib/kb/fake/api.rb +72 -0
  34. data/lib/kb/fake/bounded_context/pet_family/breeds.rb +15 -0
  35. data/lib/kb/fake/bounded_context/pet_family/hubspot_relationship.rb +17 -0
  36. data/lib/kb/fake/bounded_context/pet_family/pet_contracts.rb +24 -0
  37. data/lib/kb/fake/bounded_context/pet_family/pet_parents.rb +98 -0
  38. data/lib/kb/fake/bounded_context/pet_family/pets.rb +84 -0
  39. data/lib/kb/fake/bounded_context/pet_family/products.rb +28 -0
  40. data/lib/kb/fake/bounded_context/rest_resource.rb +134 -0
  41. data/lib/kb/fake.rb +6 -0
  42. data/lib/kb/inflections.rb +3 -0
  43. data/lib/kb/models/assessment.rb +58 -0
  44. data/lib/kb/models/base_model.rb +40 -0
  45. data/lib/kb/models/breed.rb +39 -0
  46. data/lib/kb/models/concerns/creatable.rb +18 -0
  47. data/lib/kb/models/concerns/destroyable.rb +17 -0
  48. data/lib/kb/models/concerns/find_or_creatable.rb +19 -0
  49. data/lib/kb/models/concerns/findable.rb +19 -0
  50. data/lib/kb/models/concerns/inspectionable.rb +13 -0
  51. data/lib/kb/models/concerns/listable.rb +21 -0
  52. data/lib/kb/models/concerns/queryable.rb +34 -0
  53. data/lib/kb/models/concerns/updatable.rb +18 -0
  54. data/lib/kb/models/concerns/upsertable.rb +17 -0
  55. data/lib/kb/models/concerns.rb +10 -0
  56. data/lib/kb/models/condition.rb +32 -0
  57. data/lib/kb/models/hubspot_relationship.rb +34 -0
  58. data/lib/kb/models/pet.rb +68 -0
  59. data/lib/kb/models/pet_contract.rb +77 -0
  60. data/lib/kb/models/pet_parent.rb +111 -0
  61. data/lib/kb/models/plan.rb +44 -0
  62. data/lib/kb/models/product.rb +34 -0
  63. data/lib/kb/models/symptom.rb +25 -0
  64. data/lib/kb/models.rb +15 -0
  65. data/lib/kb/type/array_of_conditions_type.rb +13 -0
  66. data/lib/kb/type/array_of_strings_type.rb +9 -0
  67. data/lib/kb/type/array_of_symptoms_type.rb +13 -0
  68. data/lib/kb/types.rb +7 -0
  69. data/lib/kb/validators/uniqueness_validator.rb +26 -0
  70. data/lib/kb/validators.rb +1 -0
  71. data/lib/kb/version.rb +3 -0
  72. metadata +325 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 634ba54978f920d7ec79cef88563cd4f4b3d9944a5e83f6daece7ffee2de57ca
4
+ data.tar.gz: fc0c3993067c3e997ef7b8c08b64ab3824b436318aa4b8f432a5b77ef05a1a7c
5
+ SHA512:
6
+ metadata.gz: 6690757c91eededb3fdcbd1d4cadd2170d892fc66f250a1a3a289e7e9cf817e407a3bae44751864fa17f3a8025af0ce27a97a994fc9dc7efffbc4a1231e0ac8a
7
+ data.tar.gz: 23513bb572543d12c0292a350fb8b9beebb4db128943546b9eedf6170c8891991f6e93479d251eeab1f0599f066187668ccdb3f7399f06d7b7d80374564be33f
data/.env.example ADDED
@@ -0,0 +1,3 @@
1
+ KB_API_KEY=ApiKey
2
+ KB_API_URL_TEMPLATE=https://dev.api.%{bounded_context}.barkkb.com/%{version}/%{entity}
3
+ KB_PARTNER_KEY=PartnerKey
data/.gitignore ADDED
@@ -0,0 +1,20 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
12
+
13
+ # SimpleCov
14
+ /coverage
15
+
16
+ # Byebugs
17
+ .byebug_history
18
+
19
+ # intellij
20
+ /.idea
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,45 @@
1
+ # The behavior of RuboCop can be controlled via the .rubocop.yml
2
+ # configuration file. It makes it possible to enable/disable
3
+ # certain cops (checks) and to alter their behavior if they accept
4
+ # any parameters. The file can be placed either in your home
5
+ # directory or in some project directory.
6
+ #
7
+ # RuboCop will start looking for the configuration file in the directory
8
+ # where the inspected file is and continue its way up to the root directory.
9
+ #
10
+ # See https://docs.rubocop.org/rubocop/configuration
11
+ #
12
+ require: rubocop-rspec
13
+
14
+ AllCops:
15
+ TargetRubyVersion: 2.6.5
16
+ NewCops: enable
17
+
18
+ RSpec/FilePath:
19
+ Enabled: false
20
+
21
+ Metrics/BlockLength:
22
+ Max: 15
23
+ Exclude:
24
+ - 'spec/**/*.rb'
25
+ - 'barkibu-kb.gemspec'
26
+ - 'barkibu-kb-*.gemspec'
27
+
28
+ Naming/FileName:
29
+ Exclude:
30
+ - 'lib/kb-*.rb'
31
+
32
+ Style/FrozenStringLiteralComment:
33
+ Enabled: false
34
+
35
+ Style/Documentation:
36
+ Enabled: false
37
+
38
+ RSpec/NestedGroups:
39
+ Max: 4
40
+
41
+ Metrics/MethodLength:
42
+ Max: 15
43
+
44
+ Metrics/ModuleLength:
45
+ Max: 110
data/.ruby-version ADDED
@@ -0,0 +1,2 @@
1
+ ruby-2.7.2
2
+
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ sudo: false
3
+ language: ruby
4
+ cache: bundler
5
+ rvm:
6
+ - 2.6.5
7
+ before_install: gem install bundler -v 1.17.3
data/CHANGELOG.md ADDED
@@ -0,0 +1,185 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [0.16.0]
8
+ - Add `Hubspot` model to retrieve information from [Hubspot Relationship endpoint](https://knowledge-base-staging.herokuapp.com/swagger-ui/index.html#/Hubspot)
9
+ - Change `husbpot_id` attribute on PetContract, now it comes from the Hubspot Relationship
10
+
11
+ ## [0.15.1]
12
+ - Fix Cache invalidation deleting wrong key
13
+
14
+ ## [0.15.0]
15
+ - Add `husbpot_id` attribute on PetContract
16
+
17
+ ## [0.14.2]
18
+ - Fix Merged Pet Parent instanciation
19
+
20
+ ## [0.14.1]
21
+ - Convert API exception into KB::Error for admin `merge!` endpoint
22
+
23
+ ## [0.14.0]
24
+ - Add admin `merge!` method on PetParent
25
+
26
+ ## [0.13.0]
27
+ - Add `affiliate_code` attribute on PetParent
28
+
29
+ ## [0.12.0]
30
+ - Add `phone_number_verified` and `email_verified` attributes on PetParent
31
+
32
+ ## [0.11.0]
33
+ - Expose product_key on PetContract
34
+
35
+ ## [0.10.0]
36
+ - Add KB::Product Entity
37
+
38
+ ## [0.9.0]
39
+ - Add conversion_utm_adgroup_id and conversion_utm_campaign_id to PetContract
40
+
41
+ ## [0.8.0]
42
+ - Add conversion_utm_\* attributes to PetContract
43
+
44
+ ## [0.7.2]
45
+ - Fix kb-fake pet parent upsert with partial identification
46
+
47
+ ## [0.7.1]
48
+ - Fix dsl-configurable positional arg deprecated warning
49
+
50
+ ## [0.7.0]
51
+ - Add new Error classes
52
+ - Emulate the same behavior on Pet Parent Upsert
53
+
54
+ ## [0.6.0]
55
+ - Add price_discount_yearly PetContract attribute
56
+
57
+ ## [0.5.0]
58
+ - Switch to consume petfamily based consultation endpoint
59
+
60
+ ## [0.4.10]
61
+ - Add affiliate PetContract attributes
62
+
63
+ ## [0.4.9]
64
+ - Fix ActiveModel dirty implementation
65
+
66
+ ## [0.4.8]
67
+ - Fix KB::Error not accepting nil body
68
+
69
+ ## [0.4.7]
70
+ - Breed - Add external_id field
71
+
72
+ ## [0.4.6]
73
+ - PetParent - Add more KB fields
74
+
75
+ ## [0.4.5]
76
+ - Breeds - Add server endpoint for tests on fake gem
77
+
78
+ ## [0.4.4]
79
+ - Breeds - Adjust fields definition to petfamily domain ones
80
+
81
+ ## [0.4.3]
82
+ - Breeds - Change client resolver template to use petfamily domain
83
+
84
+ ## [0.4.2]
85
+ - Assessment - Parse time from date
86
+
87
+ ## [0.4.1]
88
+ - Add Pet Upsert method
89
+
90
+ ## [0.4.0]
91
+ - Add Upsert Endpoint
92
+
93
+ ## [0.3.6]
94
+ - Add cache to client request method
95
+
96
+ ## [0.3.5]
97
+ - Add Dry gem and setup config
98
+ - Add cache as gem config settings
99
+ - Add log level as gem config settings
100
+ - Improve KB Exceptions definitions
101
+
102
+ ## [0.3.4]
103
+ - Fix planName attributes wrongly named on Plan
104
+
105
+ ## [0.3.3]
106
+ - Fix buyable and planLifeInMonths attributes wrongly named on Plan
107
+
108
+ ## [0.3.2]
109
+ - Exposes `KB::PetContract` entity
110
+ - Add `contracts` method to `KB::Pet` and `KB::PetParent`
111
+
112
+ ## [0.3.1]
113
+ - Fix Fake Consultation wrong endpoint version
114
+
115
+ ## [0.3.0]
116
+ - Extracted `kb-fake` gem for client test purposes
117
+
118
+ ## [0.2.7]
119
+ - Fix missing deleted_at accessors on PetParent and Pet entities
120
+
121
+ ## [0.2.6]
122
+ - Exposes `Destroyable` concerns on PetParent and Pet entities
123
+
124
+ ## [0.2.5]
125
+ - Exposes `FindOrCreatable` concerns on PetParent and Pet entities
126
+
127
+ ## [0.2.4]
128
+ - Fix Assessment not properly localized
129
+
130
+ ## [0.2.3]
131
+ - Fix missing ActiveSupport dependency loading
132
+
133
+ ## [0.2.2]
134
+ - Fix custom array types returning single element
135
+ - Test dependency extracted
136
+
137
+ ## [0.2.1]
138
+ - Fix gem loading order for tests
139
+
140
+ ## [0.2.0]
141
+ - Provide FakeApi for client implementation testing
142
+ - Add Pet entity
143
+ - Add `AsKBWrapper` concern for easy activerecord wrapping
144
+ - Add `UniquenessValidator` for easy validation on wrapping model
145
+ - `AsKBWrapper` - add `skip_callback` option
146
+
147
+ ## [0.1.1] - 2020-01-12
148
+ - Init Version: Breeds and limited PetParents/Consultations
149
+
150
+ [Unreleased]: https://github.com/barkibu/kb-ruby/compare/v0.10.0...HEAD
151
+ [0.10.0]: https://github.com/barkibu/kb-ruby/compare/v0.9.0...0.10.0
152
+ [0.9.0]: https://github.com/barkibu/kb-ruby/compare/v0.8.0...0.9.0
153
+ [0.8.0]: https://github.com/barkibu/kb-ruby/compare/v0.7.2...0.8.0
154
+ [0.7.2]: https://github.com/barkibu/kb-ruby/compare/v0.7.1...v0.7.2
155
+ [0.7.1]: https://github.com/barkibu/kb-ruby/compare/v0.7.0...v0.7.1
156
+ [0.7.0]: https://github.com/barkibu/kb-ruby/compare/v0.6.0...v0.7.0
157
+ [0.6.0]: https://github.com/barkibu/kb-ruby/compare/v0.5.0...v0.6.0
158
+ [0.5.0]: https://github.com/barkibu/kb-ruby/compare/v0.4.10...v0.5.0
159
+ [0.4.10]: https://github.com/barkibu/kb-ruby/compare/v0.4.9...v0.4.10
160
+ [0.4.9]: https://github.com/barkibu/kb-ruby/compare/v0.4.8...v0.4.9
161
+ [0.4.8]: https://github.com/barkibu/kb-ruby/compare/v0.4.7...v0.4.8
162
+ [0.4.7]: https://github.com/barkibu/kb-ruby/compare/v0.4.6...v0.4.7
163
+ [0.4.6]: https://github.com/barkibu/kb-ruby/compare/v0.4.5...v0.4.6
164
+ [0.4.5]: https://github.com/barkibu/kb-ruby/compare/v0.4.4...v0.4.5
165
+ [0.4.4]: https://github.com/barkibu/kb-ruby/compare/v0.4.3...v0.4.4
166
+ [0.4.3]: https://github.com/barkibu/kb-ruby/compare/v0.4.2...v0.4.3
167
+ [0.4.2]: https://github.com/barkibu/kb-ruby/compare/v0.4.1...v0.4.2
168
+ [0.4.1]: https://github.com/barkibu/kb-ruby/compare/v0.4.0...v0.4.1
169
+ [0.4.0]: https://github.com/barkibu/kb-ruby/compare/v0.3.6...v0.4.0
170
+ [0.3.6]: https://github.com/barkibu/kb-ruby/compare/v0.3.5...v0.3.6
171
+ [0.3.5]: https://github.com/barkibu/kb-ruby/compare/v0.3.4...v0.3.5
172
+ [0.3.4]: https://github.com/barkibu/kb-ruby/compare/v0.3.3...v0.3.4
173
+ [0.3.3]: https://github.com/barkibu/kb-ruby/compare/v0.3.2...v0.3.3
174
+ [0.3.2]: https://github.com/barkibu/kb-ruby/compare/v0.3.1...v0.3.2
175
+ [0.3.1]: https://github.com/barkibu/kb-ruby/compare/v0.3.0...v0.3.1
176
+ [0.3.0]: https://github.com/barkibu/kb-ruby/compare/v0.2.7...v0.3.0
177
+ [0.2.7]: https://github.com/barkibu/kb-ruby/compare/v0.2.6...v0.2.7
178
+ [0.2.6]: https://github.com/barkibu/kb-ruby/compare/v0.2.5...v0.2.6
179
+ [0.2.5]: https://github.com/barkibu/kb-ruby/compare/v0.2.4...v0.2.5
180
+ [0.2.4]: https://github.com/barkibu/kb-ruby/compare/v0.2.3...v0.2.4
181
+ [0.2.3]: https://github.com/barkibu/kb-ruby/compare/v0.2.2...v0.2.3
182
+ [0.2.2]: https://github.com/barkibu/kb-ruby/compare/v0.2.1...v0.2.2
183
+ [0.2.1]: https://github.com/barkibu/kb-ruby/compare/v0.2.0...v0.2.1
184
+ [0.2.0]: https://github.com/barkibu/kb-ruby/compare/v0.1.1...v0.2.0
185
+ [0.1.1]: https://github.com/barkibu/kb-ruby/releases/tag/v0.1.1
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at TODO: Write your email address. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in kb.gemspec
6
+ gemspec name: 'barkibu-kb'
7
+ gemspec name: 'barkibu-kb-fake', development_group: :fake
data/Gemfile.lock ADDED
@@ -0,0 +1,182 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ barkibu-kb (0.16.1)
5
+ activemodel (>= 4.0.2)
6
+ activerecord
7
+ activesupport (>= 3.0.0)
8
+ dry-configurable (~> 0.9)
9
+ faraday
10
+ faraday-http
11
+ faraday_middleware
12
+ i18n
13
+ barkibu-kb-fake (0.16.1)
14
+ barkibu-kb (= 0.16.1)
15
+ countries
16
+ sinatra
17
+ webmock
18
+
19
+ GEM
20
+ remote: https://rubygems.org/
21
+ specs:
22
+ activemodel (7.0.3)
23
+ activesupport (= 7.0.3)
24
+ activerecord (7.0.3)
25
+ activemodel (= 7.0.3)
26
+ activesupport (= 7.0.3)
27
+ activesupport (7.0.3)
28
+ concurrent-ruby (~> 1.0, >= 1.0.2)
29
+ i18n (>= 1.6, < 2)
30
+ minitest (>= 5.1)
31
+ tzinfo (~> 2.0)
32
+ addressable (2.8.0)
33
+ public_suffix (>= 2.0.2, < 5.0)
34
+ ast (2.4.2)
35
+ byebug (11.1.3)
36
+ concurrent-ruby (1.1.10)
37
+ countries (5.0.2)
38
+ i18n_data (~> 0.16.0)
39
+ sixarm_ruby_unaccent (~> 1.1)
40
+ crack (0.4.5)
41
+ rexml
42
+ diff-lcs (1.4.4)
43
+ docile (1.4.0)
44
+ domain_name (0.5.20190701)
45
+ unf (>= 0.0.5, < 1.0.0)
46
+ dry-configurable (0.15.0)
47
+ concurrent-ruby (~> 1.0)
48
+ dry-core (~> 0.6)
49
+ dry-core (0.7.1)
50
+ concurrent-ruby (~> 1.0)
51
+ faraday (1.10.0)
52
+ faraday-em_http (~> 1.0)
53
+ faraday-em_synchrony (~> 1.0)
54
+ faraday-excon (~> 1.1)
55
+ faraday-httpclient (~> 1.0)
56
+ faraday-multipart (~> 1.0)
57
+ faraday-net_http (~> 1.0)
58
+ faraday-net_http_persistent (~> 1.0)
59
+ faraday-patron (~> 1.0)
60
+ faraday-rack (~> 1.0)
61
+ faraday-retry (~> 1.0)
62
+ ruby2_keywords (>= 0.0.4)
63
+ faraday-em_http (1.0.0)
64
+ faraday-em_synchrony (1.0.0)
65
+ faraday-excon (1.1.0)
66
+ faraday-http (1.1.0)
67
+ faraday (~> 1.0)
68
+ http (>= 4.0, < 6)
69
+ faraday-httpclient (1.0.1)
70
+ faraday-multipart (1.0.4)
71
+ multipart-post (~> 2)
72
+ faraday-net_http (1.0.1)
73
+ faraday-net_http_persistent (1.2.0)
74
+ faraday-patron (1.0.0)
75
+ faraday-rack (1.0.0)
76
+ faraday-retry (1.0.3)
77
+ faraday_middleware (1.2.0)
78
+ faraday (~> 1.0)
79
+ ffi (1.15.5)
80
+ ffi-compiler (1.0.1)
81
+ ffi (>= 1.0.0)
82
+ rake
83
+ hashdiff (1.0.1)
84
+ http (5.0.4)
85
+ addressable (~> 2.8)
86
+ http-cookie (~> 1.0)
87
+ http-form_data (~> 2.2)
88
+ llhttp-ffi (~> 0.4.0)
89
+ http-cookie (1.0.5)
90
+ domain_name (~> 0.5)
91
+ http-form_data (2.3.0)
92
+ i18n (1.10.0)
93
+ concurrent-ruby (~> 1.0)
94
+ i18n_data (0.16.0)
95
+ simple_po_parser (~> 1.1)
96
+ llhttp-ffi (0.4.0)
97
+ ffi-compiler (~> 1.0)
98
+ rake (~> 13.0)
99
+ minitest (5.15.0)
100
+ multipart-post (2.2.3)
101
+ mustermann (1.1.1)
102
+ ruby2_keywords (~> 0.0.1)
103
+ parallel (1.21.0)
104
+ parser (3.0.2.0)
105
+ ast (~> 2.4.1)
106
+ public_suffix (4.0.7)
107
+ rack (2.2.3.1)
108
+ rack-protection (2.2.0)
109
+ rack
110
+ rainbow (3.0.0)
111
+ rake (13.0.6)
112
+ regexp_parser (2.1.1)
113
+ rexml (3.2.5)
114
+ rspec (3.10.0)
115
+ rspec-core (~> 3.10.0)
116
+ rspec-expectations (~> 3.10.0)
117
+ rspec-mocks (~> 3.10.0)
118
+ rspec-core (3.10.1)
119
+ rspec-support (~> 3.10.0)
120
+ rspec-expectations (3.10.1)
121
+ diff-lcs (>= 1.2.0, < 2.0)
122
+ rspec-support (~> 3.10.0)
123
+ rspec-mocks (3.10.2)
124
+ diff-lcs (>= 1.2.0, < 2.0)
125
+ rspec-support (~> 3.10.0)
126
+ rspec-support (3.10.2)
127
+ rubocop (1.21.0)
128
+ parallel (~> 1.10)
129
+ parser (>= 3.0.0.0)
130
+ rainbow (>= 2.2.2, < 4.0)
131
+ regexp_parser (>= 1.8, < 3.0)
132
+ rexml
133
+ rubocop-ast (>= 1.9.1, < 2.0)
134
+ ruby-progressbar (~> 1.7)
135
+ unicode-display_width (>= 1.4.0, < 3.0)
136
+ rubocop-ast (1.11.0)
137
+ parser (>= 3.0.1.1)
138
+ rubocop-rspec (2.5.0)
139
+ rubocop (~> 1.19)
140
+ ruby-progressbar (1.11.0)
141
+ ruby2_keywords (0.0.5)
142
+ simple_po_parser (1.1.6)
143
+ simplecov (0.21.2)
144
+ docile (~> 1.1)
145
+ simplecov-html (~> 0.11)
146
+ simplecov_json_formatter (~> 0.1)
147
+ simplecov-html (0.12.3)
148
+ simplecov_json_formatter (0.1.3)
149
+ sinatra (2.2.0)
150
+ mustermann (~> 1.0)
151
+ rack (~> 2.2)
152
+ rack-protection (= 2.2.0)
153
+ tilt (~> 2.0)
154
+ sixarm_ruby_unaccent (1.2.0)
155
+ tilt (2.0.10)
156
+ tzinfo (2.0.4)
157
+ concurrent-ruby (~> 1.0)
158
+ unf (0.1.4)
159
+ unf_ext
160
+ unf_ext (0.0.8.2)
161
+ unicode-display_width (2.1.0)
162
+ webmock (3.14.0)
163
+ addressable (>= 2.8.0)
164
+ crack (>= 0.3.2)
165
+ hashdiff (>= 0.4.0, < 2.0.0)
166
+
167
+ PLATFORMS
168
+ ruby
169
+
170
+ DEPENDENCIES
171
+ barkibu-kb!
172
+ barkibu-kb-fake!
173
+ bundler (~> 1.17)
174
+ byebug
175
+ rake (>= 12.3.3)
176
+ rspec (~> 3.0)
177
+ rubocop
178
+ rubocop-rspec
179
+ simplecov
180
+
181
+ BUNDLED WITH
182
+ 1.17.3
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2021 TODO: Write your name
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.