mailgun 0.7 → 0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,67 @@
1
+ require 'multiset'
2
+ require 'multimap'
3
+ require 'nested_multimap'
4
+
5
+ require 'enumerable_examples'
6
+ require 'hash_examples'
7
+ require 'set_examples'
8
+
9
+ # Rubinius Hash isn't ordered by insert order
10
+ Spec::Matchers.define :sorted_eql do |expected|
11
+ if defined? Rubinius
12
+ sorter = lambda { |a, b| a.hash <=> b.hash }
13
+ match do |actual|
14
+ actual.sort(&sorter).should eql(expected.sort(&sorter))
15
+ end
16
+ else
17
+ match do |actual|
18
+ actual.should eql(expected)
19
+ end
20
+ end
21
+ end
22
+
23
+ require 'set'
24
+
25
+ if defined? Rubinius
26
+ class Set
27
+ def <=>(other)
28
+ to_a <=> other.to_a
29
+ end
30
+ end
31
+ end
32
+
33
+ require 'forwardable'
34
+
35
+ class MiniArray
36
+ extend Forwardable
37
+
38
+ attr_accessor :data
39
+
40
+ def initialize(data = [])
41
+ @data = data
42
+ end
43
+
44
+ def initialize_copy(orig)
45
+ @data = orig.data.dup
46
+ end
47
+
48
+ def_delegators :@data, :<<, :each, :delete, :delete_if
49
+
50
+ def ==(other)
51
+ other.is_a?(self.class) && @data == other.data
52
+ end
53
+
54
+ def eql?(other)
55
+ other.is_a?(self.class) && @data.eql?(other.data)
56
+ end
57
+
58
+ if defined? Rubinius
59
+ def hash
60
+ @data.hash
61
+ end
62
+
63
+ def <=>(other)
64
+ @data <=> other.data
65
+ end
66
+ end
67
+ end
@@ -5,18 +5,18 @@ Gem::Specification.new do |gem|
5
5
  gem.email = ["akash@akash.im"]
6
6
  gem.description = %q{Mailgun library for Ruby}
7
7
  gem.summary = %q{Idiomatic library for using the mailgun API from within ruby}
8
- gem.homepage = "http://github.com/Bushido/mailgun"
8
+ gem.homepage = "http://github.com/HashNuke/mailgun"
9
9
 
10
10
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
11
11
  gem.files = `git ls-files`.split("\n")
12
12
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
13
13
  gem.name = "mailgun"
14
14
  gem.require_paths = ["lib"]
15
- gem.version = "0.7"
15
+ gem.version = "0.8"
16
16
 
17
- gem.add_dependency(%q<rest-client>, [">= 0"])
18
- gem.add_dependency(%q<multimap>, [">= 0"])
17
+ gem.add_dependency(%q<rest-client>, [">= 0"])
19
18
 
20
19
  gem.add_development_dependency(%q<rspec>, [">= 2"])
21
20
  gem.add_development_dependency(%q<debugger>, [">= 0"])
21
+ gem.add_development_dependency(%q<vcr>, [">= 0"])
22
22
  end
@@ -12,13 +12,13 @@ describe Mailgun::Base do
12
12
  Mailgun.config { |c| c.api_key = "some-junk-string" }
13
13
  expect do
14
14
  Mailgun()
15
- end.to_not raise_error ArgumentError
15
+ end.not_to raise_error()
16
16
  end
17
17
 
18
18
  it "can be instanced with the api_key as a param" do
19
19
  expect do
20
20
  Mailgun({:api_key => "some-junk-string"})
21
- end.to_not raise_error ArgumentError
21
+ end.not_to raise_error()
22
22
  end
23
23
 
24
24
  describe "Mailgun.new" do
@@ -51,4 +51,16 @@ describe Mailgun::Bounce do
51
51
  end
52
52
  end
53
53
 
