maskedmail 0.0.1 → 0.1.0

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.
data/Gemfile CHANGED
@@ -5,9 +5,12 @@ source "http://rubygems.org"
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
- group :development do
9
- gem "rspec", "~> 2.0.0"
8
+ gem 'rest-client'
9
+ gem 'json'
10
+
11
+ group :development, :test do
10
12
  gem "bundler", "~> 1.0.0"
11
13
  gem "jeweler", "~> 1.5.0.pre5"
12
14
  gem "rcov", ">= 0"
15
+ gem "rspec", "~> 2.0.0"
13
16
  end
data/Gemfile.lock CHANGED
@@ -7,8 +7,12 @@ GEM
7
7
  bundler (~> 1.0.0)
8
8
  git (>= 1.2.5)
9
9
  rake
10
+ json (1.4.6)
11
+ mime-types (1.16)
10
12
  rake (0.8.7)
11
13
  rcov (0.9.9)
14
+ rest-client (1.6.1)
15
+ mime-types (>= 1.16)
12
16
  rspec (2.0.0)
13
17
  rspec-core (= 2.0.0)
14
18
  rspec-expectations (= 2.0.0)
@@ -26,5 +30,7 @@ PLATFORMS
26
30
  DEPENDENCIES
27
31
  bundler (~> 1.0.0)
28
32
  jeweler (~> 1.5.0.pre5)
33
+ json
29
34
  rcov
