eac_ruby_utils 0.62.0 → 0.66.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 (49) 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/regexp/to_parser.rb +10 -0
  9. data/lib/eac_ruby_utils/regexp_parser.rb +34 -0
  10. data/lib/eac_ruby_utils/rspec/conditional.rb +1 -4
  11. data/lib/eac_ruby_utils/simple_cache.rb +18 -5
  12. data/lib/eac_ruby_utils/version.rb +1 -1
  13. metadata +8 -74
  14. data/lib/eac_ruby_utils/configs.rb +0 -74
  15. data/lib/eac_ruby_utils/configs/base.rb +0 -43
  16. data/lib/eac_ruby_utils/configs/file.rb +0 -47
  17. data/lib/eac_ruby_utils/console.rb +0 -5
  18. data/lib/eac_ruby_utils/console/configs.rb +0 -38
  19. data/lib/eac_ruby_utils/console/configs/entry_reader.rb +0 -81
  20. data/lib/eac_ruby_utils/console/configs/password_entry_reader.rb +0 -18
  21. data/lib/eac_ruby_utils/console/configs/read_entry_options.rb +0 -46
  22. data/lib/eac_ruby_utils/console/configs/store_passwords_entry_reader.rb +0 -27
  23. data/lib/eac_ruby_utils/console/docopt_runner.rb +0 -45
  24. data/lib/eac_ruby_utils/console/docopt_runner/_class_methods.rb +0 -18
  25. data/lib/eac_ruby_utils/console/docopt_runner/_doc.rb +0 -25
  26. data/lib/eac_ruby_utils/console/docopt_runner/_settings.rb +0 -19
  27. data/lib/eac_ruby_utils/console/docopt_runner/_subcommands.rb +0 -154
  28. data/lib/eac_ruby_utils/console/speaker.rb +0 -133
  29. data/lib/eac_ruby_utils/console/speaker/_class_methods.rb +0 -39
  30. data/lib/eac_ruby_utils/console/speaker/_constants.rb +0 -14
  31. data/lib/eac_ruby_utils/console/speaker/list.rb +0 -63
  32. data/lib/eac_ruby_utils/console/speaker/node.rb +0 -26
  33. data/lib/eac_ruby_utils/patches/module/console_speaker.rb +0 -10
  34. data/lib/eac_ruby_utils/patches/module/template.rb +0 -10
  35. data/lib/eac_ruby_utils/patches/object/template.rb +0 -9
  36. data/lib/eac_ruby_utils/paths_hash.rb +0 -56
  37. data/lib/eac_ruby_utils/paths_hash/entry_key_error.rb +0 -8
  38. data/lib/eac_ruby_utils/paths_hash/node.rb +0 -67
  39. data/lib/eac_ruby_utils/paths_hash/path_search.rb +0 -39
  40. data/lib/eac_ruby_utils/templates.rb +0 -9
  41. data/lib/eac_ruby_utils/templates/directory.rb +0 -110
  42. data/lib/eac_ruby_utils/templates/file.rb +0 -50
  43. data/lib/eac_ruby_utils/templates/searcher.rb +0 -55
  44. data/lib/eac_ruby_utils/templates/variable_not_found_error.rb +0 -7
  45. data/lib/eac_ruby_utils/templates/variable_providers.rb +0 -25
  46. data/lib/eac_ruby_utils/templates/variable_providers/base.rb +0 -23
  47. data/lib/eac_ruby_utils/templates/variable_providers/entries_reader.rb +0 -25
  48. data/lib/eac_ruby_utils/templates/variable_providers/generic.rb +0 -25
  49. 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: c935490ddb854abc0f1aa8e473a020d6636aca5805a1312849cc3be308140798
4
- data.tar.gz: '00932149f86866358f22288a3e4aa434d59b4164140ce76dda55b9f88d310bd1'
3
+ metadata.gz: 9d679154119599ad2255adc22653e9fce48d4c517a7894c44b7ab49227a55e50
4
+ data.tar.gz: 38a941b85b06be67ae89a459bf3897097d326713b4ea77ec91a6c69bbdad98c1
5
5
  SHA512:
6
- metadata.gz: fe63c4031d9240b8bc18dfa3b4ff39edac9465c1056971feadeb9338f8c2e4a59836fdafc5268c35dcc4158348c84c50da255b7b4e320554f56e73300b83e4e6
7
- data.tar.gz: ecb86c9203690924b8263e5934f093bbf53e2218bf9b2019ccb188afc896e3ffcc21abd8565c1641bc1ab94936f909870f80413e232161092076b4163c53bab4
6
+ metadata.gz: d30ef6f35aa136aa0611039f44422f8d54cb484599b5577c6773873b2f35709d879e26e3fd8ae984837cea7b71a74d521720204d9adce4f12d8712a9ebd42241
7
+ data.tar.gz: 14fdbded17c439e74aea06d61922318fa1e5221a5587ec995f0c7daefae1dd0d6ca76cd2c7876fbd95b8bcf84c18c397b801d11d44d36e668c42eb0ef60c0e3b
@@ -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,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
@@ -2,12 +2,18 @@
2
2
 
3
3
  module EacRubyUtils
4
4
  module SimpleCache
5
- UNCACHED_METHOD_PATTERN = /\A(\s+)_uncached\z/.freeze
5
+ UNCACHED_METHOD_NAME_SUFFIX = '_uncached'
6
+ UNCACHED_METHOD_PATTERN = /\A(\s+)_#{::Regexp.quote(UNCACHED_METHOD_NAME_SUFFIX)}\z/.freeze
7
+
8
+ class << self
9
+ def uncached_method_name(method_name)
10
+ "#{method_name}#{UNCACHED_METHOD_NAME_SUFFIX}"
11
+ end
12
+ end
6
13
 
