Class: Mailpeek::Web

Inherits:
Object
  • Object
show all
Defined in:
lib/mailpeek/web.rb

Overview

Public: Base Web Class

Constant Summary collapse

ROOT =
File.expand_path("#{File.dirname(__FILE__)}/../../web")
VIEWS =
"#{ROOT}/views"
LAYOUT =
"#{VIEWS}/layout.erb"
ASSETS =
"#{ROOT}/assets"

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.app_urlObject

Returns the value of attribute app_url.



53
54
55
# File 'lib/mailpeek/web.rb', line 53

def app_url
  @app_url
end

.viewsObject



37
38
39
# File 'lib/mailpeek/web.rb', line 37

def views
  @views ||= VIEWS
end

Class Method Details

.call(env) ⇒ Object



77
78
79
80
# File 'lib/mailpeek/web.rb', line 77

def self.call(env)
  @app ||= new
  @app.call(env)
end

.disable(*opts) ⇒ Object



45
46
47
# File 'lib/mailpeek/web.rb', line 45

def disable(*opts)
  opts.each { |key| set(key, false) }
end

.enable(*opts) ⇒ Object



41
42
43
# File 'lib/mailpeek/web.rb', line 41

def enable(*opts)
  opts.each { |key| set(key, true) }
end

.inherited(child) ⇒ Object



57
58
59
# File 'lib/mailpeek/web.rb', line 57

def self.inherited(child)
  child.app_url = app_url
end

.middlewaresObject



29
30
31
# File 'lib/mailpeek/web.rb', line 29

def middlewares
  @middlewares ||= []
end

.register(extension) ⇒ Object



98
99
100
# File 'lib/mailpeek/web.rb', line 98

def self.register(extension)
  extension.registered(WebApplication)
end

.set(attribute, value) ⇒ Object



49
50
51
# File 'lib/mailpeek/web.rb', line 49

def set(attribute, value)
  send(:"#{attribute}=", value)
end

.settingsObject



25
26
27
# File 'lib/mailpeek/web.rb', line 25

def settings
  self
end

.use(*middleware_args, &block) ⇒ Object



33
34
35
# File 'lib/mailpeek/web.rb', line 33

def use(*middleware_args, &block)
  middlewares << [middleware_args, block]
end

Instance Method Details

#appObject



82
83
84
# File 'lib/mailpeek/web.rb', line 82

def app
  @app ||= build
end

#call(env) ⇒ Object



73
74
75
# File 'lib/mailpeek/web.rb', line 73

def call(env)
  app.call(env)
end

#disable(*opts) ⇒ Object



90
91
92
# File 'lib/mailpeek/web.rb', line 90

def disable(*opts)
  opts.each { |key| set(key, false) }
end

#enable(*opts) ⇒ Object



86
87
88
# File 'lib/mailpeek/web.rb', line 86

def enable(*opts)
  opts.each { |key| set(key, true) }
end

#middlewaresObject



69
70
71
# File 'lib/mailpeek/web.rb', line 69

def middlewares
  @middlewares ||= Web.middlewares.dup
end

#set(attribute, value) ⇒ Object



94
95
96
# File 'lib/mailpeek/web.rb', line 94

def set(attribute, value)
  send(:"#{attribute}=", value)
end

#settingsObject



61
62
63
# File 'lib/mailpeek/web.rb', line 61

def settings
  self.class.settings
end

#use(*middleware_args, &block) ⇒ Object



65
66
67
# File 'lib/mailpeek/web.rb', line 65

def use(*middleware_args, &block)
  middlewares << [middleware_args, block]
end