jsl-feedzirra 0.0.12.1 → 0.0.12.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.
@@ -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: