module Olfactory

Constants

VERSION

Public Class Methods

build(name, options = {}, &block) click to toggle source

Invocations

# File lib/olfactory.rb, line 36
def self.build(name, options = {}, &block)
  self.templates[name].construct(block, options)
end
clear() click to toggle source
# File lib/olfactory.rb, line 52
def self.clear
  @@templates = {}
  @@sequences = {}
  @@dictionaries = {}
end
create(name, options = {}, &block) click to toggle source
# File lib/olfactory.rb, line 39
def self.create(name, options = {}, &block)
  template = self.templates[name].construct(block, options)
  template.save!
  template
end
dictionaries() click to toggle source
# File lib/olfactory.rb, line 18
def self.dictionaries
  @@dictionaries
end
dictionary(name) click to toggle source
# File lib/olfactory.rb, line 31
def self.dictionary(name)
  dictionaries[name] = Olfactory::Dictionary.new(name)
end
generate(name, options = {}, &block) click to toggle source
# File lib/olfactory.rb, line 44
def self.generate(name, options = {}, &block)
  if sequence = self.sequences[name]
    sequence.generate(options, block)
  else
    raise "Unknown sequence '#{name}'!"
  end
end
reset() click to toggle source
# File lib/olfactory.rb, line 57
def self.reset
  self.reset_sequences
  self.reset_dictionaries
  self.reset_template_sequences
  self.reset_template_dictionaries
end
reset_dictionaries(*names) click to toggle source
# File lib/olfactory.rb, line 75
def self.reset_dictionaries(*names)
  names = self.dictionaries.keys if names.empty?
  names.each do |name|
    self.dictionaries[name].reset
  end
end
reset_sequences(*names) click to toggle source
# File lib/olfactory.rb, line 63
def self.reset_sequences(*names)
  names = self.sequences.keys if names.empty?
  names.each do |name|
    self.sequences[name].reset
  end
end
reset_template_dictionaries(template = nil, *names) click to toggle source
# File lib/olfactory.rb, line 81
def self.reset_template_dictionaries(template = nil, *names)
  templates = template.nil? ? self.templates.values : [self.templates[template]].compact
  templates.each do |template|
    template.reset_dictionaries(*names)
  end
end
reset_template_sequences(template = nil, *names) click to toggle source
# File lib/olfactory.rb, line 69
def self.reset_template_sequences(template = nil, *names)
  templates = template.nil? ? self.templates.values : [self.templates[template]].compact
  templates.each do |template|
    template.reset_sequences(*names)
  end
end
sequence(name, options = {}, &block) click to toggle source
# File lib/olfactory.rb, line 28
def self.sequence(name, options = {}, &block)
  sequences[name] = Olfactory::Sequence.new(name, options, block)
end
sequences() click to toggle source
# File lib/olfactory.rb, line 15
def self.sequences
  @@sequences
end
template(name, &block) click to toggle source

Definitions

# File lib/olfactory.rb, line 23
def self.template(name, &block)
  new_template_definition = Olfactory::TemplateDefinition.new
  block.call(new_template_definition)
  self.templates[name] = new_template_definition
end
templates() click to toggle source

Getters

# File lib/olfactory.rb, line 12
def self.templates
  @@templates
end