Class: Remedy::Size
- Inherits:
-
Object
- Object
- Remedy::Size
- Defined in:
- lib/remedy/size.rb
Instance Attribute Summary collapse
-
#dimensions ⇒ Object
Returns the value of attribute dimensions.
Instance Method Summary collapse
- #-(other_size) ⇒ Object
- #/(value) ⇒ Object
- #<<(value) ⇒ Object
- #[](index) ⇒ Object
- #cols ⇒ Object (also: #columns)
- #fits_into?(size_to_fit_into) ⇒ Boolean
-
#initialize(*new_dimensions) ⇒ Size
constructor
A new instance of Size.
- #inspect ⇒ Object
- #length ⇒ Object
- #rows ⇒ Object
- #to_a ⇒ Object
- #to_ary ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(*new_dimensions) ⇒ Size
Returns a new instance of Size.
3 4 5 6 7 8 9 10 11 |
# File 'lib/remedy/size.rb', line 3 def initialize *new_dimensions new_dimensions.flatten! if new_dimensions.first.is_a? Range then new_dimensions.map! do |range| range.to_a.length end end @dimensions = new_dimensions end |
Instance Attribute Details
#dimensions ⇒ Object
Returns the value of attribute dimensions.
12 13 14 |
# File 'lib/remedy/size.rb', line 12 def dimensions @dimensions end |
Instance Method Details
#-(other_size) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/remedy/size.rb', line 14 def - other_size if other_size.respond_to? :length then self.class.new subtract(other_size) else self.class.new deduct(other_size) end end |
#/(value) ⇒ Object
22 23 24 25 26 |
# File 'lib/remedy/size.rb', line 22 def / value dimensions.map do |dimension| dimension / value end end |
#<<(value) ⇒ Object
28 29 30 |
# File 'lib/remedy/size.rb', line 28 def << value self.dimensions << value end |
#[](index) ⇒ Object
50 51 52 |
# File 'lib/remedy/size.rb', line 50 def [] index dimensions[index] end |
#cols ⇒ Object Also known as: columns
45 46 47 |
# File 'lib/remedy/size.rb', line 45 def cols dimensions[1] end |
#fits_into?(size_to_fit_into) ⇒ Boolean
33 34 35 36 37 38 39 |
# File 'lib/remedy/size.rb', line 33 def fits_into? size_to_fit_into other_size = Size(size_to_fit_into) length.times.each do |index| return false if self[index] > other_size[index] end true end |
#inspect ⇒ Object
70 71 72 |
# File 'lib/remedy/size.rb', line 70 def inspect "#<#{self.class}:#{to_s}>" end |
#length ⇒ Object
54 55 56 |
# File 'lib/remedy/size.rb', line 54 def length dimensions.length end |
#rows ⇒ Object
41 42 43 |
# File 'lib/remedy/size.rb', line 41 def rows dimensions[0] end |
#to_a ⇒ Object
58 59 60 |
# File 'lib/remedy/size.rb', line 58 def to_a dimensions.dup end |
#to_ary ⇒ Object
62 63 64 |
# File 'lib/remedy/size.rb', line 62 def to_ary dimensions end |
#to_s ⇒ Object
66 67 68 |
# File 'lib/remedy/size.rb', line 66 def to_s "(#{dimensions.join('x')})" end |