35
+ rest-client
30
36
  rspec (~> 2.0.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.1.0
data/lib/maskedmail.rb CHANGED
@@ -4,51 +4,44 @@ require 'json'
4
4
 
5
5
  module Maskedmail
6
6
 
7
- def self.configure
8
- if ENV['MASKEDMAIL_URL']
9
- @resource = RestClient::Resource.new(ENV['MASKEDMAIL_URL'])
10
- else
11
- @development = true
12
- end
7
+ def self.production_url
8
+ ENV['MASKEDMAIL_URL']
9
+ end
10
+
11
+ def self.dummy_mask
12
+ {:id => 1, :destination => 'dummy@maskedmail.net',
13
+ :mask => 'user-1234@maskedmail.net'}
14
+ end
15
+
16
+ def self.request(method, arg_opts = {})
17
+ options = {:dummy_mask => dummy_mask, :suburl => ''}
18
+ options.merge!(arg_opts)
19
+
20
+ return options[:dummy_mask] unless production_url
21
+
22
+ response = RestClient.send(method, "#{production_url}/#{options[:suburl]}",
23
+ :email_address => options[:email_address])
24
+ JSON.parse(response)
13
25
  end
14
26
 
15
27
  def self.all
16
- return [dummy_mask] if @development
17
-
18
- request = @resource.get
19
- JSON.parse(request)
28
+ request(:get, {:dummy_mask => [dummy_mask]})
20
29
  end
21
30
 
22
31
  def self.create(email_address)
23
- return dummy_mask if @development
24
-
25
- request = @resource.post(:email_address => email_address)
26
- JSON.parse(request)
32
+ request(:post, {:email_address => email_address})
27
33
  end
28
34
 
29
35
  def self.get(id)
30
- return dummy_mask if @development
31
-
32
- request = @resource[id].get
33
- JSON.parse(request)
36
+ request(:get, {:suburl => id})
34
37
  end
35
38
 
36
39
  def self.update(id, email_address)
37
- return dummy_mask if @development
38
-
39
- request = @resource[id].put(:email_address => email_address)
40
- JSON.parse(request)
40
+ request(:put, {:email_address => email_address, :suburl => id})
41
41
  end
42
42
 
43
43
  def self.delete(id)
44
- return dummy_mask if @development
45
-
46
- request = @resource[id].delete
47
- JSON.parse(request)
44
+ request(:delete, {:suburl => id})
48
45
  end
49
46
 
50
- def dummy_mask
51
- {:id => 1, :destination => 'dummy@maskedmail.net',
52
- :mask => 'user-1234@maskedmail.net'}
53
- end
54
47
  end
data/maskedmail.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{maskedmail}
8
- s.version = "0.0.1"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bobby Wilson"]
12
- s.date = %q{2010-10-13}
12
+ s.date = %q{2010-10-16}
13
13
  s.description = %q{create anonymous email aliases through maskedmail.net web service, this library makes it dead simple}
14
14
  s.email = %q{support@maskedmail.net}
15
15
  s.extra_rdoc_files = [
@@ -44,10 +44,12 @@ Gem::Specification.new do |s|
44
44
  s.specification_version = 3
45
45
 
46
46
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
- s.add_development_dependency(%q<rspec>, ["~> 2.0.0"])
47
+ s.add_runtime_dependency(%q<rest-client>, [">= 0"])
48
+ s.add_runtime_dependency(%q<json>, [">= 0"])
48
49
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
49
50
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.0.pre5"])
50
51
  s.add_development_dependency(%q<rcov>, [">= 0"])
52
+ s.add_development_dependency(%q<rspec>, ["~> 2.0.0"])
51
53
  s.add_runtime_dependency(%q<rest-client>, ["~> 1.6.1"])
52
54
  s.add_runtime_dependency(%q<json>, ["~> 1.4.6"])
53
55
  s.add_development_dependency(%q<rspec>, ["~> 2.0.0"])
@@ -55,10 +57,12 @@ Gem::Specification.new do |s|
55
57
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.0.pre5"])
56
58
  s.add_development_dependency(%q<rcov>, [">= 0"])
57
59
  else
58
- s.add_dependency(%q<rspec>, ["~> 2.0.0"])
60
+ s.add_dependency(%q<rest-client>, [">= 0"])
61
+ s.add_dependency(%q<json>, [">= 0"])
59
62
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
60
63
  s.add_dependency(%q<jeweler>, ["~> 1.5.0.pre5"])
61
64
  s.add_dependency(%q<rcov>, [">= 0"])
65
+ s.add_dependency(%q<rspec>, ["~> 2.0.0"])
62
66
  s.add_dependency(%q<rest-client>, ["~> 1.6.1"])
63
67
  s.add_dependency(%q<json>, ["~> 1.4.6"])
64
68
  s.add_dependency(%q<rspec>, ["~> 2.0.0"])
@@ -67,10 +71,12 @@ Gem::Specification.new do |s|
67
71
  s.add_dependency(%q<rcov>, [">= 0"])
68
72
  end
69
73
  else
70
- s.add_dependency(%q<rspec>, ["~> 2.0.0"])
74
+ s.add_dependency(%q<rest-client>, [">= 0"])
75
+ s.add_dependency(%q<json>, [">= 0"])
71
76
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
72
77
  s.add_dependency(%q<jeweler>, ["~> 1.5.0.pre5"])
73
78
  s.add_dependency(%q<rcov>, [">= 0"])
79
+ s.add_dependency(%q<rspec>, ["~> 2.0.0"])
74
80
  s.add_dependency(%q<rest-client>, ["~> 1.6.1"])
75
81
  s.add_dependency(%q<json>, ["~> 1.4.6"])
76
82
  s.add_dependency(%q<rspec>, ["~> 2.0.0"])
@@ -1,7 +1,31 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe "Maskedmail" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
4
+ include Maskedmail
5
+
6
+ it "fetches all masks" do
7
+ Maskedmail.all.should == [{:id => 1, :destination => 'dummy@maskedmail.net',
8
+ :mask => 'user-1234@maskedmail.net'}]
6
9
  end
10
+
11
+ it "creates a mask" do
12
+ Maskedmail.create('dummy@maskedmail.net').should == {:id => 1,
13
+ :destination => 'dummy@maskedmail.net', :mask => 'user-1234@maskedmail.net'}
14
+ end
15
+
16
+ it "gets a mask" do
17
+ Maskedmail.get(1).should == {:id => 1,
18
+ :destination => 'dummy@maskedmail.net', :mask => 'user-1234@maskedmail.net'}
19
+ end
20
+
21
+ it "updates a mask" do
22
+ Maskedmail.update(1, 'dummy@maskedmail.net').should == {:id => 1,
23
+ :destination => 'dummy@maskedmail.net', :mask => 'user-1234@maskedmail.net'}
24
+ end
25
+
26
+ it "deletes a mask" do
27
+ Maskedmail.delete(1).should == {:id => 1,
28
+ :destination => 'dummy@maskedmail.net', :mask => 'user-1234@maskedmail.net'}
29
+ end
30
+
7
31
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maskedmail
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
- - 0
9
7
  - 1
10
- version: 0.0.1
8
+ - 0
9
+ version: 0.1.0
11
10
  platform: ruby
12
11
  authors:
13
12
  - Bobby Wilson
@@ -15,167 +14,183 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-10-13 00:00:00 -06:00
17
+ date: 2010-10-16 00:00:00 -06:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- type: :development
24
- name: rspec
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
21
+ name: rest-client
22
+ requirement: &id001 !ruby/object:Gem::Requirement
26
23
  none: false
27
24
  requirements:
28
- - - ~>
25
+ - - ">="
29
26
  - !ruby/object:Gem::Version
30
- hash: 15
31
27
  segments:
32
- - 2
33
28
  - 0
34
- - 0
35
- version: 2.0.0
36
- requirement: *id001
29
+ version: "0"
30
+ type: :runtime
31
+ prerelease: false
32
+ version_requirements: *id001
37
33
  - !ruby/object:Gem::Dependency
34
+ name: json
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ segments:
41
+ - 0
42
+ version: "0"
43
+ type: :runtime
38
44
  prerelease: false
39
- type: :development
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
40
47
  name: bundler
41
- version_requirements: &id002 !ruby/object:Gem::Requirement
48
+ requirement: &id003 !ruby/object:Gem::Requirement
42
49
  none: false
43
50
  requirements:
44
51
  - - ~>
45
52
  - !ruby/object:Gem::Version
46
- hash: 23
47
53
  segments:
48
54
  - 1
49
55
  - 0
50
56
  - 0
51
57
  version: 1.0.0
52
- requirement: *id002
53
- - !ruby/object:Gem::Dependency
54
- prerelease: false
55
58
  type: :development
59
+ prerelease: false
60
+ version_requirements: *id003
61
+ - !ruby/object:Gem::Dependency
56
62
  name: jeweler
57
- version_requirements: &id003 !ruby/object:Gem::Requirement
63
+ requirement: &id004 !ruby/object:Gem::Requirement
58
64
  none: false
59
65
  requirements:
60
66
  - - ~>
61
67
  - !ruby/object:Gem::Version
62
- hash: -1876988220
63
68
  segments:
64
69
  - 1
65
70
  - 5
66
71
  - 0
67
72
  - pre5
68
73
  version: 1.5.0.pre5
69
- requirement: *id003
70
- - !ruby/object:Gem::Dependency
71
- prerelease: false
72
74
  type: :development
75
+ prerelease: false
76
+ version_requirements: *id004
77
+ - !ruby/object:Gem::Dependency
73
78
  name: rcov
74
- version_requirements: &id004 !ruby/object:Gem::Requirement
79
+ requirement: &id005 !ruby/object:Gem::Requirement
75
80
  none: false
76
81
  requirements:
77
82
  - - ">="
78
83
  - !ruby/object:Gem::Version
79
- hash: 3
80
84
  segments:
81
85
  - 0
82
86
  version: "0"
83
- requirement: *id004
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: *id005
84
90
  - !ruby/object:Gem::Dependency
91
+ name: rspec
92
+ requirement: &id006 !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ~>
96
+ - !ruby/object:Gem::Version
97
+ segments:
98
+ - 2
99
+ - 0
100
+ - 0
101
+ version: 2.0.0
102
+ type: :development
85
103
  prerelease: false
86
- type: :runtime
104
+ version_requirements: *id006
105
+ - !ruby/object:Gem::Dependency
87
106
  name: rest-client
88
- version_requirements: &id005 !ruby/object:Gem::Requirement
107
+ requirement: &id007 !ruby/object:Gem::Requirement
89
108
  none: false
90
109
  requirements:
91
110
  - - ~>
92
111
  - !ruby/object:Gem::Version
93
- hash: 13
94
112
  segments:
95
113
  - 1
96
114
  - 6
97
115
  - 1
98
116
  version: 1.6.1
99
- requirement: *id005
100
- - !ruby/object:Gem::Dependency
101
- prerelease: false
102
117
  type: :runtime
118
+ prerelease: false
119
+ version_requirements: *id007
120
+ - !ruby/object:Gem::Dependency
103
121
  name: json
104
- version_requirements: &id006 !ruby/object:Gem::Requirement
122
+ requirement: &id008 !ruby/object:Gem::Requirement
105
123
  none: false
106
124
  requirements:
107
125
  - - ~>
108
126
  - !ruby/object:Gem::Version
109
- hash: 11
110
127
  segments:
111
128
  - 1
112
129
  - 4
113
130
  - 6
114
131
  version: 1.4.6
115
- requirement: *id006
116
- - !ruby/object:Gem::Dependency
132
+ type: :runtime
117
133
  prerelease: false
118
- type: :development
134
+ version_requirements: *id008
135
+ - !ruby/object:Gem::Dependency
119
136
  name: rspec
120
- version_requirements: &id007 !ruby/object:Gem::Requirement
137
+ requirement: &id009 !ruby/object:Gem::Requirement
121
138
  none: false
122
139
  requirements:
123
140
  - - ~>
124
141
  - !ruby/object:Gem::Version
125
- hash: 15
126
142
  segments:
127
143
  - 2
128
144
  - 0
129
145
  - 0
130
146
  version: 2.0.0
131
- requirement: *id007
132
- - !ruby/object:Gem::Dependency
133
- prerelease: false
134
147
  type: :development
148
+ prerelease: false
149
+ version_requirements: *id009
150
+ - !ruby/object:Gem::Dependency
135
151
  name: bundler
136
- version_requirements: &id008 !ruby/object:Gem::Requirement
152
+ requirement: &id010 !ruby/object:Gem::Requirement
137
153
  none: false
138
154
  requirements:
139
155
  - - ~>
140
156
  - !ruby/object:Gem::Version
141
- hash: 23
142
157
  segments:
143
158
  - 1
144
159
  - 0
145
160
  - 0
146
161
  version: 1.0.0
147
- requirement: *id008
148
- - !ruby/object:Gem::Dependency
149
- prerelease: false
150
162
  type: :development
163
+ prerelease: false
164
+ version_requirements: *id010
165
+ - !ruby/object:Gem::Dependency
151
166
  name: jeweler
152
- version_requirements: &id009 !ruby/object:Gem::Requirement
167
+ requirement: &id011 !ruby/object:Gem::Requirement
153
168
  none: false
154
169
  requirements:
155
170
  - - ~>
156
171
  - !ruby/object:Gem::Version
157
- hash: -1876988220
158
172
  segments:
159
173
  - 1
160
174
  - 5
161
175
  - 0
162
176
  - pre5
163
177
  version: 1.5.0.pre5
164
- requirement: *id009
165
- - !ruby/object:Gem::Dependency
166
- prerelease: false
167
178
  type: :development
179
+ prerelease: false
180
+ version_requirements: *id011
181
+ - !ruby/object:Gem::Dependency
168
182
  name: rcov
169
- version_requirements: &id010 !ruby/object:Gem::Requirement
183
+ requirement: &id012 !ruby/object:Gem::Requirement
170
184
  none: false
171
185
  requirements:
172
186
  - - ">="
173
187
  - !ruby/object:Gem::Version
174
- hash: 3
175
188
  segments:
176
189
  - 0
177
190
  version: "0"
178
- requirement: *id010
191
+ type: :development
192
+ prerelease: false
193
+ version_requirements: *id012
179
194
  description: create anonymous email aliases through maskedmail.net web service, this library makes it dead simple
180
195
  email: support@maskedmail.net
181
196
  executables: []
@@ -212,7 +227,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
227
  requirements:
213
228
  - - ">="
214
229
  - !ruby/object:Gem::Version
215
- hash: 3
230
+ hash: -2089659271025449360
216
231
  segments:
217
232
  - 0
218
233
  version: "0"
@@ -221,7 +236,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
236
  requirements:
222
237
  - - ">="
223
238
  - !ruby/object:Gem::Version
224
- hash: 3
225
239
  segments:
226
240
  - 0
227
241
  version: "0"