hyper-state 0.1 → 1.0.alpha1

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: 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