class Pendulum::Client
Public Class Methods
new(api_key='', options={}, &block)
click to toggle source
# File lib/pendulum/client.rb, line 7 def initialize(api_key='', options={}, &block) @api_key = api_key @config = Configuration.new(options) @config.instance_eval(&block) if block_given? end
Public Instance Methods
apply(dry_run: false, force: false, color: false)
click to toggle source
# File lib/pendulum/client.rb, line 13 def apply(dry_run: false, force: false, color: false) Pendulum::Command::Apply.new( td_client, current_schedules, @config.schedules, dry_run, force, color, ).execute end
export(output)
click to toggle source
# File lib/pendulum/client.rb, line 24 def export(output) result = DSL::Converter.new(td_client.schedules).convert # schedule File.write(output, result[:schedule]) # queries query_dir = File.join(File.dirname(output), 'queries') make_dir(query_dir) result[:queries].each do |query| File.write(File.join(query_dir, query[:name]), query[:query]) end end
Private Instance Methods
current_schedules()
click to toggle source
# File lib/pendulum/client.rb, line 38 def current_schedules td_client.schedules end
make_dir(dir)
click to toggle source
# File lib/pendulum/client.rb, line 46 def make_dir(dir) FileUtils.mkdir(dir) unless File.exist?(dir) end
td_client()
click to toggle source
# File lib/pendulum/client.rb, line 42 def td_client @td_client ||= TreasureData::Client.new(@api_key, {ssl: true}) end