Class: Preserves::Selection
- Inherits:
-
Object
- Object
- Preserves::Selection
- Includes:
- Enumerable
- Defined in:
- lib/preserves/selection.rb
Instance Attribute Summary collapse
-
#domain_objects ⇒ Object
Returns the value of attribute domain_objects.
Instance Method Summary collapse
- #[](index) ⇒ Object
- #each(&block) ⇒ Object
- #first ⇒ Object
- #first! ⇒ Object
-
#initialize(domain_objects) ⇒ Selection
constructor
A new instance of Selection.
- #last ⇒ Object
- #last! ⇒ Object
- #only ⇒ Object (also: #one)
- #only! ⇒ Object (also: #one!)
- #second ⇒ Object
- #second! ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize(domain_objects) ⇒ Selection
Returns a new instance of Selection.
8 9 10 |
# File 'lib/preserves/selection.rb', line 8 def initialize(domain_objects) self.domain_objects = domain_objects end |
Instance Attribute Details
#domain_objects ⇒ Object
Returns the value of attribute domain_objects.
6 7 8 |
# File 'lib/preserves/selection.rb', line 6 def domain_objects @domain_objects end |
Instance Method Details
#[](index) ⇒ Object
60 61 62 |
# File 'lib/preserves/selection.rb', line 60 def [](index) domain_objects[index] end |
#each(&block) ⇒ Object
12 13 14 |
# File 'lib/preserves/selection.rb', line 12 def each(&block) domain_objects.each(&block) end |
#first ⇒ Object
20 21 22 |
# File 'lib/preserves/selection.rb', line 20 def first domain_objects.first end |
#first! ⇒ Object
24 25 26 27 |
# File 'lib/preserves/selection.rb', line 24 def first! fail "expected at least 1 result" if size == 0 domain_objects.first end |
#last ⇒ Object
38 39 40 |
# File 'lib/preserves/selection.rb', line 38 def last domain_objects.last end |
#last! ⇒ Object
42 43 44 45 |
# File 'lib/preserves/selection.rb', line 42 def last! fail "expected at least 1 result" if size == 0 domain_objects.last end |
#only ⇒ Object Also known as: one
47 48 49 50 |
# File 'lib/preserves/selection.rb', line 47 def only fail "expected only 1 result" if size > 1 domain_objects.first end |
#only! ⇒ Object Also known as: one!
52 53 54 55 |
# File 'lib/preserves/selection.rb', line 52 def only! fail "expected exactly 1 result" if size != 1 domain_objects.first end |
#second ⇒ Object
29 30 31 |
# File 'lib/preserves/selection.rb', line 29 def second domain_objects.second end |
#second! ⇒ Object
33 34 35 36 |
# File 'lib/preserves/selection.rb', line 33 def second! fail "expected at least 1 result" if size == 0 domain_objects.second end |
#size ⇒ Object
16 17 18 |
# File 'lib/preserves/selection.rb', line 16 def size domain_objects.size end |