eac_ruby_utils 0.62.1 → 0.67.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/eac_ruby_utils/context.rb +31 -0
  3. data/lib/eac_ruby_utils/contextualizable.rb +12 -7
  4. data/lib/eac_ruby_utils/envs/command.rb +10 -5
  5. data/lib/eac_ruby_utils/filesystem_cache.rb +6 -0
  6. data/lib/eac_ruby_utils/patches/module/common_concern.rb +0 -1
  7. data/lib/eac_ruby_utils/patches/module/context.rb +11 -0
  8. data/lib/eac_ruby_utils/patches/module/speaker.rb +9 -0
  9. data/lib/eac_ruby_utils/patches/regexp/to_parser.rb +10 -0
  10. data/lib/eac_ruby_utils/regexp_parser.rb +34 -0
  11. data/lib/eac_ruby_utils/rspec/conditional.rb +1 -4
  12. data/lib/eac_ruby_utils/speaker.rb +16 -0
  13. data/lib/eac_ruby_utils/speaker/receiver.rb +57 -0
  14. data/lib/eac_ruby_utils/speaker/sender.rb +32 -0
  15. data/lib/eac_ruby_utils/version.rb +1 -1
  16. metadata +12 -74
  17. data/lib/eac_ruby_utils/configs.rb +0 -74
  18. data/lib/eac_ruby_utils/configs/base.rb +0 -43
  19. data/lib/eac_ruby_utils/configs/file.rb +0 -47
  20. data/lib/eac_ruby_utils/console.rb +0 -5
  21. data/lib/eac_ruby_utils/console/configs.rb +0 -38
  22. data/lib/eac_ruby_utils/console/configs/entry_reader.rb +0 -81
  23. data/lib/eac_ruby_utils/console/configs/password_entry_reader.rb +0 -18
  24. data/lib/eac_ruby_utils/console/configs/read_entry_options.rb +0 -46
  25. data/lib/eac_ruby_utils/console/configs/store_passwords_entry_reader.rb +0 -27
  26. data/lib/eac_ruby_utils/console/docopt_runner.rb +0 -45
  27. data/lib/eac_ruby_utils/console/docopt_runner/_class_methods.rb +0 -18
  28. data/lib/eac_ruby_utils/console/docopt_runner/_doc.rb +0 -25
  29. data/lib/eac_ruby_utils/console/docopt_runner/_settings.rb +0 -19
  30. data/lib/eac_ruby_utils/console/docopt_runner/_subcommands.rb +0 -154
  31. data/lib/eac_ruby_utils/console/speaker.rb +0 -133
  32. data/lib/eac_ruby_utils/console/speaker/_class_methods.rb +0 -39
  33. data/lib/eac_ruby_utils/console/speaker/_constants.rb +0 -14
  34. data/lib/eac_ruby_utils/console/speaker/list.rb +0 -63
  35. data/lib/eac_ruby_utils/console/speaker/node.rb +0 -26
  36. data/lib/eac_ruby_utils/patches/module/console_speaker.rb +0 -10
  37. data/lib/eac_ruby_utils/patches/module/template.rb +0 -10
  38. data/lib/eac_ruby_utils/patches/object/template.rb +0 -9
  39. data/lib/eac_ruby_utils/paths_hash.rb +0 -56
  40. data/lib/eac_ruby_utils/paths_hash/entry_key_error.rb +0 -8
  41. data/lib/eac_ruby_utils/paths_hash/node.rb +0 -67
  42. data/lib/eac_ruby_utils/paths_hash/path_search.rb +0 -39
  43. data/lib/eac_ruby_utils/templates.rb +0 -9
  44. data/lib/eac_ruby_utils/templates/directory.rb +0 -110
  45. data/lib/eac_ruby_utils/templates/file.rb +0 -50
  46. data/lib/eac_ruby_utils/templates/searcher.rb +0 -55
  47. data/lib/eac_ruby_utils/templates/variable_not_found_error.rb +0 -7
  48. data/lib/eac_ruby_utils/templates/variable_providers.rb +0 -25
  49. data/lib/eac_ruby_utils/templates/variable_providers/base.rb +0 -23
  50. data/lib/eac_ruby_utils/templates/variable_providers/entries_reader.rb +0 -25
  51. data/lib/eac_ruby_utils/templates/variable_providers/generic.rb +0 -25
  52. data/lib/eac_ruby_utils/templates/variable_providers/hash.rb +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76b0e92df72f0b6b552d62eda2aad5f2701409e7d8093aee4d30c5df70ee30a1
