Class: God::Behavior
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#base_name, #complain, complain, #prepare, #reset
Instance Attribute Details
#watch ⇒ Object
Returns the value of attribute watch.
6
7
8
|
# File 'lib/god/behavior.rb', line 6
def watch
@watch
end
|
Class Method Details
.generate(kind, watch) ⇒ Object
Generate a Behavior of the given kind. The proper class is found by camel casing the
kind (which is given as an underscored symbol).
kind is the underscored symbol representing the class (e.g. foo_bar for God::Behaviors::FooBar)
11
12
13
14
15
16
17
18
|
# File 'lib/god/behavior.rb', line 11
def self.generate(kind, watch)
sym = kind.to_s.capitalize.gsub(/_(.)/){$1.upcase}.intern
b = God::Behaviors.const_get(sym).new
b.watch = watch
b
rescue NameError
raise NoSuchBehaviorError.new("No Behavior found with the class name God::Behaviors::#{sym}")
end
|
Instance Method Details
#after_restart ⇒ Object
35
36
|
# File 'lib/god/behavior.rb', line 35
def after_restart
end
|
#after_start ⇒ Object
29
30
|
# File 'lib/god/behavior.rb', line 29
def after_start
end
|
#after_stop ⇒ Object
41
42
|
# File 'lib/god/behavior.rb', line 41
def after_stop
end
|
#before_restart ⇒ Object
32
33
|
# File 'lib/god/behavior.rb', line 32
def before_restart
end
|
#before_start ⇒ Object
26
27
|
# File 'lib/god/behavior.rb', line 26
def before_start
end
|
#before_stop ⇒ Object
38
39
|
# File 'lib/god/behavior.rb', line 38
def before_stop
end
|
#friendly_name ⇒ Object
Construct the friendly name of this Behavior, looks like:
Behavior FooBar on Watch 'baz'
47
48
49
|
# File 'lib/god/behavior.rb', line 47
def friendly_name
"Behavior " + super + " on Watch '#{self.watch.name}'"
end
|
#valid? ⇒ Boolean
20
21
22
|
# File 'lib/god/behavior.rb', line 20
def valid?
true
end
|