hub_kernel-interface 0.7.0 → 0.8.0

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: f7cdd56bbaa3af1615fe903a0002571152377ba8b56a5c23c86034c9352c4de2
4
- data.tar.gz: b90f842a3e3f3b41557cda49bd8c7b9bee47b83c0f1ead77af2519cda26dcbd0
3
+ metadata.gz: d0080a27457d5f374c3c92fbbeeecbd3ad8e1c6543e2274634cb14df708626c0
4
+ data.tar.gz: 76609fd82439a9b52510439ab93ed23d81f222edd14a3aa9f2d3276a5bc7aa76
5
5
  SHA512:
6
- metadata.gz: c31921614b4f23ec6893f283618933eed79fdff334cbf86a09b8531ccbe62d6bcfd7137c16f70ff216bd0923409b11b72ffb56900fd8cc8a8941c1d6c8b19aa4
7
- data.tar.gz: 5206997bce3a5916d0ca85e599484541f69fee6e9d08cda7647ac684f539a7dcd23f9fc12e6422be34e6cd48614d5b01e81ea347a33c00d117e7180d47e9247e
6
+ metadata.gz: 1c9820a93999b13cf6895dc4b5a10622210aa656b9ec078650790886079dee7a149f507e47c973275e7ab41ceb375e08f0d5fa8246dc62ad39f02f8a84811af0
7
+ data.tar.gz: 7c9f45f51ebac824991737b2170e48c7665788d5ed30d4f3d2f98b6bd5db820e1fa2afa278abc48e7bc9d10ab8bcfe8d01644823d5682bd6f74dde37dc8fe16b
data/README.md CHANGED
@@ -86,6 +86,11 @@ declares an exposed method.
86
86
  gem "hub_kernel-interface"
87
87
  ```
88
88
 
89
+ hub_kernel releases before 0.19.0 define this contract themselves. Loading hub_kernel-interface
90
+ beside one raises `HubKernel::Interface::OlderHubKernelError`, which names the hub_kernel
91
+ release to upgrade to. An app with no hub_kernel, or with hub_kernel 0.19.0 or later, loads it
92
+ as usual.
93
+
89
94
  ## License
90
95
 
91
96
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,15 @@
1
+ module HubKernel
2
+ module Interface
3
+ class OlderHubKernelError < StandardError; end
4
+
5
+ module HubKernelRelease
6
+ FIRST_BUILT_ON_INTERFACE = Gem::Version.new("0.19.0")
7
+
8
+ def self.refuse_older!(spec)
9
+ return if spec.nil? || spec.version >= FIRST_BUILT_ON_INTERFACE
10
+
11
+ raise OlderHubKernelError, "hub_kernel #{spec.version} still defines the contract hub_kernel-interface holds, so upgrade hub_kernel to #{FIRST_BUILT_ON_INTERFACE} or later"
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,5 +1,5 @@
1
1
  module HubKernel
2
2
  module Interface
3
- VERSION = "0.7.0"
3
+ VERSION = "0.8.0"
4
4
  end
5
5
  end
@@ -1,4 +1,6 @@
1
1
  require "hub_kernel/interface/version"
2
+ require "hub_kernel/interface/hub_kernel_release"
3
+ HubKernel::Interface::HubKernelRelease.refuse_older!(Gem.loaded_specs["hub_kernel"])
2
4
  require "hub_kernel/exposes"
3
5
  require "hub_kernel/interface/call_reasons"
4
6
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hub_kernel-interface
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - tylercschneider
@@ -42,6 +42,7 @@ files:
42
42
  - lib/hub_kernel/interface.rb
43
43
  - lib/hub_kernel/interface/call_reasons.rb
44
44
  - lib/hub_kernel/interface/exposing_hubs.rb
45
+ - lib/hub_kernel/interface/hub_kernel_release.rb
45
46
  - lib/hub_kernel/interface/version.rb
46
47
  - the_local/agents/hub_kernel-interface-develop.md
47
48
  - the_local/agents/hub_kernel-interface-info.md