7
14
  def method_missing(method, *args, &block)
8
- uncached_method = "#{method}_uncached"
9
- if respond_to?(uncached_method, true)
10
- call_method_with_cache(uncached_method, args, &block)
15
+ if respond_to?(::EacRubyUtils::SimpleCache.uncached_method_name(method), true)
16
+ call_method_with_cache(method, args, &block)
11
17
  else
12
18
  super
13
19
  end
@@ -35,10 +41,17 @@ module EacRubyUtils
35
41
  raise 'Não é possível realizar o cache de métodos com bloco' if block
36
42
 
37
43
  key = ([method] + args).join('@@@')
38
- cache_keys[key] = send(method, *args) unless cache_keys.key?(key)
44
+ unless cache_keys.key?(key)
45
+ uncached_value = call_uncached_method(method, args)
46
+ cache_keys[key] = uncached_value
47
+ end
39
48
  cache_keys[key]
40
49
  end
41
50
 
51
+ def call_uncached_method(method, args)
52
+ send(::EacRubyUtils::SimpleCache.uncached_method_name(method), *args)
53
+ end
54
+
42
55
  def cache_keys
43
56
  @cache_keys ||= {}
44
57
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.62.0'
4
+ VERSION = '0.66.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.0
4
+ version: 0.66.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-03-28 00:00:00.000000000 Z
11
+ date: 2021-06-02 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,29 @@ 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
232
179
  - lib/eac_ruby_utils/patches/object.rb
233
180
  - lib/eac_ruby_utils/patches/object/asserts.rb
234
181
  - lib/eac_ruby_utils/patches/object/debug.rb
235
182
  - lib/eac_ruby_utils/patches/object/if_nil.rb
236
183
  - lib/eac_ruby_utils/patches/object/if_present.rb
237
184
  - lib/eac_ruby_utils/patches/object/if_respond.rb
238
- - lib/eac_ruby_utils/patches/object/template.rb
239
185
  - lib/eac_ruby_utils/patches/object/to_pathname.rb
240
186
  - lib/eac_ruby_utils/patches/pathname.rb
241
187
  - lib/eac_ruby_utils/patches/pathname/basename_sub.rb
242
188
  - lib/eac_ruby_utils/patches/regexp.rb
243
189
  - lib/eac_ruby_utils/patches/regexp/if_match.rb
190
+ - lib/eac_ruby_utils/patches/regexp/to_parser.rb
244
191
  - lib/eac_ruby_utils/patches/string.rb
245
192
  - lib/eac_ruby_utils/patches/string/inflector.rb
246
193
  - lib/eac_ruby_utils/patches/time.rb
247
194
  - 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
195
+ - lib/eac_ruby_utils/regexp_parser.rb
252
196
  - lib/eac_ruby_utils/require_sub.rb
253
197
  - lib/eac_ruby_utils/rspec.rb
254
198
  - lib/eac_ruby_utils/rspec/conditional.rb
@@ -260,16 +204,6 @@ files:
260
204
  - lib/eac_ruby_utils/settings_provider/setting_value.rb
261
205
  - lib/eac_ruby_utils/simple_cache.rb
262
206
  - 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
207
  - lib/eac_ruby_utils/version.rb
274
208
  - lib/eac_ruby_utils/yaml.rb
275
209
  homepage:
@@ -1,74 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/core_ext/string'
4
- require 'yaml'
5
- require 'eac_ruby_utils/configs/file'
6
- require 'eac_ruby_utils/patches/hash/sym_keys_hash'
7
- require 'eac_ruby_utils/paths_hash'
8
- require 'eac_ruby_utils/simple_cache'
9
-
10
- module EacRubyUtils
11
- class Configs
12
- include ::EacRubyUtils::SimpleCache
13
-
14
- attr_reader :configs_key, :options
15
-
16
- # Valid options: [:storage_path]
17
- def initialize(configs_key, options = {})
18
- @configs_key = configs_key
19
- @options = options.to_sym_keys_hash.freeze
20
- load
21
- end
22
-
23
- delegate :clear, to: :file
24
-
25
- delegate :save, to: :file
26
-
27
- delegate :load, to: :file
28
-
29
- def []=(entry_key, entry_value)
30
- write_entry(entry_key, entry_value)
31
- end
32
-
33
- def write_entry(entry_key, entry_value)
34
- file.write(entry_key, entry_value)
35
- end
36
-
37
- def [](entry_key)
38
- read_entry(entry_key)
39
- end
40
-
41
- def read_entry(entry_key)
42
- file.read(entry_key)
43
- end
44
-
45
- delegate :autosave?, to: :file
46
-
47
- private
48
-
49
- attr_accessor :data
50
-
51
- def file_uncached
52
- ::EacRubyUtils::Configs::File.new(
53
- storage_path, options
54
- )
55
- end
56
-
57
- def storage_path_uncached
58
- path = options_storage_path || default_storage_path
59
- return path if ::File.exist?(path) && ::File.size(path).positive?
60
-
61
- ::FileUtils.mkdir_p(::File.dirname(path))
62
- ::File.write(path, {}.to_yaml)
63
- path
64
- end
65
-
66
- def options_storage_path
67
- options[:storage_path]
68
- end
69
-
70
- def default_storage_path
71
- ::File.join(ENV['HOME'], '.config', configs_key, 'settings.yml')
72
- end
73
- end
74
- end