io-endpoint 0.11.0 → 0.13.0

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: 13d2f1f030ef02d8e3af3a6c610fd163cce181414f38873b65f89f121631f030
4
- data.tar.gz: 699ee178c94c8a4bb6bfb16e4cbdb32f1d6c59939b40d5ce415cacc790f5fa88
3
+ metadata.gz: a3e2f94c163119fe780d312df9546a2d1f8d844748ecb97562a67625c52922ad
4
+ data.tar.gz: b8c061943bb548bfda2ed77ef5b8e7a7ede3238b34fbbb9e884d28b29b086a03
5
5
  SHA512:
6
- metadata.gz: 74db4f5cf9a32b099d67378948aaf731d1709661a93bfe440226bf461f0195b6093fa2258fb9d54f17f0ad79b0f99e8a09b68db69fb57c3e65bb3b19f728a1fe
7
- data.tar.gz: cc1be6161c818a0085c6f0d0b4fb802adf5f634bfb55640ab89e79cf2c0cc1a1da5207b34ac75083c6e7ec9a358fc9fc2d84ac077668e7cb39971ed2ad6d9722
6
+ metadata.gz: 8d89be8e49597e1af88ab58caca2fd12ccc4d2214cc70a7f4ec1c5b746c32a4a8941b6d96cc3e621af4a89eb894e64ceea61d8a0834286ca12eb243a34498d56
7
+ data.tar.gz: 2ab3e03a9986203526c8e78e76538b5e3ca45c47bb0222008b1acb94031d2838309f391a3e730f534db4409d31982e8d6faaac0cea86e4d17f28d61f06271de5
checksums.yaml.gz.sig CHANGED
Binary file
@@ -10,9 +10,26 @@ module IO::Endpoint
10
10
  class CompositeEndpoint < Generic
11
11
  def initialize(endpoints, **options)
12
12
  super(**options)
13
+
14
+ # If any options were provided, propagate them to the endpoints:
15
+ if options.any?
16
+ endpoints = endpoints.map{|endpoint| endpoint.with(**options)}
17
+ end
18
+
13
19
  @endpoints = endpoints
14
20
  end
15
21
 
22
+ def with(**options)
23
+ self.class.new(endpoints.map{|endpoint| endpoint.with(**options)}, **@options.merge(options))
24
+ end
25
+
26
+ attr :endpoints
27
+
28
+ # The number of endpoints in the composite endpoint.
29
+ def size
30
+ @endpoints.size
31
+ end
32
+
16
33
  def each(&block)
17
34
  @endpoints.each do |endpoint|
18
35
  endpoint.each(&block)
@@ -5,6 +5,6 @@
5
5
 
6
6
  class IO
7
7
  module Endpoint
8
- VERSION = "0.11.0"
8
+ VERSION = "0.13.0"
9
9
  end
10
10
  end
data/readme.md CHANGED
@@ -20,11 +20,11 @@ We welcome contributions to this project.
20
20
 
21
21
  ### Developer Certificate of Origin
22
22
 
23
- This project uses the [Developer Certificate of Origin](https://developercertificate.org/). All contributors to this project must agree to this document to have their contributions accepted.
23
+ In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
24
24
 
25
- ### Contributor Covenant
25
+ ### Community Guidelines
26
26
 
27
- This project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.
27
+ This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
28
28
 
29
29
  ## See Also
30
30
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: io-endpoint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -37,7 +37,7 @@ cert_chain:
37
37
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
38
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
39
39
  -----END CERTIFICATE-----
40
- date: 2024-06-23 00:00:00.000000000 Z
40
+ date: 2024-07-15 00:00:00.000000000 Z
41
41
  dependencies: []
42
42
  description:
43
43
  email:
metadata.gz.sig CHANGED
Binary file