maskedmail 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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"