plugs 0.2.0 → 0.3.0

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plugs.rb +10 -2
  3. data/lib/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1b3807befe22040b899d38a6d974a45d3b25bc80d1ada5dfcb86a490cb4c329
4
- data.tar.gz: 1d896a56d175b9f8f48ff35d35f918264d1fa63eddad0b98dfcc13394d27f2b0
3
+ metadata.gz: 591e9658be2f12d42b001438cf1769587613e0faee11b711802729c1954446a8
4
+ data.tar.gz: ac8b3e12b9f4219980c53c1dac2e9a0c9412ebe637669ce7a0bee9741e06f4fb
5
5
  SHA512:
6
- metadata.gz: 17def0a554be709a6c3304169003483ab1659add80aa5e4642c38236944c7664f8ff0d6f302bbcd43b289e039c0148cf4bb8607174c2d4ad03e3891c60e32a91
7
- data.tar.gz: b5c038d5cfd10163808d3973f9c19054fc2f52d92b69801cb9057fd04d47a9683ee603cabe4a488dcb737f48ef04e61b55a4434b2eae4af6d03e5c7b484a6595
6
+ metadata.gz: 3967854087c6bfebdd66ab3fb09f3042dabeae4797ab0ed5a532b34c04a9b3ea5db6bdc70a1b71950a04e240c42e0b50d1e3f42ae29faae597af0980b5f8e1e1
7
+ data.tar.gz: 127f2b45b30a81ce320b8c73755dcbbfef39d4acfa4f24671764ef155f167958dade67c3836c87a92d74273576be34b1d6833c2169cfce8c1cafdf15ae0ac99a
data/lib/plugs.rb CHANGED
@@ -6,8 +6,6 @@ require_relative 'sub_selector'
6
6
  module Plugs
7
7
  attr_reader :plugs
8
8
 
9
- class DuplicateKeyError < StandardError; end
10
-
11
9
  def initialize(plugs:, keys:)
12
10
  @plugs = plugs
13
11
  @keys = keys
@@ -17,6 +15,12 @@ module Plugs
17
15
  self.class.new(plugs: SubSelector.sub_select(plugs:, keys:), keys:)
18
16
  end
19
17
 
18
+ def +(b)
19
+ @plugs.merge!(b.plugs) { |key, a_values, b_values| [*a_values, *b_values] }
20
+
21
+ self
22
+ end
23
+
20
24
  def to_a
21
25
  plugs.values.flatten.map(&:result)
22
26
  end
@@ -54,6 +58,10 @@ module Plugs
54
58
  new(plugs: SubSelector.sub_select(plugs:, keys:), keys:)
55
59
  end
56
60
 
61
+ def to_a
62
+ plugs.values.flatten.map(&:result)
63
+ end
64
+
57
65
  def plugs
58
66
  @plugs ||= {}
59
67
  @plugs
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Plugs
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plugs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - maedi