Class: Pendulum::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/pendulum/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(api_key = '', options = {}, &block) ⇒ Client

Returns a new instance of Client.



7
8
9
10
11
# 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

Instance Method Details

#apply(dry_run: false, force: false, color: false) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# 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) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
# 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