eac_ruby_utils 0.124.0 → 0.125.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b58f8dc99b555c425e70cc08cb038153122279388a3547551c50dbf9521b28e6
4
- data.tar.gz: aaeef7762918739d2582582b98ab72b07369ff1719d7349928528d039bccb149
3
+ metadata.gz: 4decfb4061ccef911b55104f59a49e4a75dee175d5cc08fff7d8cde0f826a126
4
+ data.tar.gz: dc239d0a41eb9e43ccbfc3a9776dc36f689f0963243b0df9f43dc5f5e6213e43
5
5
  SHA512:
6
- metadata.gz: 04c75cde5f4929f9f55e4c0f74d5bf49802d11b4ec925df7cab02126d3289d7bf146784e7e69bf59f5ba97f7ba6b75ae2ed98594c0e8d1b1df1e3303f1868172
7
- data.tar.gz: 025ad56ad448d54cdc0ee6dc4dc0a1d1d4249965b6b3765593630dab10550a8fd44dc689b7b31dfc65c7b03d55ac2c448d6db9010b95ae8f8e7841b9ac7d5734
6
+ metadata.gz: f7fa02c030b616f9463453e072d1eff2ae00b5e7a100655670d869858f4d2f6a2261426832e7390dae78ab6869e984912ae785c4149cf20dd412442be9bec507
7
+ data.tar.gz: bbec39d79d0ebe83ed89ccb00810dd5f330c2600225d3ea832533aa25271d29a7a95740055aac0338f1155e6c6620cb9e171d548f4b345ace3cc584da6b93e18
@@ -13,9 +13,7 @@ module EacRubyUtils
13
13
  end
14
14
 
15
15
  module InstanceMethods
16
- def context
17
- self.class.context
18
- end
16
+ delegate :context, to: :class
19
17
  end
20
18
  end
21
19
  end
@@ -25,9 +25,7 @@ module EacRubyUtils
25
25
  end
26
26
 
27
27
  def mapping
28
- @mapping ||= format.mapping.select do |k, _v|
29
- sequences.include?(k)
30
- end
28
+ @mapping ||= format.mapping.slice(*sequences)
31
29
  end
32
30
 
33
31
  def sequences
@@ -39,9 +39,7 @@ module EacRubyUtils
39
39
  end
40
40
  end
41
41
 
42
- def nodasho_options
43
- self.class.nodasho_options
44
- end
42
+ delegate :nodasho_options, to: :class
45
43
 
46
44
  def uri_query_value(name)
47
45
  uri.query_values.if_present { |v| v[name] }
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/regexp_parser'
4
+
5
+ module EacRubyUtils
6
+ class ObjectsTable
7
+ BY_PARSER = ::EacRubyUtils::RegexpParser.new(/\Aby_(.+)\z/) { |m| m[1] }
8
+
9
+ common_constructor :objects, default: [[]]
10
+
11
+ # @param name [String, Symbol]
12
+ # @param value [Object]
13
+ # @return [Object, nil]
14
+ def by_attribute(name, value)
15
+ objects.find { |e| e.send(name) == value }
16
+ end
17
+
18
+ # @param name [String, Symbol]
19
+ # @param value [Object]
20
+ # @return [Object]
21
+ def by_attribute!(name, value)
22
+ by_attribute(name, value) ||
23
+ raise(::ArgumentError, "No item found with attribute #{name}=#{value}")
24
+ end
25
+
26
+ def respond_to_missing?(method_name, include_private = false)
27
+ super || BY_PARSER.parse?(method_name)
28
+ end
29
+
30
+ def method_missing(method_name, *arguments, &block)
31
+ if (attribute = BY_PARSER.parse(method_name))
32
+ return by_attribute(attribute, *arguments, &block)
33
+ end
34
+
35
+ super
36
+ end
37
+ end
38
+ end
@@ -7,7 +7,5 @@ class Object
7
7
  self.class.i18n_translate(entry_suffix, values)
8
8
  end
9
9
 
10
- def on_i18n_locale(locale)
11
- self.class.on_i18n_locale(locale)
12
- end
10
+ delegate :on_i18n_locale, to: :class
13
11
  end
@@ -10,6 +10,7 @@ module EacRubyUtils
10
10
  nil => nil,
11
11
  false => nil,
12
12
  true => :include,
13
+ extend: :extend,
13
14
  include: :include,
14
15
  prepend: :prepend
15
16
  }.freeze
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'zeitwerk'
4
+
5
+ module EacRubyUtils
6
+ class RootModuleSetup
7
+ class << self
8
+ def perform; end
9
+ end
10
+
11
+ def perform
12
+ loader = Zeitwerk::Loader.for_gem
13
+ loader.setup
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.124.0'
4
+ VERSION = '0.125.0'
5
5
  end
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_ruby_utils/root_module_setup'
4
+ EacRubyUtils::RootModuleSetup.perform
5
+
3
6
  module EacRubyUtils
4
- require 'eac_ruby_utils/require_sub'
5
- ::EacRubyUtils.require_sub __FILE__
6
7
  end
8
+
9
+ require 'eac_ruby_utils/core_ext'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_ruby_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.124.0
4
+ version: 0.125.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-30 00:00:00.000000000 Z
11
+ date: 2025-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -92,6 +92,26 @@ dependencies:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
94
  version: '4.2'
95
+ - !ruby/object:Gem::Dependency
96
+ name: zeitwerk
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '2.6'
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 2.6.18
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '2.6'
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 2.6.18
95
115
  - !ruby/object:Gem::Dependency
96
116
  name: avm-eac_ubuntu_base0
97
117
  requirement: !ruby/object:Gem::Requirement
@@ -118,14 +138,14 @@ dependencies:
118
138
  requirements:
119
139
  - - "~>"
120
140
  - !ruby/object:Gem::Version
121
- version: '0.10'
141
+ version: '0.11'
122
142
  type: :development
123
143
  prerelease: false
124
144
  version_requirements: !ruby/object:Gem::Requirement
125
145
  requirements:
126
146
  - - "~>"
127
147
  - !ruby/object:Gem::Version
128
- version: '0.10'
148
+ version: '0.11'
129
149
  description:
130
150
  email:
131
151
  executables: []
@@ -222,6 +242,7 @@ files:
222
242
  - lib/eac_ruby_utils/module_ancestors_variable/base.rb
223
243
  - lib/eac_ruby_utils/module_ancestors_variable/hash.rb
224
244
  - lib/eac_ruby_utils/module_ancestors_variable/set.rb
245
+ - lib/eac_ruby_utils/objects_table.rb
225
246
  - lib/eac_ruby_utils/options_consumer.rb
226
247
  - lib/eac_ruby_utils/patch.rb
227
248
  - lib/eac_ruby_utils/patches.rb
@@ -301,6 +322,7 @@ files:
301
322
  - lib/eac_ruby_utils/require_sub.rb
302
323
  - lib/eac_ruby_utils/require_sub/base.rb
303
324
  - lib/eac_ruby_utils/require_sub/sub_file.rb
325
+ - lib/eac_ruby_utils/root_module_setup.rb
304
326
  - lib/eac_ruby_utils/rspec.rb
305
327
  - lib/eac_ruby_utils/rspec/default_setup.rb
306
328
  - lib/eac_ruby_utils/rspec/setup.rb