Module: Ouija

Defined in:
lib/ouija.rb,
lib/ouija/ouija.rb,
lib/ouija/version.rb,
lib/ouija/planchette.rb,
lib/ouija/medium/yaml.rb

Defined Under Namespace

Modules: Medium Classes: Error, Planchette

Constant Summary collapse

LIBRARY_PATH =
File.join(File.dirname(__FILE__), 'ouija')
MEDIUM_PATH =
File.join(LIBRARY_PATH, 'medium')
VERSION =
'0.1.1'

Class Method Summary collapse

Class Method Details

.session(topic, context = {}) ⇒ Object Also known as: séance



16
17
18
19
20
21
22
# File 'lib/ouija/ouija.rb', line 16

def session(topic, context={})
  topic = topic.to_s
  unless topics.include?(topic)
    raise Error.new "Unknown topic \"#{topic}\""
  end
  Planchette.new(scope_topic(topic, context))
end

.setup(options = {}) ⇒ Object



5
6
7
8
9
10
# File 'lib/ouija/ouija.rb', line 5

def setup(options={})
  @options = options
  # ToDo: For other mediums, include options logic here (defaulting to YAML)
  @channel = stringify_keys_recursive(Medium::Yaml.new.channel(options))
  true
end

.topicsObject



12
13
14
# File 'lib/ouija/ouija.rb', line 12

def topics
  @channel.keys
end