class Cubic::Static
Replaces the Rack::Static module as was unreliable for this application.
Public Class Methods
new(app, options = {})
click to toggle source
# File lib/cubic/middleware/static.rb, line 17 def initialize(app, options = {}) @app = app @url = options[:url] root = options[:root] || Dir.pwd @file = Rack::File.new(root) end
Public Instance Methods
call(env)
click to toggle source
# File lib/cubic/middleware/static.rb, line 9 def call(env) if valid_route(env['PATH_INFO']) @file.call(env) else @app.call(env) end end
valid_route(path)
click to toggle source
# File lib/cubic/middleware/static.rb, line 25 def valid_route(path) if @url.is_a? Array ar = @url.map { |u| path.include?(u) ? true : false } ar.include? true else path.include?(@url) ? true : false end end