eac_config 0.9.0 → 0.10.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: 5db53702e6d4c6f65f85b26760876d5d6a6a2f0cbce94f4b51d5297ca62e37b3
4
- data.tar.gz: 496941594317063a50560de0a0b570a9fbcaf6f7be33fb73a028339107f95b88
3
+ metadata.gz: 56ebf531215de271f91995d402e92d678ada38c3b77b4327da838c2be2753bcb
4
+ data.tar.gz: 828abd016c72c90dacd8e527f68974e75e793b9ee3fd4d163ffb4b737c73950b
5
5
  SHA512:
6
- metadata.gz: 75828d4f5c77d072e8be098fd550fd119226adafb769906dd514044251aac013fcf987df0a5a050d7b11a0a034a5bc16825348a7b3f352f91bb64aa3184afd47
7
- data.tar.gz: ed10850b15eedc3e3375f06a811e54cb0c3760bb09cdcdb484e7f77c476e84301d465b83c4fedb81dca66e66a2db7c694057322f3ab2f6c55c240c585ab4f68f
6
+ metadata.gz: aa7d28cd6728e76ee1cce56ba932da17da490b98de85b478781f37cd1c4b5f2c3262f9b10da286102683a017bf88397f222b7e4a5ab322b2325f0a217c524a9b
7
+ data.tar.gz: 392269382c259368c8b568af52ec19ae848b38cd019f425e07def1b35ee3c06f310c2a0a7209d47ffb70dc23ad75ea704e9cbc4c50b1c258d1c587a50ba543ad
@@ -28,17 +28,28 @@ module EacConfig
28
28
  end
29
29
  end
30
30
 
31
- attr_reader :parts
32
-
33
- def initialize(parts)
34
- @parts = parts.to_a.freeze
31
+ common_constructor :parts, default: [[]] do
32
+ self.parts = ::Array.new(parts).freeze
35
33
  end
36
34
 
35
+ compare_by :parts
36
+ delegate :any?, :count, :each, :each_value, :each_with_index, :empty?, :fetch, :first, :index,
37
+ :inject, :last, :map, :size, to: :parts
38
+
37
39
  # @return [EacConfig::EntryPath]
38
40
  def +(other)
39
41
  self.class.new(parts + self.class.assert(other).parts)
40
42
  end
41
43
 
44
+ def [](*args)
45
+ slice(*args)
46
+ end
47
+
48
+ def slice(*args)
49
+ r = parts.slice(*args)
50
+ r.is_a?(::Enumerable) ? self.class.new(r) : r
51
+ end
52
+
42
53
  def to_s
43
54
  "#{self.class}[#{parts.join(PART_SEPARATOR)}]"
44
55
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacConfig
4
- VERSION = '0.9.0'
4
+ VERSION = '0.10.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-21 00:00:00.000000000 Z
11
+ date: 2022-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.83'
33
+ version: '0.97'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.83'
40
+ version: '0.97'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: eac_ruby_gem_support
43
43
  requirement: !ruby/object:Gem::Requirement