Method: CouchbaseOrm::N1qlProxy#initialize
- Defined in:
- lib/couchbase-orm/proxies/n1ql_proxy.rb
#initialize(proxyfied) ⇒ N1qlProxy
Returns a new instance of N1qlProxy.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/couchbase-orm/proxies/n1ql_proxy.rb', line 7 def initialize(proxyfied) @proxyfied = proxyfied self.class.define_method(:results) do |*params, &block| @results = nil if @current_query != self.to_s @current_query = self.to_s return @results if @results CouchbaseOrm.logger.debug { 'Query - ' + self.to_s } results = @proxyfied.rows results = results.map { |r| block.call(r) } if block @results = ResultsProxy.new(results.to_a) end self.class.define_method(:to_s) do @proxyfied.to_s.tr("\n", ' ') end proxyfied.public_methods.each do |method| next if self.public_methods.include?(method) self.class.define_method(method) do |*params, &block| ret = @proxyfied.send(method, *params, &block) ret.is_a?(@proxyfied.class) ? self : ret end end end |