redis_cache_mailer_delivery 0.0.1 → 0.0.2

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/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm 1.9.3@redis_cache_mailer_delivery
1
+ rvm ree@redis_cache_mailer_delivery
@@ -1,7 +1,7 @@
1
1
  require 'action_mailer'
2
2
  require 'redis_cache_mailer_delivery/version'
3
3
  require 'redis_cache_mailer_delivery/mail/cache_delivery'
4
- require 'redis_cache_mailer_delivery/action_mailer/base'
4
+ require 'redis_cache_mailer_delivery/deliveries'
5
5
 
6
6
  module RedisCacheMailerDelivery
7
7
  class << self
@@ -0,0 +1,19 @@
1
+ require 'redis'
2
+ require 'redis/objects'
3
+ require 'redis/list'
4
+ module RedisCacheMailerDelivery
5
+ module Deliveries
6
+ class << self
7
+
8
+ #
9
+ # Returns an array of delivered mails.
10
+ #
11
+ # @return [Array] array of mails (each mail is an instance of Mail.)
12
+ #
13
+ def all
14
+ list = Redis::List.new ActionMailer::Base.redis_cache_settings[:redis_key_name], :marshal => true
15
+ list.values
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,3 +1,3 @@
1
1
  module RedisCacheMailerDelivery
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,30 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
2
+
3
+ module RedisCacheMailerDelivery
4
+ describe Deliveries do
5
+ before(:each) do
6
+ RedisCacheMailerDelivery.install
7
+ Redis.current = Redis.new(:host => '127.0.0.1', :port => 6379)
8
+ end
9
+
10
+ describe ".all" do
11
+ let(:object) { Mail::Message.new}
12
+ before(:each) do
13
+ list = Redis::List.new "redis_cache_mailer_delivery:mail_messages", :marshal => true
14
+ list << object
15
+ end
16
+
17
+ after(:each) do
18
+ Redis.current.del "redis_cache_mailer_delivery:mail_messages"
19
+ end
20
+
21
+ it "fetches all contents from redis" do
22
+ described_class.all.size.should eq(1)
23
+ end
24
+
25
+ it "deserizlize the data" do
26
+ described_class.all[0].should eq(object)
27
+ end
28
+ end
29
+ end
30
+ end
metadata CHANGED
@@ -1,100 +1,130 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: redis_cache_mailer_delivery
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 2
10
+ version: 0.0.2
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Yi Wen
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-03-21 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-03-21 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: redis
16
- requirement: &70203010834820 !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
22
32
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70203010834820
25
- - !ruby/object:Gem::Dependency
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
26
35
  name: redis-objects
27
- requirement: &70203010834180 !ruby/object:Gem::Requirement
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
28
38
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
33
46
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70203010834180
36
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
37
49
  name: actionmailer
38
- requirement: &70203010833380 !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
39
52
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
44
60
  type: :runtime
45
- prerelease: false
46
- version_requirements: *70203010833380
47
- - !ruby/object:Gem::Dependency
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
48
63
  name: rspec
49
- requirement: &70203010832580 !ruby/object:Gem::Requirement
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
50
66
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
55
74
  type: :development
56
- prerelease: false
57
- version_requirements: *70203010832580
58
- - !ruby/object:Gem::Dependency
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
59
77
  name: guard-rspectacle
60
- requirement: &70203010831940 !ruby/object:Gem::Requirement
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
61
80
  none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: '0'
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
66
88
  type: :development
67
- prerelease: false
68
- version_requirements: *70203010831940
69
- - !ruby/object:Gem::Dependency
89
+ version_requirements: *id005
90
+ - !ruby/object:Gem::Dependency
70
91
  name: growl
71
- requirement: &70203010831400 !ruby/object:Gem::Requirement
92
+ prerelease: false
93
+ requirement: &id006 !ruby/object:Gem::Requirement
72
94
  none: false
73
- requirements:
74
- - - ! '>='
75
- - !ruby/object:Gem::Version
76
- version: '0'
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
77
102
  type: :development
