class FluShot::Vaccine

Attributes

attributes[R]

Public Class Methods

find(name) click to toggle source
# File lib/flu_shot/vaccine.rb, line 45
def self.find(name)
  self.vaccines[name]
end
label(name = nil) click to toggle source
# File lib/flu_shot/vaccine.rb, line 30
def self.label(name = nil)
  if name.nil?
    if defined?(@vaccine_name)
      @vaccine_name
    end || :unknown
  else
    @vaccine_name = name
    vaccines[name] = self
  end
end
new(attributes = {}) click to toggle source
# File lib/flu_shot/vaccine.rb, line 26
def initialize(attributes = {})
  @attributes = attributes
end
registered() click to toggle source
# File lib/flu_shot/vaccine.rb, line 41
def self.registered
  self.vaccines.keys
end
use(name, params = {}) click to toggle source
# File lib/flu_shot/vaccine.rb, line 49
def self.use(name, params = {})
  find(name).new(params)
end

Private Class Methods

vaccines() click to toggle source
# File lib/flu_shot/vaccine.rb, line 59
def self.vaccines
  Thread.current[:vaccines] ||= {}
end

Public Instance Methods

label() click to toggle source
# File lib/flu_shot/vaccine.rb, line 53
def label
  self.class.label
end