class Mailpeek::Web
Public: Base Web
Class
Constants
- ASSETS
- LAYOUT
- ROOT
- VIEWS
Attributes
app_url[RW]
views[W]
Public Class Methods
call(env)
click to toggle source
# File lib/mailpeek/web.rb, line 77 def self.call(env) @app ||= new @app.call(env) end
disable(*opts)
click to toggle source
# File lib/mailpeek/web.rb, line 45 def disable(*opts) opts.each { |key| set(key, false) } end
enable(*opts)
click to toggle source
# File lib/mailpeek/web.rb, line 41 def enable(*opts) opts.each { |key| set(key, true) } end
inherited(child)
click to toggle source
# File lib/mailpeek/web.rb, line 57 def self.inherited(child) child.app_url = app_url end
middlewares()
click to toggle source
# File lib/mailpeek/web.rb, line 29 def middlewares @middlewares ||= [] end
register(extension)
click to toggle source
# File lib/mailpeek/web.rb, line 98 def self.register(extension) extension.registered(WebApplication) end
set(attribute, value)
click to toggle source
# File lib/mailpeek/web.rb, line 49 def set(attribute, value) send(:"#{attribute}=", value) end
settings()
click to toggle source
# File lib/mailpeek/web.rb, line 25 def settings self end
use(*middleware_args, &block)
click to toggle source
# File lib/mailpeek/web.rb, line 33 def use(*middleware_args, &block) middlewares << [middleware_args, block] end
views()
click to toggle source
# File lib/mailpeek/web.rb, line 37 def views @views ||= VIEWS end
Public Instance Methods
app()
click to toggle source
# File lib/mailpeek/web.rb, line 82 def app @app ||= build end
call(env)
click to toggle source
# File lib/mailpeek/web.rb, line 73 def call(env) app.call(env) end
disable(*opts)
click to toggle source
# File lib/mailpeek/web.rb, line 90 def disable(*opts) opts.each { |key| set(key, false) } end
enable(*opts)
click to toggle source
# File lib/mailpeek/web.rb, line 86 def enable(*opts) opts.each { |key| set(key, true) } end
middlewares()
click to toggle source
# File lib/mailpeek/web.rb, line 69 def middlewares @middlewares ||= Web.middlewares.dup end
set(attribute, value)
click to toggle source
# File lib/mailpeek/web.rb, line 94 def set(attribute, value) send(:"#{attribute}=", value) end
settings()
click to toggle source
# File lib/mailpeek/web.rb, line 61 def settings self.class.settings end
use(*middleware_args, &block)
click to toggle source
# File lib/mailpeek/web.rb, line 65 def use(*middleware_args, &block) middlewares << [middleware_args, block] end
Private Instance Methods
build()
click to toggle source
# File lib/mailpeek/web.rb, line 110 def build middlewares = self.middlewares klass = self.class ::Rack::Builder.new do %w[stylesheets javascripts images].each do |asset_dir| map "/#{asset_dir}" do run ::Rack::File.new( "#{ASSETS}/#{asset_dir}", 'Cache-Control' => 'public, max-age=86400' ) end end middlewares.each { |middleware, block| use(*middleware, &block) } run WebApplication.new(klass) end end
using?(middleware)
click to toggle source
# File lib/mailpeek/web.rb, line 104 def using?(middleware) middlewares.any? do |(m, _)| m.is_a?(Array) && (m[0] == middleware || m[0].is_a?(middleware)) end end