class Dripl::Prompt

Attributes

client[RW]
source[RW]

Public Class Methods

new(client, source = nil) click to toggle source
# File lib/dripl/prompt.rb, line 8
def initialize(client, source = nil)
  @client = client
  @source = nil
  use(source) if source
end

Public Instance Methods

dimensions() click to toggle source
# File lib/dripl/prompt.rb, line 32
def dimensions
  @source.dimensions.sort
end
method_missing(*args) click to toggle source
# File lib/dripl/prompt.rb, line 18
def method_missing(*args)
  query.public_send(*args)
end
metrics() click to toggle source
# File lib/dripl/prompt.rb, line 36
def metrics
  @source.metrics.sort
end
query() click to toggle source
# File lib/dripl/prompt.rb, line 22
def query
  query = Druid::Query::Builder.new
  query.data_source(@source.name)
  query
end
sources() click to toggle source
# File lib/dripl/prompt.rb, line 28
def sources
  @client.data_sources.keys
end
start() click to toggle source
# File lib/dripl/prompt.rb, line 14
def start
  Ripl.start(argv: [], binding: binding)
end
use(source) click to toggle source
# File lib/dripl/prompt.rb, line 40
def use(source)
  # TODO: source not found
  source = @client.data_sources.keys[source] if source.is_a?(Numeric)
  @source = @client.data_source(source)
  puts("Using #{@source.name} data source")
end