Class: Factbase::Looged::Query
- Inherits:
-
Object
- Object
- Factbase::Looged::Query
- Defined in:
- lib/factbase/looged.rb
Overview
Query decorator.
This is an internal class, it is not supposed to be instantiated directly.
Instance Method Summary collapse
- #delete! ⇒ Object
- #each ⇒ Object
-
#initialize(query, expr, loog) ⇒ Query
constructor
A new instance of Query.
Constructor Details
#initialize(query, expr, loog) ⇒ Query
Returns a new instance of Query.
109 110 111 112 113 |
# File 'lib/factbase/looged.rb', line 109 def initialize(query, expr, loog) @query = query @expr = expr @loog = loog end |
Instance Method Details
#delete! ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/factbase/looged.rb', line 145 def delete! r = nil tail = Factbase::Looged.elapsed do r = @query.delete! end raise ".delete! of #{@query.class} returned #{r.class}" unless r.is_a?(Integer) if r.zero? @loog.debug("Nothing deleted by '#{@expr}' #{tail}") else @loog.debug("Deleted #{r} fact(s) by '#{@expr}' #{tail}") end r end |
#each ⇒ Object
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/factbase/looged.rb', line 115 def each(&) q = Factbase::Syntax.new(@expr).to_term.to_s if block_given? r = nil tail = Factbase::Looged.elapsed do r = @query.each(&) end raise ".each of #{@query.class} returned #{r.class}" unless r.is_a?(Integer) if r.zero? @loog.debug("Nothing found by '#{q}' #{tail}") else @loog.debug("Found #{r} fact(s) by '#{q}' #{tail}") end r else array = [] tail = Factbase::Looged.elapsed do @query.each do |f| array << f end end if array.empty? @loog.debug("Nothing found by '#{q}' #{tail}") else @loog.debug("Found #{array.size} fact(s) by '#{q}' #{tail}") end array end end |