4
- data.tar.gz: b6450dc7143e3a1669df002394357c2209d51983111cefc2d8f25efbd8e5344a
3
+ metadata.gz: 198a793b8a2d0993f304e80e7463e3350d0944450055e71daaa8494624225264
4
+ data.tar.gz: 0e6f0f4edf00f4435ed0c129c9872aaeeeb66a503acbc5875b31c0fee4ad96e8
5
5
  SHA512:
6
- metadata.gz: 7839203f7f9e9a8baa17167e4a5e0d9d812ff9028de3fb3c8298ce6bb584f6b77256b8afdfd49ff79f23d0614afcef74aa5f003ab00a0d3fc14d58816e695fce
7
- data.tar.gz: 9392bdfc10d5a2ba53de62a816c307e0d2f3e21b6731888cc0fe63a46853ed5c074d91fafc5f91194256fa33c6ddb39a930c75564db7aac3ff3967c9e4329eee
6
+ metadata.gz: 67216e383d422fa5961f470823689d76978b2d21b21dc59338c9849198fbc41e198135ad3526f02ae1e4b30e64b5b72292d2b5a17d22b293ff71a48ecc72f405
7
+ data.tar.gz: b678963a2c8d920b1c391af8f90a4ab2ccdf60a4fded2008b7d1d4dfb3261dccb164427fb0f1f6e706474a365ed4d7ebff661a64dce6b4364b415376d913ed03
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacRubyUtils
4
+ class Context
5
+ def current
6
+ optional_current || raise('No elements in context')
7
+ end
8
+
9
+ def optional_current
10
+ stack.last
11
+ end
12
+
13
+ delegate :pop, to: :stack
14
+ delegate :push, to: :stack
15
+
16
+ def on(obj)
17
+ push(obj)
18
+ begin
19
+ yield
20
+ ensure
21
+ pop
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def stack
28
+ @stack ||= []
29
+ end
30
+ end
31
+ end
@@ -1,16 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_ruby_utils/context'
4
+
3
5
  module EacRubyUtils
4
- # Provides the method context which search and call a method in self and ancestor objects.
5
6
  module Contextualizable
6
- def context(method)
7
- current = self
8
- while current
9
- return current.send(method) if current.respond_to?(method)
7
+ common_concern
8
+
9
+ module ClassMethods
10
+ def context
11
+ @context ||= ::EacRubyUtils::Context.new
12
+ end
13
+ end
10
14
 
11
- current = current.respond_to?(:parent) ? current.parent : nil
15
+ module InstanceMethods
16
+ def context
17
+ self.class.context
12
18
  end
13
- raise "Context method \"#{method}\" not found for #{self.class}"
14
19
  end
15
20
  end
16
21
  end
@@ -10,7 +10,6 @@ module EacRubyUtils
10
10
  module Envs
11
11
  class Command
12
12
  require_sub __FILE__, include_modules: true
13
- enable_console_speaker
14
13
 
15
14
  def initialize(env, command, extra_options = {})
16
15
  @env = env
@@ -61,17 +60,17 @@ module EacRubyUtils
61
60
 
62
61
  def execute(options = {})
63
62
  c = command(options)
64
- puts "BEFORE: #{c}".light_red if debug?
63
+ debug_print("BEFORE: #{c}")
65
64
  t1 = Time.now
66
65
  r = ::EacRubyUtils::Envs::Process.new(c).to_h
67
66
  i = Time.now - t1
68
- puts "AFTER [#{i}]: #{c}".light_red if debug?
67
+ debug_print("AFTER [#{i}]: #{c}")
69
68
  r
70
69
  end
71
70
 
72
71
  def spawn(options = {})
73
72
  c = command(options)
74
- puts "SPAWN: #{c}".light_red if debug?
73
+ debug_print("SPAWN: #{c}")
75
74
  ::EacRubyUtils::Envs::Spawn.new(c)
76
75
  end
77
76
 
@@ -83,7 +82,7 @@ module EacRubyUtils
83
82
 
84
83
  def system(options = {})
85
84
  c = command(options)
86
- puts c.light_red if debug?
85
+ debug_print(c)
87
86
  Kernel.system(c)
88
87
  end
89
88
 
@@ -109,6 +108,12 @@ module EacRubyUtils
109
108
  ENV['DEBUG'].to_s.strip != ''
110
109
  end
111
110
 
