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: []
         |