Class: QHash
- Inherits:
-
Object
show all
- Includes:
- Enumerable
- Defined in:
- lib/q_hash.rb
Defined Under Namespace
Classes: Error, RecordNotFound
Constant Summary
collapse
- VERSION =
"0.2.0"
Instance Method Summary
collapse
Constructor Details
#initialize(data) ⇒ QHash
Returns a new instance of QHash.
12
13
14
|
# File 'lib/q_hash.rb', line 12
def initialize(data)
@data = data
end
|
Instance Method Details
#each(&block) ⇒ Object
29
30
31
|
# File 'lib/q_hash.rb', line 29
def each(&block)
data.each(&block)
end
|
#find_by(**conditions) ⇒ Object
16
17
18
|
# File 'lib/q_hash.rb', line 16
def find_by(**conditions)
data.find { |record| apply_conditions(record, conditions) }
end
|
#find_by!(**conditions) ⇒ Object
20
21
22
|
# File 'lib/q_hash.rb', line 20
def find_by!(**conditions)
find_by(**conditions) || raise(RecordNotFound)
end
|
#inspect ⇒ Object
33
34
35
|
# File 'lib/q_hash.rb', line 33
def inspect
data
end
|
#where(**conditions) ⇒ Object
24
25
26
27
|
# File 'lib/q_hash.rb', line 24
def where(**conditions)
result = data.select { |record| apply_conditions(record, conditions) }
self.class.new(result)
end
|