Class: Coiasira::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/coiasira/context.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeContext

Returns a new instance of Context.



5
6
7
8
9
10
# File 'lib/coiasira/context.rb', line 5

def initialize
  @details = JobDetail.new
  @trigger = Trigger.new
  @merged = JobData.new
  @data = Hash.new
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(sym, value = nil) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/coiasira/context.rb', line 33

def method_missing(sym, value=nil)
  sym = sym.to_s
  if sym =~ /^(.*)=$/
    return self[$~[1]] = value
  else
    return self[sym]
  end
end

Instance Attribute Details

#detailsObject (readonly)

Returns the value of attribute details.



3
4
5
# File 'lib/coiasira/context.rb', line 3

def details
  @details
end

#mergedObject (readonly)

Returns the value of attribute merged.



3
4
5
# File 'lib/coiasira/context.rb', line 3

def merged
  @merged
end

#next_fire_timeObject (readonly)

Returns the value of attribute next_fire_time.



3
4
5
# File 'lib/coiasira/context.rb', line 3

def next_fire_time
  @next_fire_time
end

#previous_fire_timeObject (readonly)

Returns the value of attribute previous_fire_time.



3
4
5
# File 'lib/coiasira/context.rb', line 3

def previous_fire_time
  @previous_fire_time
end

#scheduled_fire_timeObject (readonly)

Returns the value of attribute scheduled_fire_time.



3
4
5
# File 'lib/coiasira/context.rb', line 3

def scheduled_fire_time
  @scheduled_fire_time
end

#triggerObject (readonly)

Returns the value of attribute trigger.



3
4
5
# File 'lib/coiasira/context.rb', line 3

def trigger
  @trigger
end

Instance Method Details

#[](key) ⇒ Object



12
13
14
# File 'lib/coiasira/context.rb', line 12

def [](key)
  @data[key]
end

#[]=(key, value) ⇒ Object



16
17
18
# File 'lib/coiasira/context.rb', line 16

def []=(key, value)
  @data[key] = value
end

#actionObject



20
21
22
# File 'lib/coiasira/context.rb', line 20

def action
  details.data.action
end

#action=(value) ⇒ Object



24
25
26
# File 'lib/coiasira/context.rb', line 24

def action=(value)
  details.data.action=value.to_s
end

#prepareObject



28
29
30
31
# File 'lib/coiasira/context.rb', line 28

def prepare
  @merged.merge! details.data
  @merged.merge! trigger.data
end