class Reportier::Persister
Public Class Methods
get(tracker, persister_type = Defaults.global.persister)
click to toggle source
# File lib/reportier/persister.rb, line 4 def self.get(tracker, persister_type = Defaults.global.persister) type = Namer.new.name_class(persister_type) persister = eval "#{type}Persister" persister.new(tracker) end
new(tracker)
click to toggle source
# File lib/reportier/persister.rb, line 10 def initialize(tracker) @tracker = tracker @reporting_vars = {} end
Public Instance Methods
clear()
click to toggle source
# File lib/reportier/persister.rb, line 30 def clear @reporting_vars = {} end
get_date()
click to toggle source
# File lib/reportier/persister.rb, line 34 def get_date @tracker.started_at end
report()
click to toggle source
# File lib/reportier/persister.rb, line 21 def report attr_messages.inject(&:+).to_s end
save(item)
click to toggle source
# File lib/reportier/persister.rb, line 15 def save(item) item = item.to_sym initialize_reporting_var(item) unless get(item) incr(item) end
set_date(date)
click to toggle source
# File lib/reportier/persister.rb, line 38 def set_date(date) @tracker.started_at = date end
to_hash(reporting_vars = @reporting_vars)
click to toggle source
# File lib/reportier/persister.rb, line 42 def to_hash(reporting_vars = @reporting_vars) reporting_vars.merge(@tracker.defaults.reporting_vars) end
to_json()
click to toggle source
# File lib/reportier/persister.rb, line 25 def to_json hash = to_hash.map { |k,v| "\"#{k}\": #{v}" }.join(",\n") "{#{hash}}" end
Private Instance Methods
attr_messages()
click to toggle source
# File lib/reportier/persister.rb, line 60 def attr_messages to_hash.map do |key, val| "#{key}: #{val}\n" end end
get(item)
click to toggle source
# File lib/reportier/persister.rb, line 52 def get(item) @reporting_vars[item] end
incr(item)
click to toggle source
# File lib/reportier/persister.rb, line 48 def incr(item) @reporting_vars[item] += 1 end
initialize_reporting_var(name)
click to toggle source
# File lib/reportier/persister.rb, line 66 def initialize_reporting_var(name) set(name, 0) end
set(item, val)
click to toggle source
# File lib/reportier/persister.rb, line 56 def set(item, val) @reporting_vars[item] = 0 end