standard-procedure-signal 0.3.0 → 0.3.1

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