class Msgr::Routes
Attributes
routes[R]
Public Class Methods
new()
click to toggle source
# File lib/msgr/routes.rb, line 11 def initialize @routes = [] end
Public Instance Methods
<<(file)
click to toggle source
# File lib/msgr/routes.rb, line 32 def <<(file) files << file end
blocks()
click to toggle source
# File lib/msgr/routes.rb, line 24 def blocks @blocks ||= [] end
configure(&block)
click to toggle source
# File lib/msgr/routes.rb, line 15 def configure(&block) blocks << block instance_eval(&block) end
files()
click to toggle source
# File lib/msgr/routes.rb, line 20 def files @files ||= [] end
files=(files)
click to toggle source
# File lib/msgr/routes.rb, line 28 def files=(files) @files = Array files end
load(file)
click to toggle source
# File lib/msgr/routes.rb, line 49 def load(file) unless File.exist?(file) raise ArgumentError.new "File `#{file}` does not exists." end instance_eval File.read file end
reload()
click to toggle source
# File lib/msgr/routes.rb, line 36 def reload routes.clear blocks.each {|block| instance_eval(&block) } files.uniq! files.each do |file| if File.exist? file load file else log(:warn) { "Routes file `#{file}` does not exists (anymore)." } end end end
route(key, opts = {})
click to toggle source
# File lib/msgr/routes.rb, line 57 def route(key, opts = {}) if (route = routes.find {|r| r.accept?(key, opts) }) route.add key else routes << Msgr::Route.new(key, opts) end end