Class: TF::EnvArrTest
- Inherits:
-
Object
- Object
- TF::EnvArrTest
- Defined in:
- lib/plugins/tf/env_arr_test.rb
Constant Summary collapse
- MATCHER =
{ :all => /^env\[([a-zA-Z_][a-zA-Z0-9_]*)\]\[\]([!]?=)[~]?\/(.*)\/$/, :one => /^env\[([a-zA-Z_][a-zA-Z0-9_]*)\]\[(.+)\]([!]?=)[~]?\/(.*)\/$/, :size => /^env\[([a-zA-Z_][a-zA-Z0-9_]*)\]\[\]([!]?=)([[:digit:]]+)$/, }
Instance Method Summary collapse
- #execute(test, _stdout, _stderr, _stdboth, _status, env) ⇒ Object
- #execute_all(test, matcher, _stdout, _stderr, _stdboth, _status, env) ⇒ Object
- #execute_one(test, matcher, _stdout, _stderr, _stdboth, _status, env) ⇒ Object
- #execute_size(test, matcher, _stdout, _stderr, _stdboth, _status, env) ⇒ Object
- #matches?(test) ⇒ Boolean
Instance Method Details
#execute(test, _stdout, _stderr, _stdboth, _status, env) ⇒ Object
13 14 15 16 17 |
# File 'lib/plugins/tf/env_arr_test.rb', line 13 def execute test, _stdout, _stderr, _stdboth, _status, env type, matcher = TF::EnvArrTest::MATCHER.find{|k,v| test =~ v } $stderr.puts "EnvArrTest: #{type}." if ENV["TF_DEBUG"] send "execute_#{type}".to_sym, matcher, test, _stdout, _stderr, _stdboth, _status, env end |
#execute_all(test, matcher, _stdout, _stderr, _stdboth, _status, env) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/plugins/tf/env_arr_test.rb', line 35 def execute_all test, matcher, _stdout, _stderr, _stdboth, _status, env test =~ matcher variable, sign, value = $1.strip, $2, $3, $4 var_val = env[ variable ] if var_val.is_a? Hash var_val = var_val.sort_by{|k,v| k}.map{|k,v| v}.join(" ") else return [ false, "failed: env #{variable}[] #{sign} /#{value}/ # not an array" ] end if ( sign == "=" ) ^ ( Regexp.new(value) =~ "#{var_val}" ) [ false, "failed: env #{variable}[] #{sign} /#{value}/ # was '#{var_val}'" ] else [ true, "passed: env #{variable}[] #{sign} /#{value}/" ] end end |
#execute_one(test, matcher, _stdout, _stderr, _stdboth, _status, env) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/plugins/tf/env_arr_test.rb', line 19 def execute_one test, matcher, _stdout, _stderr, _stdboth, _status, env test =~ matcher variable, index, sign, value = $1.strip, $2, $3, $4 var_val = env[ variable ] if var_val.is_a? Hash var_val = var_val[index] else return [ false, "failed: env #{variable}[#{index}] #{sign} /#{value}/ # not an array" ] end if ( sign == "=" ) ^ ( Regexp.new(value) =~ "#{var_val}" ) [ false, "failed: env #{variable}[#{index}] #{sign} /#{value}/ # was '#{var_val}'" ] else [ true, "passed: env #{variable}[#{index}] #{sign} /#{value}/" ] end end |
#execute_size(test, matcher, _stdout, _stderr, _stdboth, _status, env) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/plugins/tf/env_arr_test.rb', line 51 def execute_size test, matcher, _stdout, _stderr, _stdboth, _status, env test =~ matcher variable, sign, value = $1.strip, $2, $3, $4 var_val = env[ variable ] if var_val.is_a? Hash var_val = var_val.size else return [ false, "failed: env #{variable}[] #{sign} #{value} # not an array" ] end if ( sign == "=" ) ^ ( Regexp.new(value) =~ "#{var_val}" ) [ false, "failed: env #{variable}[] #{sign} #{value} # was #{var_val}" ] else [ true, "passed: env #{variable}[] #{sign} #{value}" ] end end |
#matches?(test) ⇒ Boolean
8 9 10 |
# File 'lib/plugins/tf/env_arr_test.rb', line 8 def matches? test TF::EnvArrTest::MATCHER.find{|k,v| test =~ v } end |