hyper-state 0.1 → 1.0.alpha1

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: b29f86251c6d35f52bed68a7d459ab05426735f510ac0e351afaf209da21b375
4
- data.tar.gz: f51b8622052a5544f8c8237a584c082bc592ad8702d0940e1267e3ca917c3433
3
+ metadata.gz: bcdeecc65519d20691baaa97b5a864e6cbb341d2fc856a2aa6dd2a1d065056b7
4
+ data.tar.gz: f294af8e5ea00486723a783b7bcb07c94ed492fb1c7c50eea94560e811bd820f
5
5
  SHA512:
6
- metadata.gz: 6846b82c975c44f773ab6841dfde7a933e59be3fc28ddb96133490e7fafcff8987ca8671c98021462c23d73962d1a32a7bd2a0b1816cc4a443c8d4c7424e202c
7
- data.tar.gz: 5b52aa1e8c186363471c7fc850892cbe0a13eb3bfbcf725f1a5bf30d05f5ad561f163a61a461ecbb540c970ab14e24bad2d385ead0b3c0a4c48a09559a95a711
6
+ metadata.gz: f0ebfe00a552055d3dac8f6175abda330873f675fa7d5e17086713b762529efef0baab6852eab3b663bb2b7811259f079d48182c085d5d42d04376b89acd1e67
7
+ data.tar.gz: 1cee800a60cdb39c686aaab0dfdaba74deaa46656fa2297b98367696ff4af77a5f811e07d2b840c1d9dba950b16574ed1d88f2e84f39cc538236e2ae6454ee48
@@ -24,16 +24,26 @@ module Hyperstack
24
24
  end
25
25
  if RUBY_ENGINE == 'opal'
26
26
  base.send(:"define_#{kind}", :set) do |var|
27
+ if Hyperstack.naming_convention == :prefix_state
28
+ var = "_#{var}" if var !~ /^_/
29
+ elsif Hyperstack.naming_convention != :none && var !~ /^[a-z]/
30
+ dont_mutate = true
31
+ end
27
32
  lambda do |val|
28
33
  `self[#{var}] = #{val}`
29
- mutate if var =~ /^[a-z]/
34
+ mutate unless dont_mutate
30
35
  end
31
36
  end
32
37
  else
33
38
  base.send(:"define_#{kind}", :set) do |var|
39
+ if Hyperstack.naming_convention == :prefix_state
40
+ var = "_#{var}" if var !~ /^_/
41
+ elsif Hyperstack.naming_convention != :none && var !~ /^[a-z]/
42
+ dont_mutate = true
43
+ end
34
44
  lambda do |val|
35
45
  instance_variable_set(:"@#{var}", val)
36
- mutate if var =~ /^[a-z]/
46
+ mutate unless dont_mutate
37
47
  end
38
48
  end
39
49
  end
@@ -53,15 +63,25 @@ module Hyperstack
53
63
  end
54
64
  base.singleton_class.send(:"define_#{kind}", :state_reader) do |*names|
55
65
  names.each do |name|
66
+ var_name = if Hyperstack.naming_convention == :prefix_state && name !~ /^_/
67
+ "_#{name}"
68
+ else
69
+ name
70
+ end
56
71
  define_method(name) do
57
- instance_variable_get(:"@#{name}").tap { Internal::State::Mapper.observed!(self) }
72
+ instance_variable_get(:"@#{var_name}").tap { Internal::State::Mapper.observed!(self) }
58
73
  end
59
74
  end
60
75
  end
61
76
  base.singleton_class.send(:"define_#{kind}", :state_writer) do |*names|
62
77
  names.each do |name|
78
+ var_name = if Hyperstack.naming_convention == :prefix_state && name !~ /^_/
79
+ "_#{name}"
80
+ else
81
+ name
82
+ end
63
83
  define_method(:"#{name}=") do |x|
64
- instance_variable_set(:"@#{name}", x).tap { Internal::State::Mapper.mutated!(self) }
84
+ instance_variable_set(:"@#{var_name}", x).tap { Internal::State::Mapper.mutated!(self) }
65
85
  end
66
86
  end
67
87
  end
@@ -1,5 +1,5 @@
1
1
  module Hyperstack
2
2
  module State
3
- VERSION = '0.1'
3
+ VERSION = '1.0.alpha1'
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: '0.1'
4
+ version: 1.0.alpha1
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-10 00:00:00.000000000 Z
13
+ date: 2018-11-12 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: '0.1'
21
+ version: 1.0.alpha1
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: '0.1'
28
+ version: 1.0.alpha1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: opal
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -80,28 +80,28 @@ dependencies:
80
80
  requirements:
81
81
  - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: '0.1'
83
+ version: 1.0.alpha1
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - '='
89
89
  - !ruby/object:Gem::Version
90
- version: '0.1'
90
+ version: 1.0.alpha1
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: hyper-spec
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: '0.1'
97
+ version: 1.0.alpha1
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: '0.1'
104
+ version: 1.0.alpha1
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: listen
107
107
  requirement: !ruby/object:Gem::Requirement
@@ -371,9 +371,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
371
371
  version: '0'
372
372
  required_rubygems_version: !ruby/object:Gem::Requirement
373
373
  requirements:
374
- - - ">="
374
+ - - ">"
375
375
  - !ruby/object:Gem::Version
376
- version: '0'
376
+ version: 1.3.1
377
377
  requirements: []
378
378
  rubyforge_project:
379
379
  rubygems_version: 2.7.8