Module: Squared::Common::Utils
- Defined in:
- lib/squared/common/utils.rb
Class Method Summary collapse
- .env(key, default = nil, suffix: nil, strict: false, equals: nil, ignore: nil) ⇒ Object
- .env_bool(key, default = false, suffix: nil, strict: false, index: false) ⇒ Object
- .env_match(key, default = nil, suffix: nil, strict: false, options: 0, timeout: nil) ⇒ Object
- .env_pipe(key, default = 1, suffix: nil, strict: false, root: nil) ⇒ Object
- .env_value(key, default = '', suffix: nil, strict: false) ⇒ Object
- .task_invoke(*cmd, args: [], exception: true, warning: true) ⇒ Object
- .task_invoked?(*args) ⇒ Boolean
- .task_join(*val) ⇒ Object
Class Method Details
.env(key, default = nil, suffix: nil, strict: false, equals: nil, ignore: nil) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/squared/common/utils.rb', line 38 def env(key, default = nil, suffix: nil, strict: false, equals: nil, ignore: nil) ret = env_value(key, suffix: suffix, strict: strict) return ret == equals.to_s unless equals.nil? ret.empty? || (ignore && as_a(ignore).any? { |val| ret == val.to_s }) ? default : ret end |
.env_bool(key, default = false, suffix: nil, strict: false, index: false) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/squared/common/utils.rb', line 60 def env_bool(key, default = false, suffix: nil, strict: false, index: false) if key.is_a?(::String) case (val = env_value(key, suffix: suffix, strict: strict)) when '' default when '0', 'false' false else index && val.to_i > 0 ? val.to_i : true end else key.nil? ? default : key end end |
.env_match(key, default = nil, suffix: nil, strict: false, options: 0, timeout: nil) ⇒ Object
96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/squared/common/utils.rb', line 96 def env_match(key, default = nil, suffix: nil, strict: false, options: 0, timeout: nil) case (val = env_value(key, suffix: suffix, strict: strict)) when '' default when '0' false when '1' true else Regexp.new(val, , timeout: timeout) end end |
.env_pipe(key, default = 1, suffix: nil, strict: false, root: nil) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/squared/common/utils.rb', line 75 def env_pipe(key, default = 1, suffix: nil, strict: false, root: nil) if default.is_a?(::String) begin default = (root ? root.join(default) : Pathname.new(default)).realdirpath rescue StandardError => e default = 1 warn e end end case key when ::String case (ret = env_value(key, suffix: suffix, strict: strict)) when '0', '1', '2' return ret.to_i end when ::Numeric return key if key.between?(0, 2) end default end |
.env_value(key, default = '', suffix: nil, strict: false) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/squared/common/utils.rb', line 45 def env_value(key, default = '', suffix: nil, strict: false) if suffix if (ret = ENV["#{key}#{@envname ? "_#{@envname}" : ''}_#{suffix}"]) return ret elsif strict return default end end if @envname return ret if (ret = ENV["#{key}_#{@envname}"]) return default if strict end ENV.fetch(key, default) end |
.task_invoke(*cmd, args: [], exception: true, warning: true) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/squared/common/utils.rb', line 11 def task_invoke(*cmd, args: [], exception: true, warning: true) cmd.each { |name| Rake::Task[name].invoke(*args) } rescue StandardError => e raise if exception warn e if warning end |
.task_invoked?(*args) ⇒ Boolean
30 31 32 33 34 35 36 |
# File 'lib/squared/common/utils.rb', line 30 def task_invoked?(*args) Rake::Task.tasks.any? do |obj| next unless obj.already_invoked args.any? { |val| val.is_a?(::Regexp) ? obj.name =~ val : val == obj.name } end end |
.task_join(*val) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/squared/common/utils.rb', line 19 def task_join(*val) case val.size when 1 val[0].to_s when 2 "#{val[0]}:#{val[1]}" else val.join(':') end end |