Class: Newman::Controller

Inherits:
Object
  • Object
show all
Defined in:
lib/newman/controller.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Controller

Returns a new instance of Controller.



3
4
5
6
7
# File 'lib/newman/controller.rb', line 3

def initialize(params)
  self.settings = params.fetch(:settings)
  self.request  = params.fetch(:request)
  self.response = params.fetch(:response)
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



9
10
11
# File 'lib/newman/controller.rb', line 9

def params
  @params
end

Instance Method Details

#domainObject



24
25
26
# File 'lib/newman/controller.rb', line 24

def domain
  settings.service.domain 
end

#forward_message(params = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/newman/controller.rb', line 28

def forward_message(params={})
  response.from      = request.from
  response.reply_to  = settings.service.default_sender 
  response.subject   = request.subject

  params.each do |k,v|
    response.send("#{k}=", v)
  end

  if request.multipart?
    response.text_part = request.text_part
    response.html_part = request.html_part
  else
    response.body = request.body.to_s
  end
end

#respond(params) ⇒ Object



11
12
13
# File 'lib/newman/controller.rb', line 11

def respond(params)
  params.each { |k,v| response.send("#{k}=", v) }
end

#senderObject



20
21
22
# File 'lib/newman/controller.rb', line 20

def sender
  request.from.first.to_s
end

#template(name) ⇒ Object



15
16
17
18
# File 'lib/newman/controller.rb', line 15

def template(name)
  Tilt.new(Dir.glob("#{settings.service.templates_dir}/#{name}.*").first)
      .render(self)
end