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