module Activecube::QueryMethods

Attributes

database[R]
role[R]

Public Instance Methods

connected_to(database: nil, role: nil, &block) click to toggle source
# File lib/activecube/query_methods.rb, line 14
def connected_to database: nil, role: nil, &block
  raise Activecube::InputArgumentError, "Must pass block to method" unless block_given?
  super_model.connected_to(database: database, role: role) do
    @database = database
    @role = role
    block.call self
  end
end

Private Instance Methods

super_model() click to toggle source
# File lib/activecube/query_methods.rb, line 26
def super_model
  raise Activecube::InputArgumentError, "No tables specified for cube #{name}" unless models && models.count>0


  models.collect{|m|
    m < View ? m.models : m
  }.flatten.uniq.collect{ |t|
    t.ancestors.select{|c| c < ActiveRecord::Base }
  }.transpose.select{|c|
    c.uniq.count==1
  }.last.first

end