module Bait
Constants
- VERSION
Public Class Methods
add_subscriber(stream)
click to toggle source
# File lib/bait/pubsub.rb, line 6 def add_subscriber stream @@Subscribers << stream end
broadcast(*args)
click to toggle source
# File lib/bait/pubsub.rb, line 12 def broadcast *args @@Subscribers.each do |out| out << "data: #{args.to_json}\n\n" end end
console()
click to toggle source
# File lib/bait.rb, line 52 def console STDOUT end
db_dir()
click to toggle source
# File lib/bait.rb, line 22 def db_dir db_dir = File.join storage_dir, "databases" FileUtils.mkdir_p db_dir db_dir end
db_file(name)
click to toggle source
# File lib/bait.rb, line 28 def db_file name yaml_file = File.join db_dir, "#{name}.yaml" FileUtils.touch yaml_file yaml_file end
env()
click to toggle source
# File lib/bait.rb, line 40 def env ENV['RACK_ENV'] ||= 'production' end
home()
click to toggle source
# File lib/bait.rb, line 44 def home File.join Etc.getpwuid.dir, '.bait' end
public()
click to toggle source
# File lib/bait.rb, line 48 def public Pathname.new(File.join(File.dirname(__FILE__), 'bait', 'public')) end
remove_subscriber(stream)
click to toggle source
# File lib/bait/pubsub.rb, line 9 def remove_subscriber stream @@Subscribers.delete stream end
storage_dir()
click to toggle source
# File lib/bait.rb, line 16 def storage_dir path = File.join("#{home}", "#{env}") FileUtils.mkdir_p path path end
store()
click to toggle source
# File lib/bait.rb, line 34 def store @store ||= begin Moneta.new :YAML, :file => db_file("main") end end