Class: Applitools::RectangleSize
- Inherits:
-
Struct
- Object
- Struct
- Applitools::RectangleSize
show all
- Includes:
- HashExtension
- Defined in:
- lib/applitools/core/rectangle_size.rb
Overview
rubocop:disable Metrics/BlockLength
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#struct_define_to_h_method
Constructor Details
Returns a new instance of RectangleSize.
33
34
35
36
|
# File 'lib/applitools/core/rectangle_size.rb', line 33
def initialize(*args)
super
struct_define_to_h_method if respond_to? :struct_define_to_h_method
end
|
Instance Attribute Details
#height ⇒ Object
Returns the value of attribute height
6
7
8
|
# File 'lib/applitools/core/rectangle_size.rb', line 6
def height
@height
end
|
#width ⇒ Object
Returns the value of attribute width
6
7
8
|
# File 'lib/applitools/core/rectangle_size.rb', line 6
def width
@width
end
|
Class Method Details
.from_any_argument(value) ⇒ Object
Also known as:
for
9
10
11
12
13
14
15
|
# File 'lib/applitools/core/rectangle_size.rb', line 9
def from_any_argument(value)
return from_string(value) if value.is_a? String
return from_hash(value) if value.is_a? Hash
return from_struct(value) if value.respond_to?(:width) & value.respond_to?(:height)
return value if value.is_a? self
nil
end
|
.from_hash(value) ⇒ Object
24
25
26
|
# File 'lib/applitools/core/rectangle_size.rb', line 24
def from_hash(value)
new value[:width].to_i, value[:height].to_i
end
|
.from_string(value) ⇒ Object
19
20
21
22
|
# File 'lib/applitools/core/rectangle_size.rb', line 19
def from_string(value)
width, height = value.split(/x/)
new width.to_i, height.to_i
end
|
.from_struct(value) ⇒ Object
28
29
30
|
# File 'lib/applitools/core/rectangle_size.rb', line 28
def from_struct(value)
new value.width.to_i, value.height.to_i
end
|
Instance Method Details
#+(other) ⇒ Object
48
49
50
51
52
|
# File 'lib/applitools/core/rectangle_size.rb', line 48
def +(other)
self.width = width + other.width
self.height = height + other.height
self
end
|
#-(other) ⇒ Object
42
43
44
45
46
|
# File 'lib/applitools/core/rectangle_size.rb', line 42
def -(other)
self.width = width - other.width
self.height = height - other.height
self
end
|
#<(other) ⇒ Object
69
70
71
|
# File 'lib/applitools/core/rectangle_size.rb', line 69
def<(other)
square < other.square
end
|
#>(other) ⇒ Object
65
66
67
|
# File 'lib/applitools/core/rectangle_size.rb', line 65
def >(other)
square > other.square
end
|
#empty? ⇒ Boolean
77
78
79
|
# File 'lib/applitools/core/rectangle_size.rb', line 77
def empty?
square.zero?
end
|
#scale_it!(scale_factor) ⇒ Object
54
55
56
57
58
|
# File 'lib/applitools/core/rectangle_size.rb', line 54
def scale_it!(scale_factor)
self.width *= scale_factor
self.height *= scale_factor
self
end
|
#square ⇒ Object
60
61
62
63
|
# File 'lib/applitools/core/rectangle_size.rb', line 60
def square
return 0 if width.nil? || height.nil?
width * height
end
|
#to_hash ⇒ Object
73
74
75
|
# File 'lib/applitools/core/rectangle_size.rb', line 73
def to_hash
to_h
end
|
#to_s ⇒ Object
38
39
40
|
# File 'lib/applitools/core/rectangle_size.rb', line 38
def to_s
"#{width}x#{height}"
end
|