Method: Activecube::Query::CubeQuery#initialize

Defined in:
lib/activecube/query/cube_query.rb

#initialize(cube, slices = [], measures = [], selectors = [], options = [], model_tables = nil) ⇒ CubeQuery

Returns a new instance of CubeQuery.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/activecube/query/cube_query.rb', line 21

def initialize cube, slices = [], measures = [], selectors = [], options = [], model_tables = nil
  @cube = cube
  @slices = slices
  @measures = measures
  @selectors = selectors
  @options = options

  @tables = model_tables || cube.models.map{|m|
    m < Activecube::View ? m.new : Activecube::Processor::Table.new(m)
  }

  cube.options && cube.options.each do |option|
    define_singleton_method option.to_s.underscore do |*args|
      @options << Option.new(option, *args)
      self
    end
  end

end