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.
7
8
9
|
# File 'lib/god/behavior.rb', line 7
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)
12
13
14
15
16
17
18
19
|
# File 'lib/god/behavior.rb', line 12
def self.generate(kind, watch)
sym = kind.to_s.capitalize.gsub(/_(.)/) { Regexp.last_match(1).upcase }.intern
b = God::Behaviors.const_get(sym).new
b.watch = watch
b
rescue NameError
raise NoSuchBehaviorError, "No Behavior found with the class name God::Behaviors::#{sym}"
end
|
Instance Method Details
#after_restart ⇒ Object
36
37
|
# File 'lib/god/behavior.rb', line 36
def after_restart
end
|
#after_start ⇒ Object
30
31
|
# File 'lib/god/behavior.rb', line 30
def after_start
end
|
#after_stop ⇒ Object
42
43
|
# File 'lib/god/behavior.rb', line 42
def after_stop
end
|
#before_restart ⇒ Object
33
34
|
# File 'lib/god/behavior.rb', line 33
def before_restart
end
|
#before_start ⇒ Object
27
28
|
# File 'lib/god/behavior.rb', line 27
def before_start
end
|
#before_stop ⇒ Object
39
40
|
# File 'lib/god/behavior.rb', line 39
def before_stop
end
|
#friendly_name ⇒ Object
Construct the friendly name of this Behavior, looks like:
Behavior FooBar on Watch ‘baz’
48
49
50
|
# File 'lib/god/behavior.rb', line 48
def friendly_name
"Behavior #{super} on Watch '#{watch.name}'"
end
|
#valid? ⇒ Boolean
21
22
23
|
# File 'lib/god/behavior.rb', line 21
def valid?
true
end
|