class DaedalSL::Builder
Attributes
data[R]
Public Class Methods
new(data=nil)
click to toggle source
# File lib/daedal-sl/builder.rb, line 7 def initialize(data=nil) @data = data @query = match_all @filter = nil @options = {} end
Public Instance Methods
fields(*f)
click to toggle source
# File lib/daedal-sl/builder.rb, line 34 def fields(*f) @options[:fields] = f end
filter() { || ... }
click to toggle source
# File lib/daedal-sl/builder.rb, line 20 def filter if block_given? @filter = yield end end
from(num)
click to toggle source
# File lib/daedal-sl/builder.rb, line 26 def from(num) @options[:from] = num end
paginate(options={})
click to toggle source
# File lib/daedal-sl/builder.rb, line 38 def paginate(options={}) page = options[:page] || 1 per_page = options[:per_page] || 10 from ((page - 1) * per_page) size per_page end
query() { || ... }
click to toggle source
# File lib/daedal-sl/builder.rb, line 14 def query if block_given? @query = yield end end
size(num)
click to toggle source
# File lib/daedal-sl/builder.rb, line 30 def size(num) @options[:size] = num end
to_hash()
click to toggle source
# File lib/daedal-sl/builder.rb, line 46 def to_hash result = {} unless @query.nil? result[:query] = @query.to_hash end unless @filter.nil? result[:filter] = @filter.to_hash end result.merge(@options) end