Module: Applitools::Utils
- Extended by:
- Utils
- Included in:
- Utils
- Defined in:
- lib/applitools/utils/utils.rb,
lib/applitools/utils/image_utils.rb,
lib/applitools/utils/eyes_selenium_utils.rb,
lib/applitools/utils/image_delta_compressor.rb
Defined Under Namespace
Modules: EyesSeleniumUtils, ImageDeltaCompressor, ImageUtils
Constant Summary
collapse
- RESAMPLE_INCREMENTALLY_FRACTION =
2
Instance Method Summary
collapse
Instance Method Details
#boolean_value(value) ⇒ Object
56
57
58
59
60
61
62
|
# File 'lib/applitools/utils/utils.rb', line 56
def boolean_value(value)
if value
true
else
false
end
end
|
#camelcase(str) ⇒ Object
16
17
18
19
|
# File 'lib/applitools/utils/utils.rb', line 16
def camelcase(str)
tokens = str.split('_')
uncapitalize(tokens.shift) + tokens.map(&:capitalize).join
end
|
#camelcase_hash_keys(hash) ⇒ Object
44
45
46
|
# File 'lib/applitools/utils/utils.rb', line 44
def camelcase_hash_keys(hash)
convert_hash_keys(hash, :camelcase)
end
|
#capitalize(str) ⇒ Object
21
22
23
|
# File 'lib/applitools/utils/utils.rb', line 21
def capitalize(str)
str[0, 1].upcase + str[1..-1]
end
|
#capitalize_hash_keys(hash) ⇒ Object
48
49
50
|
# File 'lib/applitools/utils/utils.rb', line 48
def capitalize_hash_keys(hash)
convert_hash_keys(hash, :capitalize)
end
|
#deep_stringify_keys(value) ⇒ Object
87
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/applitools/utils/utils.rb', line 87
def deep_stringify_keys(value)
case value
when Hash
value.each_with_object({}) do |(key, val), result|
result[key.to_s] = deep_stringify_keys(val)
end
when Array
value.map { |e| deep_stringify_keys(e) }
else
value
end
end
|
#deep_symbolize_keys(value) ⇒ Object
100
101
102
103
104
105
106
107
108
109
110
111
|
# File 'lib/applitools/utils/utils.rb', line 100
def deep_symbolize_keys(value)
case value
when Hash
value.each_with_object({}) do |(key, val), result|
result[key.to_sym] = deep_symbolize_keys(val)
end
when Array
value.map { |e| deep_symbolize_keys(e) }
else
value
end
end
|
70
71
72
73
|
# File 'lib/applitools/utils/utils.rb', line 70
def (array)
return array.pop if array.last.instance_of? Hash
{}
end
|
#stringify_for_hash(value) ⇒ Object
75
76
77
78
79
80
81
82
83
84
85
|
# File 'lib/applitools/utils/utils.rb', line 75
def stringify_for_hash(value)
return value.stringify if value.respond_to? :stringify
case value
when Array
value.map { |el| stringify_for_hash(el) }.join('')
when Hash
value.keys.sort { |a, b| b.to_s <=> a.to_s }.map { |k| "#{k}#{stringify_for_hash(value[k])}" }.join('')
else
value.to_s
end
end
|
#stringify_hash_keys(hash) ⇒ Object
52
53
54
|
# File 'lib/applitools/utils/utils.rb', line 52
def stringify_hash_keys(hash)
convert_hash_keys(hash, :stringify)
end
|
#symbolize_keys(hash) ⇒ Object
64
65
66
67
68
|
# File 'lib/applitools/utils/utils.rb', line 64
def symbolize_keys(hash)
hash.each_with_object({}) do |(k, v), memo|
memo[k.to_sym] = v
end
end
|
#to_method_name(str) ⇒ Object
25
26
27
28
|
# File 'lib/applitools/utils/utils.rb', line 25
def to_method_name(str)
str = str.to_s if !str.is_a?(String) && str.respond_to?(:to_s)
underscore(str).gsub(%r{\/}, '__')
end
|
#uncapitalize(str) ⇒ Object
12
13
14
|
# File 'lib/applitools/utils/utils.rb', line 12
def uncapitalize(str)
str[0, 1].downcase + str[1..-1]
end
|
#underscore(str) ⇒ Object
8
9
10
|
# File 'lib/applitools/utils/utils.rb', line 8
def underscore(str)
str.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').gsub(/([a-z\d])([A-Z])/, '\1_\2').tr('-', '_').downcase
end
|
#underscore_hash_keys(hash) ⇒ Object
40
41
42
|
# File 'lib/applitools/utils/utils.rb', line 40
def underscore_hash_keys(hash)
convert_hash_keys(hash, :underscore)
end
|
#wrap(object) ⇒ Object
30
31
32
33
34
35
36
37
38
|
# File 'lib/applitools/utils/utils.rb', line 30
def wrap(object)
if object.nil?
[]
elsif object.respond_to?(:to_ary)
object.to_ary || [object]
else
[object]
end
end
|