standard-procedure-signal 0.3.0 → 0.3.1

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: 616cd930586c5ccb4f1c765c62a7263d45905f5f28cbfe9eaa54aca3870d0b09
4
- data.tar.gz: 1fdcdfd26133fb21658a094b2375d7c033e11a232ca7ce0428044303c02150ad
3
+ metadata.gz: e34f420902fc79c8fd58505f632c9fa5b73dc5df2c277a4687d81371f319c43c
4
+ data.tar.gz: 98c9ef6fa142338bd44f18ba952b087d762bb7f8b16c0c3437e9b428642c285d
5
5
  SHA512:
6
- metadata.gz: 9e3bb22024d2892fb4201abc46632ceae09e3017247efd9b71658ed6b09cd28ec833761a59ea19f3ab5666a25f722701c64985b1eca37eb9ff89bf720c6b4ac5
7
- data.tar.gz: ba0e2b682ba308f69cab17e31e85cff00370b7c53e118c56ca6a7d270f603b70e08b2d2c1f7f458385128909dac2eec005420631f3c7c81a8dc6c40e455eb105
6
+ metadata.gz: bb75c8d3a57bcd55b624ef4d4b9d9c85bf016d404c49544c969f3eb197d601f2f8cdef8ed5746ee872ac49b54b84c7f5dc4f85f59454e1996abe2b4ababff352
7
+ data.tar.gz: e3b79cbd6df6ab5ccbb0c89bea4c4218b00b8d70adb58a05ee8a3ec0c62f6b8a2175a065ed83afc671fafbc6309ae503aaab327c1d13ee93488179ebc78287c6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.3.1] - 2023-09-16
2
+
3
+ - Array and Hash no longer wrap their contents in attributes.
4
+
1
5
  ## [0.3.0] - 2023-09-14
2
6
 
3
7
  - Added opal-rspec to ensure that everything works OK when running in a browser context
@@ -0,0 +1 @@
1
+ 153c47025ab6b8b78f755c53a3ccca764a71139dce98aa8b6ff34ee36fddc5c1609c085f7507015ee7dd6964c2235e58161bd76978356f0da27126472744ebbf
@@ -7,10 +7,10 @@ module StandardProcedure
7
7
  def set(new_value)
8
8
  new_value = if new_value.nil?
9
9
  nil
10
- elsif new_value.respond_to? :map
11
- new_value.map { |i| Attribute.for i }
10
+ elsif new_value.is_a? Enumerable
11
+ new_value.dup
12
12
  else
13
- [Attribute.new(new_value)]
13
+ [new_value]
14
14
  end
15
15
  super new_value
16
16
  end
@@ -35,7 +35,7 @@ module StandardProcedure
35
35
  end
36
36
 
37
37
  def unshift item
38
- @value.unshift Attribute.for(item)
38
+ @value.unshift item
39
39
  update_observers
40
40
  self
41
41
  end
@@ -4,11 +4,11 @@ module StandardProcedure
4
4
  class Hash < Attribute
5
5
  include Enumerable
6
6
 
7
- def set(new_value)
7
+ def set new_value
8
8
  new_value = if new_value.nil?
9
9
  nil
10
- elsif new_value.respond_to? :transform_values
11
- new_value.transform_values { |value| Attribute.for value }
10
+ elsif new_value.respond_to? :to_hash
11
+ new_value.to_hash.dup
12
12
  else
13
13
  raise ArgumentError.new "#{new_value.inspect} is not recognised as a Hash"
14
14
  end
@@ -31,12 +31,8 @@ module StandardProcedure
31
31
  @value.has_key? key
32
32
  end
33
33
 
34
- def has_value? value, attribute: false
35
- if attribute
36
- @value.has_value? value
37
- else
38
- @value.values.map(&:get).include? value
39
- end
34
+ def has_value? value
35
+ @value.has_value? value
40
36
  end
41
37
 
42
38
  def values
@@ -83,6 +79,10 @@ module StandardProcedure
83
79
  @value.clear
84
80
  update_observers
85
81
  end
82
+
83
+ def to_hash
84
+ @value
85
+ end
86
86
  end
87
87
  end
88
88
  end
@@ -9,8 +9,7 @@ module StandardProcedure
9
9
  when nil then nil
10
10
  when ::Time then new_value
11
11
  when ::Date then new_value.to_time
12
- when String then ::Time.new(new_value)
13
- else raise "#{new_value} not recognised"
12
+ else ::Time.new(new_value)
14
13
  end
15
14
  super new_value
16
15
  rescue => e
@@ -2,6 +2,6 @@
2
2
 
3
3
  module StandardProcedure
4
4
  module Signal
5
- VERSION = "0.3.0"
5
+ VERSION = "0.3.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standard-procedure-signal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rahoul Baruah
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-14 00:00:00.000000000 Z
11
+ date: 2023-09-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Observable attributes which adapt based upon their dependencies so we
14
14
  avoid unecessary updates
@@ -35,6 +35,7 @@ files:
35
35
  - checksums/standard-procedure-signal-0.2.0.gem.sha512
36
36
  - checksums/standard-procedure-signal-0.2.1.gem.sha512
37
37
  - checksums/standard-procedure-signal-0.3.0.gem.sha512
38
+ - checksums/standard-procedure-signal-0.3.1.gem.sha512
38
39
  - lib/standard_procedure/signal.rb
39
40
  - lib/standard_procedure/signal/attribute.rb
40
41
  - lib/standard_procedure/signal/attribute/array.rb