78
- prerelease: false
79
- version_requirements: *70203010831400
80
- - !ruby/object:Gem::Dependency
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
81
105
  name: rb-fsevent
82
- requirement: &70203010830820 !ruby/object:Gem::Requirement
106
+ prerelease: false
107
+ requirement: &id007 !ruby/object:Gem::Requirement
83
108
  none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: '0'
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
88
116
  type: :development
89
- prerelease: false
90
- version_requirements: *70203010830820
117
+ version_requirements: *id007
91
118
  description: Use Redis to store the Mail::Message when using in Rails
92
- email:
119
+ email:
93
120
  - hayafirst@gmail.com
94
121
  executables: []
122
+
95
123
  extensions: []
124
+
96
125
  extra_rdoc_files: []
97
- files:
126
+
127
+ files:
98
128
  - .gitignore
99
129
  - .rspec
100
130
  - .rvmrc
@@ -104,39 +134,50 @@ files:
104
134
  - README.md
105
135
  - Rakefile
106
136
  - lib/redis_cache_mailer_delivery.rb
107
- - lib/redis_cache_mailer_delivery/action_mailer/base.rb
137
+ - lib/redis_cache_mailer_delivery/deliveries.rb
108
138
  - lib/redis_cache_mailer_delivery/mail/cache_delivery.rb
109
139
  - lib/redis_cache_mailer_delivery/railtie.rb
110
140
  - lib/redis_cache_mailer_delivery/version.rb
111
141
  - redis_cache_mailer_delivery.gemspec
142
+ - spec/redis_cache_mailer_delivery/deliveries_spec.rb
112
143
  - spec/redis_cache_mailer_delivery_spec.rb
113
144
  - spec/spec_helper.rb
114
145
  - spec/support/faked_rails.rb
115
146
  homepage: https://github.com/ywen/redis_cache_mailer_delivery
116
147
  licenses: []
148
+
117
149
  post_install_message:
118
150
  rdoc_options: []
119
- require_paths:
151
+
152
+ require_paths:
120
153
  - lib
121
- required_ruby_version: !ruby/object:Gem::Requirement
154
+ required_ruby_version: !ruby/object:Gem::Requirement
122
155
  none: false
123
- requirements:
124
- - - ! '>='
125
- - !ruby/object:Gem::Version
126
- version: '0'
127
- required_rubygems_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ hash: 3
160
+ segments:
161
+ - 0
162
+ version: "0"
163
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
164
  none: false
129
- requirements:
130
- - - ! '>='
131
- - !ruby/object:Gem::Version
132
- version: '0'
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ hash: 3
169
+ segments:
170
+ - 0
171
+ version: "0"
133
172
  requirements: []
173
+
134
174
  rubyforge_project:
135
175
  rubygems_version: 1.8.17
136
176
  signing_key:
137
177
  specification_version: 3
138
178
  summary: Use Redis to store the Mail::Message when using in Rails
139
- test_files:
179
+ test_files:
180
+ - spec/redis_cache_mailer_delivery/deliveries_spec.rb
140
181
  - spec/redis_cache_mailer_delivery_spec.rb
141
182
  - spec/spec_helper.rb
142
183
  - spec/support/faked_rails.rb
@@ -1,26 +0,0 @@
1
- module ActionMailer
2
- class Base
3
- class << self
4
-
5
- #
6
- # Returns an array of delivered mails.
7
- #
8
- # @return [Array] array of mails (each mail is an instance of Mail.)
9
- #
10
- def cached_deliveries
11
- list = Redis::List.new redis_cache_settings[:redis_key_name], :marshal => true
12
- list.values.map{|m|Marshal.load(m)}
13
- end
14
-
15
- #
16
- # Clears delivered mails.
17
- #
18
- # It also cleans ActionMailer::Base.deliveries
19
- #
20
- def clear_cache
21
- $redis.del redis_cache_settings[:redis_key_name]
22
- end
23
-
24
- end # << self
25
- end # Base
26
- end # ActionMailer