Class: Whenever::Test::DSLInterpreter

Inherits:
Object
  • Object
show all
Defined in:
lib/whenever/test/dsl.rb

Instance Method Summary collapse

Constructor Details

#initialize(schedule_world) ⇒ DSLInterpreter

Returns a new instance of DSLInterpreter.



3
4
5
# File 'lib/whenever/test/dsl.rb', line 3

def initialize(schedule_world)
  @_world = schedule_world
end

Instance Method Details

#env(name, value) ⇒ Object



26
27
28
# File 'lib/whenever/test/dsl.rb', line 26

def env(name, value)
  @_world.envs[name] = value
end

#every(*args, &block) ⇒ Object



14
15
16
17
# File 'lib/whenever/test/dsl.rb', line 14

def every(*args, &block)
  @_current_every = args
  yield
end

#job_type(job, command) ⇒ Object



7
8
9
10
11
12
# File 'lib/whenever/test/dsl.rb', line 7

def job_type(job, command)
  @_world.jobs[job] = []
  define_singleton_method(job) do |task, *_args|
    @_world.jobs[job] << StrictHash[task: task, every: @_current_every, command: command]
  end
end

#set(name, value) ⇒ Object



19
20
21
22
23
24
# File 'lib/whenever/test/dsl.rb', line 19

def set(name, value)
  instance_variable_set("@#{name}".to_sym, value)
  self.class.send(:attr_reader, name.to_sym)

  @_world.sets[name] = value
end