Class: Mailgun::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/mailgun/base.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Base

Options taken from documentation.mailgun.net/quickstart.html#authentication



9
10
11
12
13
14
15
# File 'lib/mailgun/base.rb', line 9

def initialize(options)
  Mailgun.mailgun_host    = options.fetch(:mailgun_host)    {"api.mailgun.net"}
  Mailgun.protocol        = options.fetch(:protocol)        { "https"  }
  Mailgun.api_version     = options.fetch(:api_version)     { "v2"  }
  Mailgun.test_mode       = options.fetch(:test_mode)       { false }
  Mailgun.api_key         = options.fetch(:api_key)         { raise ArgumentError.new(":api_key is a required argument to initialize Mailgun") if Mailgun.api_key.nil?}
end

Instance Method Details

#base_urlObject

Returns the base url used in all Mailgun API calls



18
19
20
# File 'lib/mailgun/base.rb', line 18

def base_url
  "#{Mailgun.protocol}://api:#{Mailgun.api_key}@#{Mailgun.mailgun_host}/#{Mailgun.api_version}"
end

#bouncesObject



31
32
33
# File 'lib/mailgun/base.rb', line 31

def bounces
  @bounces ||= Mailgun::Bounce.new(self)
end

#complaintsObject



39
40
41
# File 'lib/mailgun/base.rb', line 39

def complaints
  @complaints ||= Mailgun::Complaint.new(self)
end

#list_membersObject



51
52
53
# File 'lib/mailgun/base.rb', line 51

def list_members
  @list_members ||= Mailgun::List::Member.new(self)
end

#listsObject



47
48
49
# File 'lib/mailgun/base.rb', line 47

def lists
  @lists ||= Mailgun::List.new(self)
end

#logObject



43
44
45
# File 'lib/mailgun/base.rb', line 43

def log
  @log ||= Mailgun::Log.new(self)
end

#mailboxesObject

Returns an instance of Mailgun::Mailbox configured for the current API user



23
24
25
# File 'lib/mailgun/base.rb', line 23

def mailboxes
  @mailboxes ||= Mailgun::Mailbox.new(self)
end

#routesObject



27
28
29
# File 'lib/mailgun/base.rb', line 27

def routes
  @routes ||= Mailgun::Route.new(self)
end

#unsubscribesObject



35
36
37
# File 'lib/mailgun/base.rb', line 35

def unsubscribes
  @unsubscribes ||= Mailgun::Unsubscribe.new(self)
end