111
+ # Print a message if debugging is enabled.
112
+ def debug_print(message)
113
+ message = message.to_s
114
+ puts message.if_respond(:light_red, message) if debug?
115
+ end
116
+
112
117
  def append_command_options(command, options)
113
118
  command = options[:input].command + ' | ' + command if options[:input]
114
119
  if options[:input_file]
@@ -24,6 +24,12 @@ module EacRubyUtils
24
24
  ::File.read(content_path)
25
25
  end
26
26
 
27
+ def read_or_cache
28
+ write(yield) unless cached?
29
+
30
+ read
31
+ end
32
+
27
33
  def write(value)
28
34
  assert_directory_on_path
29
35
  ::File.write(content_path, value)
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/common_concern'
4
- require 'eac_ruby_utils/console/speaker'
5
4
 
6
5
  class Module
7
6
  def common_concern(&after_callback)
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/patch'
4
+ require 'eac_ruby_utils/contextualizable'
5
+
6
+ class Module
7
+ # Patches module with [EacRubyUtils::Contextualizable].
8
+ def enable_context
9
+ ::EacRubyUtils.patch(self, ::EacRubyUtils::Contextualizable)
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/speaker/sender'
4
+
5
+ class Module
6
+ def enable_speaker
7
+ include ::EacRubyUtils::Speaker::Sender
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/regexp_parser'
4
+
5
+ class Regexp
6
+ # @return [::EacRubyUtils::RegexpParser]
7
+ def to_parser(&block)
8
+ ::EacRubyUtils::RegexpParser.new(self, &block)
9
+ end
10
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacRubyUtils
4
+ class RegexpParser
5
+ attr_reader :pattern, :builder_proc
6
+
7
+ def initialize(pattern, &builder_proc)
8
+ @pattern = pattern
9
+ @builder_proc = builder_proc
10
+ end
11
+
12
+ def parse(string)
13
+ internal_parse(string)[1]
14
+ end
15
+
16
+ def parse!(string)
17
+ match, result = internal_parse(string)
18
+ return result if match
19
+
20
+ raise ::ArgumentError, "String \"#{string}\" does not match pattern \"#{pattern}\""
21
+ end
22
+
23
+ private
24
+
25
+ def internal_parse(string)
26
+ m = pattern.match(string)
27
+ if m
28
+ [true, builder_proc ? builder_proc.call(m) : m]
29
+ else
30
+ [false, nil]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,13 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'active_support/core_ext/object/blank'
4
- require 'eac_ruby_utils/console/speaker'
5
4
 
6
5
  module EacRubyUtils
7
6
  module Rspec
8
7
  class Conditional
9
- include ::EacRubyUtils::Console::Speaker
10
-
11
8
  def self.default
12
9
  @default ||= new
13
10
  end
@@ -24,7 +21,7 @@ module EacRubyUtils
24
21
  tags.each do |tag, condition|
25
22
  message = condition.call
26
23
  if message.present?
27
- warn("Excluded tag: #{tag}: #{message}")
24
+ puts("[WARN] Excluded tag: #{tag}: #{message}")
28
25
  rspec_config.filter_run_excluding tag
29
26
  end