54
+ describe "destroy bounces" do
55
+ it "should make DELETE request with correct params to remove a given email address" do
56
+ sample_response = "{\"message\"=>\"Bounced address has been removed\", \"address\"=>\"postmaster@bsample.mailgun.org\"}"
57
+ bounces_url = @mailgun.bounces(@sample[:domain]).send(:bounce_url, @sample[:email])
58
+
59
+ Mailgun.should_receive(:submit).
60
+ with(:delete, bounces_url).
61
+ and_return(sample_response)
62
+
63
+ @mailgun.bounces(@sample[:domain]).destroy(@sample[:email])
64
+ end
65
+ end
54
66
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailgun
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.7'
4
+ version: '0.8'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akash Manohar J
@@ -9,62 +9,62 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-15 00:00:00.000000000 Z
12
+ date: 2014-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
- name: multimap
29
+ name: rspec
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
35
- type: :runtime
34
+ version: '2'
35
+ type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '0'
41
+ version: '2'
42
42
  - !ruby/object:Gem::Dependency
43
- name: rspec
43
+ name: debugger
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '2'
48
+ version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '2'
55
+ version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
- name: debugger
57
+ name: vcr
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  description: Mailgun library for Ruby
@@ -74,7 +74,8 @@ executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
- - .gitignore
77
+ - ".gitignore"
78
+ - CONTRIBUTORS.md
78
79
  - Gemfile
79
80
  - LICENSE
80
81
  - README.md
@@ -92,6 +93,25 @@ files:
92
93
  - lib/mailgun/message.rb
93
94
  - lib/mailgun/route.rb
94
95
  - lib/mailgun/unsubscribe.rb
96
+ - lib/multimap/.gitignore
97
+ - lib/multimap/LICENSE
98
+ - lib/multimap/README.rdoc
99
+ - lib/multimap/Rakefile
100
+ - lib/multimap/benchmarks/bm_nested_multimap_construction.rb
101
+ - lib/multimap/benchmarks/bm_nested_multimap_lookup.rb
102
+ - lib/multimap/ext/extconf.rb
103
+ - lib/multimap/ext/nested_multimap_ext.c
104
+ - lib/multimap/extras/graphing.rb
105
+ - lib/multimap/lib/multimap.rb
106
+ - lib/multimap/lib/multiset.rb
107
+ - lib/multimap/lib/nested_multimap.rb
108
+ - lib/multimap/spec/enumerable_examples.rb
109
+ - lib/multimap/spec/hash_examples.rb
110
+ - lib/multimap/spec/multimap_spec.rb
111
+ - lib/multimap/spec/multiset_spec.rb
112
+ - lib/multimap/spec/nested_multimap_spec.rb
113
+ - lib/multimap/spec/set_examples.rb
114
+ - lib/multimap/spec/spec_helper.rb
95
115
  - mailgun.gemspec
96
116
  - spec/base_spec.rb
97
117
  - spec/bounce_spec.rb
@@ -105,7 +125,7 @@ files:
105
125
  - spec/route_spec.rb
106
126
  - spec/spec_helper.rb
107
127
  - spec/unsubscribe_spec.rb
108
- homepage: http://github.com/Bushido/mailgun
128
+ homepage: http://github.com/HashNuke/mailgun
109
129
  licenses: []
110
130
  metadata: {}
111
131
  post_install_message:
@@ -114,17 +134,17 @@ require_paths:
114
134
  - lib
115
135
  required_ruby_version: !ruby/object:Gem::Requirement
116
136
  requirements:
117
- - - '>='
137
+ - - ">="
118
138
  - !ruby/object:Gem::Version
119
139
  version: '0'
120
140
  required_rubygems_version: !ruby/object:Gem::Requirement
121
141
  requirements:
122
- - - '>='
142
+ - - ">="
123
143
  - !ruby/object:Gem::Version
124
144
  version: '0'
125
145
  requirements: []
126
146
  rubyforge_project:
127
- rubygems_version: 2.0.0
147
+ rubygems_version: 2.2.0
128
148
  signing_key:
129
149
  specification_version: 4
130
150
  summary: Idiomatic library for using the mailgun API from within ruby