hyper-state 1.0.alpha1.2 → 1.0.alpha1.3

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: 8a4e6861713a026b7878443bedaf51619c9c7152b62bc4a588d6ebd2744c6cb5
4
- data.tar.gz: 0d4bb03e324e82feb7b59706a8a07fa51eaae50ecbf2069ae6db37307c14056c
3
+ metadata.gz: 5b2e57db899fdc1cf26978b2a1bc65abe6e9e9394594be644163de6070c2376d
4
+ data.tar.gz: 014705ce36d24c695f5d104004dc70be1a2d8f9039d879ab36887bebfdd14c88
5
5
  SHA512:
6
- metadata.gz: '09092aa06c724440995f34445310cdf526f0c03003c6fd5fee9b7b0af0dd9eb30534c3674a6ce7a967251bd0359a888d79c5f7a1993c8086e17013fef15a44ff'
7
- data.tar.gz: '0081a14b941ccda9fcc54c5b2079e7dd384a9c20cac6ebbeb2884e151fd8803b26a90b77c619e3786c2dc2ce049954b5446ad060e925545100aaf6943a427447'
6
+ metadata.gz: bbc9b8724cb6cf3b0c82c081270d2bdba0cf1378261ce2abfcb62629a24af6e8a128e2a3cfe9ce7a71a293c0463e9c5e627602ddf092b9cc7c91088a8633b0e5
7
+ data.tar.gz: cb72f01f5629cff13064a0b125eb3a618bdef737f6413c9778ca4a6297b1ce4d30d176588d185cc8547ada050b620db45a217c919e620c34e8674ef5d15e443b
@@ -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.1.15'
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.record(*args); end
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
- instance_exec(*args, &callback)
17
- else
18
- send(callback, *args)
19
- end
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
- send(wrapper_name).concat(args)
31
- send(wrapper_name).push(block) if block_given?
32
- Hotloader.record(self, "@#{wrapper_name}", 4, *args, block)
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 |&block|
15
- result = block.call if block
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 |*_args, &block|
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 if block
21
+ result = block && block.call || args.last
22
22
  Internal::State::Mapper.mutated! self
23
23
  result
24
24
  end
@@ -1,5 +1,5 @@
1
1
  module Hyperstack
2
2
  module State
3
- VERSION = '1.0.alpha1.2'
3
+ VERSION = '1.0.alpha1.3'
4
4
  end
5
5
  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.2
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: 2018-11-16 00:00:00.000000000 Z
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.2
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.2
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: '0'
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: '0'
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.2
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.2
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.2
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.2
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.1.15
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.1.15
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
- rubyforge_project:
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