navigable 1.2.0 → 1.3.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a004a4e2480872ee2a0130049ad9ef937a051ce833e531ac7630e959619d810
|
4
|
+
data.tar.gz: e8da43504809998f63d4814e6e811210bed57e08da0fbeb129ed0cf6771d152b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d59a86ed9f40d4d1def574099592f46b4434f78deb0aa1b6e89d41fd6cc13d8c89db2393885bff1449113741c9e566cecd6d30848962c2afd6da6f23dbf29abf
|
7
|
+
data.tar.gz: c159acdb8be562e419540b01cccf1efb9df1b8dfa37f9fd85b7e6ac7a455fb54dd080c29d062b96460fb8f393688d15061ac10466b68dd83f0e025309a34aec3
|
data/lib/navigable/dispatcher.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen-string-literal: true
|
2
2
|
|
3
|
-
require 'navigable/
|
3
|
+
require 'navigable/null_resolver'
|
4
4
|
require 'navigable/observer'
|
5
5
|
require 'navigable/command'
|
6
6
|
|
7
7
|
module Navigable
|
8
8
|
class Dispatcher
|
9
|
-
def self.dispatch(key, params: {}, resolver:
|
9
|
+
def self.dispatch(key, params: {}, resolver: NullResolver.new)
|
10
10
|
self.new(key, params: params, resolver: resolver).dispatch
|
11
11
|
end
|
12
12
|
|
data/lib/navigable/resolver.rb
CHANGED
@@ -4,10 +4,23 @@ require 'navigable/observer_interface'
|
|
4
4
|
|
5
5
|
module Navigable
|
6
6
|
module Resolver
|
7
|
-
|
7
|
+
TYPE = :__resolver__
|
8
|
+
RESOLVE_NOT_IMPLEMENTED_MESSAGE = 'Resolver classes must implement a `resolve` method.'
|
8
9
|
|
9
10
|
def self.extended(base)
|
11
|
+
base.extend(Manufacturable::Item)
|
10
12
|
base.include(ObserverInterface)
|
13
|
+
|
14
|
+
base.instance_eval do
|
15
|
+
def default_resolver
|
16
|
+
default_manufacturable(TYPE)
|
17
|
+
end
|
18
|
+
|
19
|
+
def resolves(key)
|
20
|
+
corresponds_to(key, TYPE)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
11
24
|
base.class_eval do
|
12
25
|
def resolve
|
13
26
|
raise NotImplementedError.new(RESOLVE_NOT_IMPLEMENTED_MESSAGE)
|
data/lib/navigable/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: navigable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alan Ridlehoover
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-09-
|
12
|
+
date: 2020-09-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: manufacturable
|
@@ -118,9 +118,9 @@ files:
|
|
118
118
|
- bin/console
|
119
119
|
- bin/setup
|
120
120
|
- lib/navigable.rb
|
121
|
-
- lib/navigable/basic_resolver.rb
|
122
121
|
- lib/navigable/command.rb
|
123
122
|
- lib/navigable/dispatcher.rb
|
123
|
+
- lib/navigable/null_resolver.rb
|
124
124
|
- lib/navigable/observable.rb
|
125
125
|
- lib/navigable/observer.rb
|
126
126
|
- lib/navigable/observer_interface.rb
|