30
27
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/contextualizable'
4
+
5
+ module EacRubyUtils
6
+ module Speaker
7
+ include ::EacRubyUtils::Contextualizable
8
+
9
+ class << self
10
+ # @return [EacRubyUtils::Speaker::Receiver]
11
+ def current_receiver
12
+ context.current
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/abstract_methods'
4
+
5
+ module EacRubyUtils
6
+ module Speaker
7
+ module Receiver
8
+ extend ::EacRubyUtils::AbstractMethods
9
+
10
+ def error(_string)
11
+ raise_abstract_method(__FILE__)
12
+ end
13
+
14
+ def fatal_error(string)
15
+ error(string)
16
+ ::Kernel.exit 1 # rubocop:disable Rails/Exit
17
+ end
18
+
19
+ # @see EacRubyUtils::Speaker::Sender.input
20
+ def input(_question, _options = {})
21
+ raise_abstract_method(__FILE__)
22
+ end
23
+
24
+ def info(_string)
25
+ raise_abstract_method(__FILE__)
26
+ end
27
+
28
+ def infom(_string)
29
+ raise_abstract_method(__FILE__)
30
+ end
31
+
32
+ def infov(*_args)
33
+ raise_abstract_method(__FILE__)
34
+ end
35
+
36
+ def out(_string = '')
37
+ raise_abstract_method(__FILE__)
38
+ end
39
+
40
+ def puts(_string = '')
41
+ raise_abstract_method(__FILE__)
42
+ end
43
+
44
+ def success(_string)
45
+ raise_abstract_method(__FILE__)
46
+ end
47
+
48
+ def title(_string)
49
+ raise_abstract_method(__FILE__)
50
+ end
51
+
52
+ def warn(_string)
53
+ raise_abstract_method(__FILE__)
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacRubyUtils
4
+ module Speaker
5
+ module Sender
6
+ delegate :error, :fatal_error, :info, :infom, :title, :success, :warn, to: :speaker_receiver
7
+
8
+ def infov(*args)
9
+ speaker_receiver.infov(*args)
10
+ end
11
+
12
+ delegate :out, to: :speaker_receiver
13
+
14
+ delegate :puts, to: :speaker_receiver
15
+
16
+ # Shortcut to [EacRubyUtils::Speaker.current_receiver].
17
+ #
18
+ # @return [EacRubyUtils::Speaker::Receiver]
19
+ def speaker_receiver
20
+ ::EacRubyUtils::Speaker.current_receiver
21
+ end
22
+
23
+ # Options:
24
+ # +bool+ ([Boolean], default: +false+): requires a answer "yes" or "no".
25
+ # +list+ ([Hash] or [Array], default: +nil+): requires a answer from a list.
26
+ # +noecho+ ([Boolean], default: +false+): does not output answer.
27
+ def input(question, options = {})
28
+ speaker_receiver.input(question, options)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.62.1'
4
+ VERSION = '0.67.0'
5
5
  end
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.62.1
4
+ version: 0.67.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: 2021-04-01 00:00:00.000000000 Z
11
+ date: 2021-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -38,34 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.6'
41
- - !ruby/object:Gem::Dependency
42
- name: colorize
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.8.1
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 0.8.1
55
- - !ruby/object:Gem::Dependency
56
- name: docopt
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 0.6.1
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 0.6.1
69
41
  - !ruby/object:Gem::Dependency
70
42
  name: filesize
71
43
  requirement: !ruby/object:Gem::Requirement
@@ -100,20 +72,14 @@ dependencies:
100
72
  requirements:
101
73
  - - "~>"
102
74
  - !ruby/object:Gem::Version
103
- version: '0.1'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 0.1.1
75
+ version: '0.2'
107
76
  type: :development
108
77
  prerelease: false
109
78
  version_requirements: !ruby/object:Gem::Requirement
110
79
  requirements:
111
80
  - - "~>"
112
81
  - !ruby/object:Gem::Version
113
- version: '0.1'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 0.1.1
82
+ version: '0.2'
117
83
  description:
118
84
  email:
119
85
  executables: []
@@ -134,25 +100,7 @@ files:
134
100
  - lib/eac_ruby_utils/common_constructor/class_initialize.rb
135
101
  - lib/eac_ruby_utils/common_constructor/instance_initialize.rb
136
102
  - lib/eac_ruby_utils/common_constructor/super_args.rb
137
- - lib/eac_ruby_utils/configs.rb
138
- - lib/eac_ruby_utils/configs/base.rb
139
- - lib/eac_ruby_utils/configs/file.rb
140
- - lib/eac_ruby_utils/console.rb
141
- - lib/eac_ruby_utils/console/configs.rb
142
- - lib/eac_ruby_utils/console/configs/entry_reader.rb
143
- - lib/eac_ruby_utils/console/configs/password_entry_reader.rb
144
- - lib/eac_ruby_utils/console/configs/read_entry_options.rb
145
- - lib/eac_ruby_utils/console/configs/store_passwords_entry_reader.rb
146
- - lib/eac_ruby_utils/console/docopt_runner.rb
147
- - lib/eac_ruby_utils/console/docopt_runner/_class_methods.rb
148
- - lib/eac_ruby_utils/console/docopt_runner/_doc.rb
149
- - lib/eac_ruby_utils/console/docopt_runner/_settings.rb
150
- - lib/eac_ruby_utils/console/docopt_runner/_subcommands.rb
151
- - lib/eac_ruby_utils/console/speaker.rb
152
- - lib/eac_ruby_utils/console/speaker/_class_methods.rb
153
- - lib/eac_ruby_utils/console/speaker/_constants.rb
154
- - lib/eac_ruby_utils/console/speaker/list.rb
155
- - lib/eac_ruby_utils/console/speaker/node.rb
103
+ - lib/eac_ruby_utils/context.rb
156
104
  - lib/eac_ruby_utils/contextualizable.rb
