jsl-feedzirra 0.0.12.1 → 0.0.12.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,21 @@
1
+ module Feedzirra
2
+ module Backend
3
+
4
+ # Class exists for cases where you don't want Feedzirra to remember what
5
+ # it has fetched. If this backend is selected, user needs to pass arguments
6
+ # in the form of a Feed object to the Reader class to help Feedzirra know when
7
+ # a page hasn't changed, and which feed entries have been updated.
8
+ class DevNull
9
+
10
+ def initialize(options = { })
11
+ end
12
+
13
+ def get(url)
14
+ end
15
+
16
+ def set(url, result)
17
+ end
18
+
19
+ end
20
+ end
21
+ end
data/lib/feedzirra.rb CHANGED
@@ -15,6 +15,7 @@ require 'core_ext/date'
15
15
  require 'core_ext/string'
16
16
  require 'core_ext/array'
17
17
 
18
+ require 'feedzirra/backend/dev_null'
18
19
  require 'feedzirra/backend/filesystem'
19
20
  require 'feedzirra/backend/memcache'
20
21
  require 'feedzirra/backend/memory'
@@ -0,0 +1,35 @@
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
+
3
+ describe Feedzirra::Backend::DevNull do
4
+ before do
5
+ @backend = Feedzirra::Backend::DevNull.new
6
+ end
7
+
8
+ it_should_behave_like "all backends"
9
+
10
+ it "should initialize properly" do
11
+ Feedzirra::Backend::DevNull.new
12
+ end
13
+
14
+ describe "#set" do
15
+ it "should accept two arguments" do
16
+ lambda {
17
+ @backend.set('foo', 'nothing')
18
+ }.should_not raise_error
19
+ end
20
+ end
21
+
22
+ describe "#get" do
23
+ it "should accept one argument" do
24
+ lambda {
25
+ @backend.get('foo')
26
+ }.should_not raise_error
27
+ end
28
+
29
+ it "should return nil even after something is set" do
30
+ @backend.set('junk', 'something')
31
+ @backend.get('junk').should be_nil
32
+ end
33
+ end
34
+
35
+ end
@@ -0,0 +1,23 @@
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
+
3
+ describe Feedzirra::Backend::Filesystem do
4
+ before do
5
+ @backend = Feedzirra::Backend::Filesystem.new({:path => '/tmp'})
6
+ end
7
+
8
+ it_should_behave_like "all backends"
9
+
10
+ it "should accept a Hash of options for inialization" do
11
+ Feedzirra::Backend::Filesystem.new({:path => '/tmp'})
12
+ end
13
+
14
+ describe "#filename_for" do
15
+ it "should default to the users' home path plus the MD5 of the normalized URL" do
16
+ MD5.expects(:hexdigest).returns('bah')
17
+ uri = mock('uri')
18
+ uri.expects(:normalize).returns('foo')
19
+ URI.expects(:parse).returns(uri)
20
+ Feedzirra::Backend::Filesystem.new({:path => '/tmp'}).__send__(:filename_for, 'hey').should == '/tmp/bah'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
+
3
+ describe Feedzirra::Backend::Memcache do
4
+ before do
5
+ @backend = Feedzirra::Backend::Memcache.new({:server => 'localhost', :port => 11211})
6
+ @cache = mock('cache')
7
+ @backend.instance_variable_set(:@cache, @cache)
8
+ end
9
+
10
+ it_should_behave_like "all backends"
11
+
12
+ describe "#get" do
13
+ it "should call #get on the cache" do
14
+ @cache.expects(:get)
15
+ @backend.get('foo')
16
+ end
17
+ end
18
+
19
+ describe "#set" do
20
+ it "should call #set on the cache" do
21
+ @cache.expects(:set)
22
+ @backend.set('foo', 'hey')
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,14 @@
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
+
3
+ describe Feedzirra::Backend::Memory do
4
+ before do
5
+ @backend = Feedzirra::Backend::Memory.new
6
+ end
7
+
8
+ it_should_behave_like "all backends"
9
+
10
+ it "should initialize properly" do
11
+ Feedzirra::Backend::Memory.new
12
+ end
13
+
14
+ end
data/spec/spec_helper.rb CHANGED
@@ -63,5 +63,5 @@ shared_examples_for "all backends" do
63
63
 
64
64
  it "should respond to #set" do
65
65
  @backend.should respond_to(:set)
66
- end
66
+ end
67
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsl-feedzirra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12.1
4
+ version: 0.0.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Dix
@@ -111,6 +111,7 @@ files:
111
111
  - lib/feedzirra/parser/feed_utilities.rb
112
112
  - lib/feedzirra/parser/feed_entry_utilities.rb
113
113
  - lib/feedzirra/backend/filesystem.rb
114
+ - lib/feedzirra/backend/dev_null.rb
114
115
  - lib/feedzirra/backend/memcache.rb
115
116
  - lib/feedzirra/backend/memory.rb
116
117
  - README.rdoc
@@ -129,6 +130,10 @@ files:
129
130
  - spec/feedzirra/parser/rss_entry_spec.rb
130
131
  - spec/feedzirra/feed_utilities_spec.rb
131
132
  - spec/feedzirra/feed_entry_utilities_spec.rb
133
+ - spec/feedzirra/backend/dev_null_spec.rb
134
+ - spec/feedzirra/backend/filesystem_spec.rb
135
+ - spec/feedzirra/backend/memcache_spec.rb
136
+ - spec/feedzirra/backend/memory_spec.rb
132
137
  has_rdoc: true
133
138
  homepage: http://github.com/pauldix/feedzirra
134
139
  post_install_message: