Class: Whenever::Job

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Job

Returns a new instance of Job


7
8
9
10
11
12
13
14
15
16
17
# File 'lib/whenever/job.rb', line 7

def initialize(options = {})
  @options = options
  @at                               = options.delete(:at)
  @template                         = options.delete(:template)
  @job_template                     = options.delete(:job_template) || ":job"
  @roles                            = Array(options.delete(:roles))
  @options[:output]                 = options.has_key?(:output) ? Whenever::Output::Redirection.new(options[:output]).to_s : ''
  @options[:environment_variable] ||= "RAILS_ENV"
  @options[:environment]          ||= :production
  @options[:path]                   = Shellwords.shellescape(@options[:path] || Whenever.path)
end

Instance Attribute Details

#atObject (readonly)

Returns the value of attribute at


5
6
7
# File 'lib/whenever/job.rb', line 5

def at
  @at
end

#rolesObject (readonly)

Returns the value of attribute roles


5
6
7
# File 'lib/whenever/job.rb', line 5

def roles
  @roles
end

Instance Method Details

#has_role?(role) ⇒ Boolean

Returns:

  • (Boolean)

25
26
27
# File 'lib/whenever/job.rb', line 25

def has_role?(role)
  roles.empty? || roles.include?(role)
end

#outputObject


19
20
21
22
23
# File 'lib/whenever/job.rb', line 19

def output
  job = process_template(@template, @options)
  out = process_template(@job_template, @options.merge(:job => job))
  out.gsub(/%/, '\%')
end