hyper-state 1.0.alpha1.2 → 1.0.alpha1.3
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 +4 -4
- data/hyper-state.gemspec +2 -2
- data/lib/hyperstack/internal/callbacks.rb +18 -10
- data/lib/hyperstack/state/observable.rb +4 -4
- data/lib/hyperstack/state/version.rb +1 -1
- metadata +19 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b2e57db899fdc1cf26978b2a1bc65abe6e9e9394594be644163de6070c2376d
|
4
|
+
data.tar.gz: 014705ce36d24c695f5d104004dc70be1a2d8f9039d879ab36887bebfdd14c88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbc9b8724cb6cf3b0c82c081270d2bdba0cf1378261ce2abfcb62629a24af6e8a128e2a3cfe9ce7a71a293c0463e9c5e627602ddf092b9cc7c91088a8633b0e5
|
7
|
+
data.tar.gz: cb72f01f5629cff13064a0b125eb3a618bdef737f6413c9778ca4a6297b1ce4d30d176588d185cc8547ada050b620db45a217c919e620c34e8674ef5d15e443b
|
data/hyper-state.gemspec
CHANGED
@@ -23,12 +23,12 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.add_dependency 'hyperstack-config', Hyperstack::State::VERSION
|
25
25
|
spec.add_dependency 'opal', '>= 0.11.0', '< 0.12.0'
|
26
|
-
spec.add_development_dependency 'bundler'
|
26
|
+
spec.add_development_dependency 'bundler', ['>= 1.17.3', '< 2.1']
|
27
27
|
spec.add_development_dependency 'chromedriver-helper'
|
28
28
|
spec.add_development_dependency 'hyper-component', Hyperstack::State::VERSION
|
29
29
|
spec.add_development_dependency 'hyper-spec', Hyperstack::State::VERSION
|
30
30
|
spec.add_development_dependency 'listen'
|
31
|
-
spec.add_development_dependency 'mini_racer', '~> 0.
|
31
|
+
spec.add_development_dependency 'mini_racer', '~> 0.2.4'
|
32
32
|
spec.add_development_dependency 'opal-browser', '~> 0.2.0'
|
33
33
|
spec.add_development_dependency 'opal-rails', '~> 0.9.4'
|
34
34
|
spec.add_development_dependency 'pry-byebug'
|
@@ -3,7 +3,7 @@ module Hyperstack
|
|
3
3
|
module Callbacks
|
4
4
|
if RUBY_ENGINE != 'opal'
|
5
5
|
class Hyperstack::Hotloader
|
6
|
-
def self.
|
6
|
+
def self.when_file_updates(&block); end
|
7
7
|
end
|
8
8
|
end
|
9
9
|
def self.included(base)
|
@@ -11,13 +11,15 @@ module Hyperstack
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def run_callback(name, *args)
|
14
|
-
self.class.callbacks_for(name).each do |callback|
|
15
|
-
if callback.is_a?(Proc)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
self.class.callbacks_for(name).flatten.each do |callback|
|
15
|
+
result = if callback.is_a?(Proc)
|
16
|
+
instance_exec(*args, &callback)
|
17
|
+
else
|
18
|
+
send(callback, *args)
|
19
|
+
end
|
20
|
+
args = yield(result) if block_given?
|
20
21
|
end
|
22
|
+
args
|
21
23
|
end
|
22
24
|
|
23
25
|
module ClassMethods
|
@@ -27,9 +29,11 @@ module Hyperstack
|
|
27
29
|
Context.set_var(self, "@#{wrapper_name}", force: true) { [] }
|
28
30
|
end
|
29
31
|
define_singleton_method(callback_name) do |*args, &block|
|
30
|
-
|
31
|
-
send(wrapper_name).push
|
32
|
-
Hotloader.
|
32
|
+
args << block if block_given?
|
33
|
+
send(wrapper_name).push args
|
34
|
+
Hotloader.when_file_updates do
|
35
|
+
send(wrapper_name).delete_if { |item| item.equal? args }
|
36
|
+
end
|
33
37
|
after_define_hook.call(*args, &block) if after_define_hook
|
34
38
|
end
|
35
39
|
end
|
@@ -42,6 +46,10 @@ module Hyperstack
|
|
42
46
|
[]
|
43
47
|
end + send(wrapper_name)
|
44
48
|
end
|
49
|
+
|
50
|
+
def callbacks?(name)
|
51
|
+
callbacks_for(name).any?
|
52
|
+
end
|
45
53
|
end
|
46
54
|
end
|
47
55
|
end
|
@@ -11,14 +11,14 @@ module Hyperstack
|
|
11
11
|
base.send(:"define_#{kind}", :receives) do |*args, &block|
|
12
12
|
Internal::Receiver.mount(self, *args, &block)
|
13
13
|
end
|
14
|
-
base.send(:"define_#{kind}", :observe) do
|
15
|
-
result = block.call
|
14
|
+
base.send(:"define_#{kind}", :observe) do |*args, &block|
|
15
|
+
result = block && block.call || args.last
|
16
16
|
Internal::State::Mapper.observed! self
|
17
17
|
result
|
18
18
|
end
|
19
|
-
base.send(:"define_#{kind}", :mutate) do |*
|
19
|
+
base.send(:"define_#{kind}", :mutate) do |*args, &block|
|
20
20
|
# any args will be ignored thus allowing us to say `mutate @foo = 123, @bar[:x] = 7` etc
|
21
|
-
result = block.call
|
21
|
+
result = block && block.call || args.last
|
22
22
|
Internal::State::Mapper.mutated! self
|
23
23
|
result
|
24
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyper-state
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.alpha1.
|
4
|
+
version: 1.0.alpha1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mitch VanDuyn
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2019-01-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: hyperstack-config
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.0.alpha1.
|
21
|
+
version: 1.0.alpha1.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 1.0.alpha1.
|
28
|
+
version: 1.0.alpha1.3
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: opal
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,14 +52,20 @@ dependencies:
|
|
52
52
|
requirements:
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: 1.17.3
|
56
|
+
- - "<"
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '2.1'
|
56
59
|
type: :development
|
57
60
|
prerelease: false
|
58
61
|
version_requirements: !ruby/object:Gem::Requirement
|
59
62
|
requirements:
|
60
63
|
- - ">="
|
61
64
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
65
|
+
version: 1.17.3
|
66
|
+
- - "<"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.1'
|
63
69
|
- !ruby/object:Gem::Dependency
|
64
70
|
name: chromedriver-helper
|
65
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,28 +86,28 @@ dependencies:
|
|
80
86
|
requirements:
|
81
87
|
- - '='
|
82
88
|
- !ruby/object:Gem::Version
|
83
|
-
version: 1.0.alpha1.
|
89
|
+
version: 1.0.alpha1.3
|
84
90
|
type: :development
|
85
91
|
prerelease: false
|
86
92
|
version_requirements: !ruby/object:Gem::Requirement
|
87
93
|
requirements:
|
88
94
|
- - '='
|
89
95
|
- !ruby/object:Gem::Version
|
90
|
-
version: 1.0.alpha1.
|
96
|
+
version: 1.0.alpha1.3
|
91
97
|
- !ruby/object:Gem::Dependency
|
92
98
|
name: hyper-spec
|
93
99
|
requirement: !ruby/object:Gem::Requirement
|
94
100
|
requirements:
|
95
101
|
- - '='
|
96
102
|
- !ruby/object:Gem::Version
|
97
|
-
version: 1.0.alpha1.
|
103
|
+
version: 1.0.alpha1.3
|
98
104
|
type: :development
|
99
105
|
prerelease: false
|
100
106
|
version_requirements: !ruby/object:Gem::Requirement
|
101
107
|
requirements:
|
102
108
|
- - '='
|
103
109
|
- !ruby/object:Gem::Version
|
104
|
-
version: 1.0.alpha1.
|
110
|
+
version: 1.0.alpha1.3
|
105
111
|
- !ruby/object:Gem::Dependency
|
106
112
|
name: listen
|
107
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,14 +128,14 @@ dependencies:
|
|
122
128
|
requirements:
|
123
129
|
- - "~>"
|
124
130
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.
|
131
|
+
version: 0.2.4
|
126
132
|
type: :development
|
127
133
|
prerelease: false
|
128
134
|
version_requirements: !ruby/object:Gem::Requirement
|
129
135
|
requirements:
|
130
136
|
- - "~>"
|
131
137
|
- !ruby/object:Gem::Version
|
132
|
-
version: 0.
|
138
|
+
version: 0.2.4
|
133
139
|
- !ruby/object:Gem::Dependency
|
134
140
|
name: opal-browser
|
135
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -376,8 +382,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
376
382
|
- !ruby/object:Gem::Version
|
377
383
|
version: 1.3.1
|
378
384
|
requirements: []
|
379
|
-
|
380
|
-
rubygems_version: 2.7.8
|
385
|
+
rubygems_version: 3.0.2
|
381
386
|
signing_key:
|
382
387
|
specification_version: 4
|
383
388
|
summary: Flux Stores and more for Hyperloop
|