Class: Compendium::Metric
- Inherits:
-
Struct
- Object
- Struct
- Compendium::Metric
- Defined in:
- lib/compendium/metric.rb
Instance Attribute Summary collapse
-
#command ⇒ Object
Returns the value of attribute command.
-
#name ⇒ Object
Returns the value of attribute name.
-
#options ⇒ Object
Returns the value of attribute options.
-
#query ⇒ Object
Returns the value of attribute query.
-
#result ⇒ Object
Returns the value of attribute result.
Instance Method Summary collapse
-
#initialize ⇒ Metric
constructor
A new instance of Metric.
- #ran? ⇒ Boolean (also: #has_ran?)
- #run(ctx, data) ⇒ Object
Constructor Details
#initialize ⇒ Metric
Returns a new instance of Metric.
5 6 7 8 |
# File 'lib/compendium/metric.rb', line 5 def initialize(*) super self. ||= {} end |
Instance Attribute Details
#command ⇒ Object
Returns the value of attribute command
2 3 4 |
# File 'lib/compendium/metric.rb', line 2 def command @command end |
#name ⇒ Object
Returns the value of attribute name
2 3 4 |
# File 'lib/compendium/metric.rb', line 2 def name @name end |
#options ⇒ Object
Returns the value of attribute options
2 3 4 |
# File 'lib/compendium/metric.rb', line 2 def @options end |
#query ⇒ Object
Returns the value of attribute query
2 3 4 |
# File 'lib/compendium/metric.rb', line 2 def query @query end |
#result ⇒ Object
Returns the value of attribute result.
3 4 5 |
# File 'lib/compendium/metric.rb', line 3 def result @result end |
Instance Method Details
#ran? ⇒ Boolean Also known as: has_ran?
18 19 20 |
# File 'lib/compendium/metric.rb', line 18 def ran? !result.nil? end |
#run(ctx, data) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/compendium/metric.rb', line 10 def run(ctx, data) self.result = if condition_failed?(ctx) nil else command.is_a?(Symbol) ? ctx.send(command, data) : ctx.instance_exec(data, &command) end end |