Class: LetterSaver::DeliveryMethod

Inherits:
Object
  • Object
show all
Defined in:
lib/letter_saver/delivery_method.rb

Constant Summary collapse

UNAUTHORIZED_CODE =
401

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ DeliveryMethod

Returns a new instance of DeliveryMethod.



9
10
11
# File 'lib/letter_saver/delivery_method.rb', line 9

def initialize(values)
  self.settings = {}.merge!(values)
end

Instance Attribute Details

#settingsObject

Returns the value of attribute settings.



7
8
9
# File 'lib/letter_saver/delivery_method.rb', line 7

def settings
  @settings
end

Instance Method Details

#deliver!(mail) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/letter_saver/delivery_method.rb', line 13

def deliver!(mail)
  uri = URI("http://#{LetterSaver.config.host}/api/v1/emails")
  response = Net::HTTP.post_form(uri, email: mail, api_token: LetterSaver.config.api_token)

  if response.code == UNAUTHORIZED_CODE
    raise ArgumentError, 'Unauthorized - invalid API key provided.'
  end
end