157
105
  - lib/eac_ruby_utils/core_ext.rb
158
106
  - lib/eac_ruby_utils/custom_format.rb
@@ -222,33 +170,30 @@ files:
222
170
  - lib/eac_ruby_utils/patches/module.rb
223
171
  - lib/eac_ruby_utils/patches/module/abstract_methods.rb
224
172
  - lib/eac_ruby_utils/patches/module/common_concern.rb
225
- - lib/eac_ruby_utils/patches/module/console_speaker.rb
173
+ - lib/eac_ruby_utils/patches/module/context.rb
226
174
  - lib/eac_ruby_utils/patches/module/immutable.rb
227
175
  - lib/eac_ruby_utils/patches/module/listable.rb
228
176
  - lib/eac_ruby_utils/patches/module/patch.rb
229
177
  - lib/eac_ruby_utils/patches/module/require_sub.rb
230
178
  - lib/eac_ruby_utils/patches/module/simple_cache.rb
231
- - lib/eac_ruby_utils/patches/module/template.rb
179
+ - lib/eac_ruby_utils/patches/module/speaker.rb
232
180
  - lib/eac_ruby_utils/patches/object.rb
233
181
  - lib/eac_ruby_utils/patches/object/asserts.rb
234
182
  - lib/eac_ruby_utils/patches/object/debug.rb
235
183
  - lib/eac_ruby_utils/patches/object/if_nil.rb
236
184
  - lib/eac_ruby_utils/patches/object/if_present.rb
237
185
  - lib/eac_ruby_utils/patches/object/if_respond.rb
238
- - lib/eac_ruby_utils/patches/object/template.rb
239
186
  - lib/eac_ruby_utils/patches/object/to_pathname.rb
240
187
  - lib/eac_ruby_utils/patches/pathname.rb
241
188
  - lib/eac_ruby_utils/patches/pathname/basename_sub.rb
242
189
  - lib/eac_ruby_utils/patches/regexp.rb
243
190
  - lib/eac_ruby_utils/patches/regexp/if_match.rb
191
+ - lib/eac_ruby_utils/patches/regexp/to_parser.rb
244
192
  - lib/eac_ruby_utils/patches/string.rb
245
193
  - lib/eac_ruby_utils/patches/string/inflector.rb
246
194
  - lib/eac_ruby_utils/patches/time.rb
247
195
  - lib/eac_ruby_utils/patches/time/required_zone.rb
248
- - lib/eac_ruby_utils/paths_hash.rb
249
- - lib/eac_ruby_utils/paths_hash/entry_key_error.rb
250
- - lib/eac_ruby_utils/paths_hash/node.rb
251
- - lib/eac_ruby_utils/paths_hash/path_search.rb
196
+ - lib/eac_ruby_utils/regexp_parser.rb
252
197
  - lib/eac_ruby_utils/require_sub.rb
253
198
  - lib/eac_ruby_utils/rspec.rb
254
199
  - lib/eac_ruby_utils/rspec/conditional.rb
@@ -259,17 +204,10 @@ files:
259
204
  - lib/eac_ruby_utils/settings_provider.rb
260
205
  - lib/eac_ruby_utils/settings_provider/setting_value.rb
261
206
  - lib/eac_ruby_utils/simple_cache.rb
207
+ - lib/eac_ruby_utils/speaker.rb
208
+ - lib/eac_ruby_utils/speaker/receiver.rb
209
+ - lib/eac_ruby_utils/speaker/sender.rb
262
210
  - lib/eac_ruby_utils/struct.rb
263
- - lib/eac_ruby_utils/templates.rb
264
- - lib/eac_ruby_utils/templates/directory.rb
265
- - lib/eac_ruby_utils/templates/file.rb
266
- - lib/eac_ruby_utils/templates/searcher.rb
267
- - lib/eac_ruby_utils/templates/variable_not_found_error.rb
268
- - lib/eac_ruby_utils/templates/variable_providers.rb
269
- - lib/eac_ruby_utils/templates/variable_providers/base.rb
270
- - lib/eac_ruby_utils/templates/variable_providers/entries_reader.rb
271
- - lib/eac_ruby_utils/templates/variable_providers/generic.rb
272
- - lib/eac_ruby_utils/templates/variable_providers/hash.rb
273
211
  - lib/eac_ruby_utils/version.rb
274
212
  - lib/eac_ruby_utils/yaml.rb
275
213
  homepage: