mailgun_api 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- M2UzODNiMDQwNzdmMmU5MDU0ZDdjMTc0Nzg1NWVhY2M3NGY1ZGEzOA==
4
+ ZTZmNzJlMzYzMjU4Y2E1MGFiNjQwYTA5MzY1ZGZmNmE0MzIzN2E1Yg==
5
5
  data.tar.gz: !binary |-
6
- NTQ1MjMyZDMyZGQ1NWNkMDdhZGYwNDc4NDgxODU4MDEwOGJmYmUxMQ==
6
+ MzhjZWFjMTZjMTI2NmM4ZTQwMjE0YmYzOTc3MWQ3N2E0ZmQ1YjdjZg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- M2NiYzJkNDY4YTExOThkZTdkMjQzMzJkM2YyZTUxM2NhMDFiMjE5YmEzY2Zk
10
- NzAzOTRhMGFmZDNhOWI5NjczMWY2MzVjMzdhMzhhMjUyOWI4MDE5ZWNjYTAy
11
- YWZiMjhiMDBjYjRhM2EyOGIyMmJjZjlkNWYwZGE3ZGVlNzBhZjU=
9
+ OTA3YjUyNTlkN2FlZDNjYWYzMTRjNmE1NmMzNDE1ZTczMzZkNDFmZWNkYTQ0
10
+ MmI0NDg1ZjMxMzAyNTMxYzQzNGIxZmRhMDVmMjUyODAzM2M3MWFiMWIwM2Q4
11
+ Y2M0MmNlNDE5NzM3NmIxZGVkYTEwNDc0ZTQyZTM4NzE0NTBhYjg=
12
12
  data.tar.gz: !binary |-
13
- MmQzYTYzMWE1MGQyMzI0N2ZjNGQ1ZGU1NDEyYTQ2OWM3MjBjMzE1MmJjYWE3
14
- ZTdiMDU0NWMyZDliNWQ4OTJmMTNjYzE1M2I4YTZlYTc3NTJiNzljNjQwNTQ1
15
- NWVjYWIzM2RhY2I4Zjg5OWNlOWIzYTZiY2U1MTJmMzE5NjYzYjA=
13
+ ZWIzMGM5YzlmMDRjZDk3OGUxNjQxYzNjZDU0ZjMzMDA4Y2M0MzAzYzFjN2U3
14
+ MjVlNmU2YjkxZTJiMWEwYTFiMzc0Y2VjYWYxZGFiNjdmYzUxYjZkZTJhMjYy
15
+ ZDkzY2ZhNmNkNWUyNTFlODA3OTVjY2FkMDI2ZGNkMWYzNzA5Nzc=
@@ -0,0 +1,4 @@
1
+ module Gun
2
+ class Error < StandardError
3
+ end
4
+ end
data/lib/mailgun/list.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'pry'
2
- # require 'active_support/hash_with_indifferent_access'
3
2
 
4
3
  module Gun
5
4
 
@@ -1,10 +1,6 @@
1
1
 
2
2
  module Gun
3
3
 
4
- # Mailing List functionality
5
- # Refer http://documentation.mailgun.net/api-mailinglists.html for optional parameters
6
-
7
-
8
4
  class Message
9
5
  attr_accessor :parameters
10
6
 
data/lib/mailgun_api.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "rest-client"
2
2
  require "json"
3
3
  require "mailgun/list"
4
+ require "mailgun/error"
4
5
  require "mailgun/message"
5
6
 
6
7
  class Mailgun
@@ -43,14 +44,45 @@ class Mailgun
43
44
 
44
45
 
45
46
  def self.fire(method, url, parameters={})
47
+ begin
48
+ parameters = {:params => parameters} if method == :get
49
+ return JSON(RestClient.send(method, url, parameters))
50
+ rescue => e
51
+ error_message = nil
52
+ if e.respond_to? :http_body
53
+ begin
54
+ error_message = JSON(e.http_body)["message"]
55
+ rescue
56
+ raise e
57
+ end
58
+ raise Gun::Error.new(error_message)
59
+ end
60
+ raise e
61
+ end
62
+ end
63
+
64
+
46
65
 
47
- parameters = {:params => parameters} if method == :get
48
66
 
49
- # puts method
50
- # puts url
51
- # puts parameters
52
67
 
53
- return JSON(RestClient.send(method, url, parameters))
68
+
69
+ def self.submit(method, url, parameters={})
70
+ begin
71
+ parameters = {:params => parameters} if method == :get
72
+ return JSON(RestClient.send(method, url, parameters))
73
+ rescue => e
74
+ error_message = nil
75
+ if e.respond_to? :http_body
76
+ begin
77
+ error_message = JSON(e.http_body)["message"]
78
+ rescue
79
+ raise e
80
+ end
81
+ raise Mailgun::Error.new(error_message)
82
+ end
83
+ raise e
84
+ end
54
85
  end
55
86
 
87
+
56
88
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailgun_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Irey
@@ -47,6 +47,7 @@ files:
47
47
  - lib/mailgun_api.rb
48
48
  - lib/mailgun/list.rb
49
49
  - lib/mailgun/message.rb
50
+ - lib/mailgun/error.rb
50
51
  homepage: http://rubygems.org/gems/mailgun_api
51
52
  licenses:
52
53
  - MIT