class Objective
Attributes
name[R]
outcomes[R]
Public Class Methods
add_current(name)
click to toggle source
needs to just be adding 1
# File lib/mobiusloop/objective.rb, line 9 def self.add_current(name) objective = Objective.new(name) if @@objectives.include?(objective) == false @@objectives.push(objective) end self.get_current end
get_all()
click to toggle source
# File lib/mobiusloop/objective.rb, line 21 def self.get_all @@objectives end
get_current()
click to toggle source
# File lib/mobiusloop/objective.rb, line 17 def self.get_current @@objectives.last end
new(name)
click to toggle source
# File lib/mobiusloop/objective.rb, line 29 def initialize(name) @name = name @outcomes = [] end
Public Instance Methods
==(other)
click to toggle source
# File lib/mobiusloop/objective.rb, line 67 def ==(other) other.class == self.class && other.name == self.name end
add_outcome(outcome)
click to toggle source
# File lib/mobiusloop/objective.rb, line 35 def add_outcome(outcome) @outcomes.push(outcome) end
save()
click to toggle source
persist the results. May be overridden by subclasses
# File lib/mobiusloop/objective.rb, line 41 def save filename = Time.now.strftime("measures-%Y-%m-%d-%H%M%S.json") dirname = "goals/measures" hash = { "objective" => @name} @outcomes.each {|o| hash.store("outcome", o.name) hash.store("scale", "#{o.scale.class.name}.rb") hash.store("baseline", o.baseline) hash.store("baseline date", o.baseline_date) hash.store("target", o.target) hash.store("target date", o.target_date) hash.store("measure", o.last_measure.value) hash.store("measure date", Time.now.strftime("%b %-d, %Y")) } if !File.exists? dirname FileUtils.mkdir_p dirname end File.open("#{dirname}/#{filename}","a") do |f| f.write(JSON.pretty_generate(hash)) f.write("\n") end end
state()
click to toggle source
# File lib/mobiusloop/objective.rb, line 72 def state self.instance_variables.map { |variable| self.instance_variable_get variable } end