jsl-myzofeedtosis 0.0.2.1 → 0.0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/myzofeedtosis/client.rb +11 -4
- data/myzofeedtosis.gemspec +1 -1
- data/spec/myzofeedtosis/client_spec.rb +8 -0
- metadata +1 -1
data/lib/myzofeedtosis/client.rb
CHANGED
@@ -9,19 +9,26 @@ module Myzofeedtosis
|
|
9
9
|
class Client
|
10
10
|
attr_reader :options, :url
|
11
11
|
|
12
|
+
@@backends = {} unless defined?(@@backends)
|
13
|
+
|
12
14
|
DEFAULTS = {
|
13
15
|
:backend => {
|
14
16
|
:moneta_klass => 'Moneta::Memory'
|
15
17
|
}
|
16
18
|
} unless defined?(DEFAULTS)
|
17
19
|
|
20
|
+
# Initializes a new myzofeedtosis library. The backend can be a hash of options, in
|
21
|
+
# which case we initialize a new HashBack::Backend. Or, it may be a pre-initialized
|
22
|
+
# backend, in which case we set the backend to the given HashBack::Backend object.
|
18
23
|
def initialize(url, options = { })
|
19
24
|
@url = url
|
20
|
-
@options = DEFAULTS.merge(options)
|
21
25
|
|
22
|
-
|
23
|
-
|
24
|
-
|
26
|
+
if options[:backend].is_a?(HashBack::Backend)
|
27
|
+
@backend = options[:backend]
|
28
|
+
else
|
29
|
+
@options = DEFAULTS.merge(options.dup)
|
30
|
+
@backend = HashBack::Backend.new( 'Myzofeedtosis', @options[:backend][:moneta_klass], @options[:backend].except(:moneta_klass) )
|
31
|
+
end
|
25
32
|
end
|
26
33
|
|
27
34
|
# Retrieves the latest entries from this feed. Returns a Myzofeedtosis::Result
|
data/myzofeedtosis.gemspec
CHANGED
@@ -35,6 +35,14 @@ describe Myzofeedtosis::Client do
|
|
35
35
|
@fr.expects(:new_curl_easy).returns(curl_easy)
|
36
36
|
@fr.fetch
|
37
37
|
end
|
38
|
+
|
39
|
+
describe "when given a pre-initialized backend" do
|
40
|
+
it "should set the @backend to the pre-initialized structure" do
|
41
|
+
h = HashBack::Backend.new('Foo', 'Moneta::Memory')
|
42
|
+
fc = Myzofeedtosis::Client.new(@url, :backend => h)
|
43
|
+
fc.__send__(:instance_variable_get, :@backend).should == h
|
44
|
+
end
|
45
|
+
end
|
38
46
|
end
|
39
47
|
|
40
48
|
describe "#fetch" do
|