eac_ruby_utils 0.93.0 → 0.94.2
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 +4 -4
- data/lib/eac_ruby_utils/custom_format.rb +1 -1
- data/lib/eac_ruby_utils/gems_registry/gem.rb +1 -1
- data/lib/eac_ruby_utils/gems_registry.rb +1 -1
- data/lib/eac_ruby_utils/inflector.rb +1 -1
- data/lib/eac_ruby_utils/listable/list.rb +16 -4
- data/lib/eac_ruby_utils/listable/value.rb +12 -2
- data/lib/eac_ruby_utils/local_time_zone.rb +1 -1
- data/lib/eac_ruby_utils/ruby/on_clean_environment.rb +1 -1
- data/lib/eac_ruby_utils/version.rb +1 -1
- metadata +4 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6123804bfe63fb8449caccf2c037cc3e226c9d2859894feea80b5487fc472187
|
4
|
+
data.tar.gz: d47032f60cbd693dcd7ec2cfa72dcaf1c7c1bc69abd8354126f272a11a452702
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2edf68d551b316ba760f7c7c89a03b6b85262e9e6843506f7346d9f92a883cfe43a2efd591a497389bdde11dee9bcc19b5443aa4ba7e130d167ecfec047e9b8
|
7
|
+
data.tar.gz: 11fd72d374f34a61bba2d856ccfae437dc97010e8f2b074a6cb6f4ed2867a9f1f8515e073b4986b93518dd7b7d04a9293b71b5934d8d09582c66acb4e494f37b
|
@@ -16,7 +16,7 @@ module EacRubyUtils
|
|
16
16
|
# @raise [ArgumentError]
|
17
17
|
def variableize(string, validate = true)
|
18
18
|
r = ::ActiveSupport::Inflector.transliterate(string).gsub(/[^_a-z0-9]/i, '_')
|
19
|
-
|
19
|
+
.gsub(/_+/, '_').gsub(/_\z/, '').gsub(/\A_/, '').downcase
|
20
20
|
m = VARIABLE_NAME_PATTERN.match(r)
|
21
21
|
return r if m
|
22
22
|
return nil unless validate
|
@@ -1,8 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'eac_ruby_utils/listable/value'
|
4
|
+
|
3
5
|
module EacRubyUtils
|
4
6
|
module Listable
|
5
7
|
class List
|
8
|
+
BLANK_VALUE = nil
|
9
|
+
BLANK_KEY = :__blank
|
10
|
+
|
6
11
|
attr_reader :item
|
7
12
|
|
8
13
|
def initialize(lists, item, labels)
|
@@ -12,6 +17,10 @@ module EacRubyUtils
|
|
12
17
|
apply_constants
|
13
18
|
end
|
14
19
|
|
20
|
+
def blank_value
|
21
|
+
@blank_value ||= ::EacRubyUtils::Listable::Value.new(self, BLANK_VALUE, BLANK_KEY, false)
|
22
|
+
end
|
23
|
+
|
15
24
|
def each_value(&block)
|
16
25
|
values.each(&block)
|
17
26
|
end
|
@@ -34,7 +43,7 @@ module EacRubyUtils
|
|
34
43
|
end
|
35
44
|
|
36
45
|
def hash_keys_validate!(hash, error_class = ::StandardError)
|
37
|
-
hash.
|
46
|
+
hash.each_key { |key| value_validate!(key, error_class) }
|
38
47
|
hash
|
39
48
|
end
|
40
49
|
|
@@ -42,11 +51,14 @@ module EacRubyUtils
|
|
42
51
|
"eac_ruby_utils.listable.#{class_i18n_key}.#{item}"
|
43
52
|
end
|
44
53
|
|
54
|
+
# @return [EacRubyUtils::Listable::Value, nil]
|
45
55
|
def instance_value(instance)
|
46
56
|
v = instance.send(item)
|
57
|
+
return blank_value if v.blank?
|
47
58
|
return @values[v] if @values.key?(v)
|
48
59
|
|
49
|
-
raise "List value unkown: #{v} (Source: #{@lists.source}, Item: #{item}
|
60
|
+
raise "List value unkown: \"#{v}\" (Source: #{@lists.source}, Item: #{item}, Instance: " \
|
61
|
+
"#{instance.to_debug}, Values: #{@values.keys})"
|
50
62
|
end
|
51
63
|
|
52
64
|
def value_valid?(value)
|
@@ -70,7 +82,7 @@ module EacRubyUtils
|
|
70
82
|
end
|
71
83
|
|
72
84
|
def find_list_by_method(method)
|
73
|
-
@values.
|
85
|
+
@values.each_value do |v|
|
74
86
|
return v if method.to_s == "value_#{v.key}"
|
75
87
|
end
|
76
88
|
nil
|
@@ -81,7 +93,7 @@ module EacRubyUtils
|
|
81
93
|
end
|
82
94
|
|
83
95
|
def apply_constants
|
84
|
-
@values.
|
96
|
+
@values.each_value do |v|
|
85
97
|
@lists.source.const_set(v.constant_name, v.value)
|
86
98
|
end
|
87
99
|
end
|
@@ -7,10 +7,11 @@ module EacRubyUtils
|
|
7
7
|
class Value
|
8
8
|
attr_reader :value, :key
|
9
9
|
|
10
|
-
def initialize(list, value, key)
|
10
|
+
def initialize(list, value, key, translation_required = true)
|
11
11
|
@list = list
|
12
12
|
@value = value
|
13
13
|
@key = key
|
14
|
+
@translation_required = translation_required
|
14
15
|
end
|
15
16
|
|
16
17
|
def to_s
|
@@ -29,10 +30,19 @@ module EacRubyUtils
|
|
29
30
|
translate('description')
|
30
31
|
end
|
31
32
|
|
33
|
+
def translation_required?
|
34
|
+
@translation_required
|
35
|
+
end
|
36
|
+
|
32
37
|
private
|
33
38
|
|
34
39
|
def translate(translate_key)
|
35
|
-
|
40
|
+
full_translate_key = "#{@list.i18n_key}.#{@key}.#{translate_key}"
|
41
|
+
if !::I18n.exists?(full_translate_key) && !translation_required?
|
42
|
+
''
|
43
|
+
else
|
44
|
+
::I18n.t(full_translate_key)
|
45
|
+
end
|
36
46
|
end
|
37
47
|
end
|
38
48
|
end
|
@@ -36,7 +36,7 @@ module EacRubyUtils
|
|
36
36
|
return nil unless executable.exist?
|
37
37
|
|
38
38
|
TIMEDATECTL_TIMEZONE_LINE_PATTERN.if_match(executable.command.execute!) { |m| m[1] }
|
39
|
-
|
39
|
+
.if_present { |v| ::ActiveSupport::TimeZone[v] }
|
40
40
|
end
|
41
41
|
|
42
42
|
# @return [ActiveSupport::TimeZone]
|
@@ -12,7 +12,7 @@ module EacRubyUtils
|
|
12
12
|
|
13
13
|
def on_clean_envvars(*start_with_vars)
|
14
14
|
old_values = envvars_starting_with(start_with_vars)
|
15
|
-
old_values.
|
15
|
+
old_values.each_key { |k| ENV.delete(k) }
|
16
16
|
yield
|
17
17
|
ensure
|
18
18
|
old_values&.each { |k, v| ENV[k] = v }
|
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.
|
4
|
+
version: 0.94.2
|
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: 2022-
|
11
|
+
date: 2022-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -78,20 +78,14 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
82
|
-
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: 0.3.2
|
81
|
+
version: 0.5.1
|
85
82
|
type: :development
|
86
83
|
prerelease: false
|
87
84
|
version_requirements: !ruby/object:Gem::Requirement
|
88
85
|
requirements:
|
89
86
|
- - "~>"
|
90
87
|
- !ruby/object:Gem::Version
|
91
|
-
version:
|
92
|
-
- - ">="
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: 0.3.2
|
88
|
+
version: 0.5.1
|
95
89
|
description:
|
96
90
|
email:
|
97
91
|
executables: []
|