mwilliams-fleakr 0.5.1
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/README.rdoc +350 -0
- data/Rakefile +41 -0
- data/lib/fleakr/api/file_parameter.rb +47 -0
- data/lib/fleakr/api/method_request.rb +66 -0
- data/lib/fleakr/api/option.rb +175 -0
- data/lib/fleakr/api/parameter.rb +35 -0
- data/lib/fleakr/api/parameter_list.rb +97 -0
- data/lib/fleakr/api/response.rb +35 -0
- data/lib/fleakr/api/upload_request.rb +75 -0
- data/lib/fleakr/api/value_parameter.rb +36 -0
- data/lib/fleakr/api.rb +8 -0
- data/lib/fleakr/core_ext/false_class.rb +7 -0
- data/lib/fleakr/core_ext/hash.rb +22 -0
- data/lib/fleakr/core_ext/true_class.rb +7 -0
- data/lib/fleakr/core_ext.rb +3 -0
- data/lib/fleakr/objects/authentication_token.rb +60 -0
- data/lib/fleakr/objects/comment.rb +49 -0
- data/lib/fleakr/objects/contact.rb +31 -0
- data/lib/fleakr/objects/error.rb +22 -0
- data/lib/fleakr/objects/group.rb +36 -0
- data/lib/fleakr/objects/image.rb +50 -0
- data/lib/fleakr/objects/photo.rb +147 -0
- data/lib/fleakr/objects/photo_context.rb +49 -0
- data/lib/fleakr/objects/search.rb +30 -0
- data/lib/fleakr/objects/set.rb +50 -0
- data/lib/fleakr/objects/tag.rb +56 -0
- data/lib/fleakr/objects/user.rb +95 -0
- data/lib/fleakr/objects.rb +12 -0
- data/lib/fleakr/support/attribute.rb +46 -0
- data/lib/fleakr/support/object.rb +110 -0
- data/lib/fleakr/support.rb +2 -0
- data/lib/fleakr/version.rb +13 -0
- data/lib/fleakr.rb +164 -0
- data/test/fixtures/auth.checkToken.xml +8 -0
- data/test/fixtures/auth.getFullToken.xml +8 -0
- data/test/fixtures/auth.getToken.xml +8 -0
- data/test/fixtures/contacts.getPublicList.xml +7 -0
- data/test/fixtures/groups.pools.getPhotos.xml +7 -0
- data/test/fixtures/people.findByEmail.xml +6 -0
- data/test/fixtures/people.findByUsername.xml +6 -0
- data/test/fixtures/people.getInfo.xml +18 -0
- data/test/fixtures/people.getPublicGroups.xml +7 -0
- data/test/fixtures/people.getPublicPhotos.xml +7 -0
- data/test/fixtures/photos.comments.getList.xml +7 -0
- data/test/fixtures/photos.getContext.xml +6 -0
- data/test/fixtures/photos.getInfo.xml +20 -0
- data/test/fixtures/photos.getSizes.xml +10 -0
- data/test/fixtures/photos.search.xml +7 -0
- data/test/fixtures/photosets.comments.getList.xml +7 -0
- data/test/fixtures/photosets.getList.xml +13 -0
- data/test/fixtures/photosets.getPhotos.xml +7 -0
- data/test/fixtures/tags.getListPhoto.xml +9 -0
- data/test/fixtures/tags.getListUser.xml +10 -0
- data/test/fixtures/tags.getRelated.xml +9 -0
- data/test/test_helper.rb +141 -0
- data/test/unit/fleakr/api/file_parameter_test.rb +63 -0
- data/test/unit/fleakr/api/method_request_test.rb +94 -0
- data/test/unit/fleakr/api/option_test.rb +179 -0
- data/test/unit/fleakr/api/parameter_list_test.rb +176 -0
- data/test/unit/fleakr/api/parameter_test.rb +34 -0
- data/test/unit/fleakr/api/response_test.rb +49 -0
- data/test/unit/fleakr/api/upload_request_test.rb +149 -0
- data/test/unit/fleakr/api/value_parameter_test.rb +41 -0
- data/test/unit/fleakr/core_ext/false_class_test.rb +13 -0
- data/test/unit/fleakr/core_ext/hash_test.rb +32 -0
- data/test/unit/fleakr/core_ext/true_class_test.rb +13 -0
- data/test/unit/fleakr/objects/authentication_token_test.rb +61 -0
- data/test/unit/fleakr/objects/comment_test.rb +66 -0
- data/test/unit/fleakr/objects/contact_test.rb +61 -0
- data/test/unit/fleakr/objects/error_test.rb +21 -0
- data/test/unit/fleakr/objects/group_test.rb +46 -0
- data/test/unit/fleakr/objects/image_test.rb +81 -0
- data/test/unit/fleakr/objects/photo_context_test.rb +80 -0
- data/test/unit/fleakr/objects/photo_test.rb +246 -0
- data/test/unit/fleakr/objects/search_test.rb +74 -0
- data/test/unit/fleakr/objects/set_test.rb +82 -0
- data/test/unit/fleakr/objects/tag_test.rb +98 -0
- data/test/unit/fleakr/objects/user_test.rb +91 -0
- data/test/unit/fleakr/support/attribute_test.rb +126 -0
- data/test/unit/fleakr/support/object_test.rb +129 -0
- data/test/unit/fleakr_test.rb +171 -0
- metadata +175 -0
@@ -0,0 +1,126 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../test_helper'
|
2
|
+
|
3
|
+
module Fleakr::Support
|
4
|
+
class AttributeTest < Test::Unit::TestCase
|
5
|
+
context "An instance of the Attribute class" do
|
6
|
+
|
7
|
+
should "know the name of the attribute" do
|
8
|
+
attr = Attribute.new('foo')
|
9
|
+
attr.name.should == :foo
|
10
|
+
end
|
11
|
+
|
12
|
+
should "have a default source" do
|
13
|
+
attr = Attribute.new(:foo)
|
14
|
+
attr.sources.should == ['foo']
|
15
|
+
end
|
16
|
+
|
17
|
+
should "be able to assign multiple sources" do
|
18
|
+
attr = Attribute.new(:foo, ['foo1', 'foo2'])
|
19
|
+
attr.sources.should == ['foo1', 'foo2']
|
20
|
+
end
|
21
|
+
|
22
|
+
should "pull the location from the source" do
|
23
|
+
attr = Attribute.new('foo')
|
24
|
+
attr.location('foo').should == 'foo'
|
25
|
+
end
|
26
|
+
|
27
|
+
should "return the location when splitting" do
|
28
|
+
attr = Attribute.new('foo')
|
29
|
+
attr.split('foo').should == ['foo', nil]
|
30
|
+
end
|
31
|
+
|
32
|
+
should "return the name for the location when splitting if the location isn't specified" do
|
33
|
+
attr = Attribute.new('foo')
|
34
|
+
attr.split('@bar').should == ['foo', 'bar']
|
35
|
+
end
|
36
|
+
|
37
|
+
should "allow the setting of the location information" do
|
38
|
+
attr = Attribute.new('foo', 'bar')
|
39
|
+
attr.sources.should == ['bar']
|
40
|
+
end
|
41
|
+
|
42
|
+
should "allow the setting of the attribute value" do
|
43
|
+
attr = Attribute.new('foo')
|
44
|
+
attr.attribute('@bogon').should == 'bogon'
|
45
|
+
end
|
46
|
+
|
47
|
+
should "use the location as the attribute" do
|
48
|
+
attr = Attribute.new('foo')
|
49
|
+
attr.attribute('foo').should == 'foo'
|
50
|
+
end
|
51
|
+
|
52
|
+
should "use the attribute for the attribute if specified" do
|
53
|
+
attr = Attribute.new(:id, '@nsid')
|
54
|
+
attr.attribute('@nsid').should == 'nsid'
|
55
|
+
end
|
56
|
+
|
57
|
+
should "be able to retrieve the node from the path" do
|
58
|
+
document = Hpricot.XML('<name>Bassdrive</name>')
|
59
|
+
expected = document.at('name')
|
60
|
+
|
61
|
+
attr = Attribute.new(:name)
|
62
|
+
attr.node_for(document, 'name').should == expected
|
63
|
+
end
|
64
|
+
|
65
|
+
should "be able to retrieve the node that contains the specified attribute" do
|
66
|
+
document = Hpricot.XML('<user id="1337" />')
|
67
|
+
expected = document.at('user')
|
68
|
+
|
69
|
+
attr = Attribute.new(:id)
|
70
|
+
attr.node_for(document, '@id').should == expected
|
71
|
+
end
|
72
|
+
|
73
|
+
should "be able to retrieve the node for the specified attribute" do
|
74
|
+
document = Hpricot.XML('<user nsid="1337" />')
|
75
|
+
expected = document.at('user')
|
76
|
+
|
77
|
+
attr = Attribute.new(:id, '@nsid')
|
78
|
+
attr.node_for(document, '@nsid').should == expected
|
79
|
+
end
|
80
|
+
|
81
|
+
should "be able to pull simple values from an XML document" do
|
82
|
+
document = Hpricot.XML('<name>Bassdrive</name>')
|
83
|
+
attr = Attribute.new(:name)
|
84
|
+
attr.value_from(document).should == 'Bassdrive'
|
85
|
+
end
|
86
|
+
|
87
|
+
should "be able to pull an attribute value from the current XML node" do
|
88
|
+
document = Hpricot.XML('<user id="1337" />')
|
89
|
+
attr = Attribute.new(:id)
|
90
|
+
attr.value_from(document).should == '1337'
|
91
|
+
end
|
92
|
+
|
93
|
+
should "be able to pull a specific attribute value from the current XML node" do
|
94
|
+
document = Hpricot.XML('<user nsid="1337" />')
|
95
|
+
attr = Attribute.new(:id, '@nsid')
|
96
|
+
attr.value_from(document).should == '1337'
|
97
|
+
end
|
98
|
+
|
99
|
+
should "be able to pull an attribute value for a node and attribute" do
|
100
|
+
document = Hpricot.XML('<station><genre slug="dnb">Drum & Bass</genre></station>')
|
101
|
+
attr = Attribute.new(:slug, 'station/genre@slug')
|
102
|
+
attr.value_from(document).should == 'dnb'
|
103
|
+
end
|
104
|
+
|
105
|
+
should "be able to pull a value from a nested XML node" do
|
106
|
+
document = Hpricot.XML('<rsp><user>blip</user></rsp>')
|
107
|
+
attr = Attribute.new(:user)
|
108
|
+
attr.value_from(document).should == 'blip'
|
109
|
+
end
|
110
|
+
|
111
|
+
should "return nil if it cannot find the specified node" do
|
112
|
+
document = Hpricot.XML('<user id="1" />')
|
113
|
+
attr = Attribute.new(:photoset, '@nsid')
|
114
|
+
attr.value_from(document).should be(nil)
|
115
|
+
end
|
116
|
+
|
117
|
+
should "be able to try a series of nodes to find a value" do
|
118
|
+
document = Hpricot.XML('<photoid>123</photoid>')
|
119
|
+
|
120
|
+
attr = Attribute.new(:id, ['photo@nsid', 'photoid'])
|
121
|
+
attr.value_from(document).should == '123'
|
122
|
+
end
|
123
|
+
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
@@ -0,0 +1,129 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../test_helper'
|
2
|
+
|
3
|
+
class EmptyObject
|
4
|
+
include Fleakr::Support::Object
|
5
|
+
end
|
6
|
+
|
7
|
+
class FlickrObject
|
8
|
+
|
9
|
+
include Fleakr::Support::Object
|
10
|
+
|
11
|
+
flickr_attribute :name
|
12
|
+
flickr_attribute :description, :from => 'desc'
|
13
|
+
flickr_attribute :id, :from => '@nsid'
|
14
|
+
flickr_attribute :photoset_id, :from => 'photoset@id'
|
15
|
+
flickr_attribute :tag, :category
|
16
|
+
|
17
|
+
find_one :by_id, :call => 'people.getInfo'
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
module Fleakr
|
22
|
+
class ObjectTest < Test::Unit::TestCase
|
23
|
+
|
24
|
+
context "A class method provided by the Flickr::Object module" do
|
25
|
+
|
26
|
+
should "have an empty list of attributes if none are supplied" do
|
27
|
+
EmptyObject.attributes.should == []
|
28
|
+
end
|
29
|
+
|
30
|
+
should "know the names of all its attributes" do
|
31
|
+
FlickrObject.attributes.map {|a| a.name.to_s }.should == %w(name description id photoset_id tag category)
|
32
|
+
end
|
33
|
+
|
34
|
+
should "be able to find by ID" do
|
35
|
+
id = 1
|
36
|
+
flickr_object = stub()
|
37
|
+
|
38
|
+
response = mock_request_cycle :for => 'people.getInfo', :with => {:id => id}
|
39
|
+
FlickrObject.expects(:new).with(response.body).returns(flickr_object)
|
40
|
+
|
41
|
+
FlickrObject.find_by_id(id).should == flickr_object
|
42
|
+
end
|
43
|
+
|
44
|
+
should "be able to pass parameters to the :find_by_id method" do
|
45
|
+
id = 1
|
46
|
+
params = {:authenticate? => true}
|
47
|
+
flickr_object = stub()
|
48
|
+
|
49
|
+
response = mock_request_cycle :for => 'people.getInfo', :with => {:id => id, :authenticate? => true}
|
50
|
+
FlickrObject.expects(:new).with(response.body).returns(flickr_object)
|
51
|
+
|
52
|
+
FlickrObject.find_by_id(id, params).should == flickr_object
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
context "An instance method provided by the Flickr::Object module" do
|
58
|
+
|
59
|
+
should "have default reader methods" do
|
60
|
+
[:name, :description, :id, :photoset_id, :tag, :category].each do |method_name|
|
61
|
+
FlickrObject.new.respond_to?(method_name).should == true
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context "when populating data from an XML document" do
|
66
|
+
setup do
|
67
|
+
xml = <<-XML
|
68
|
+
<name>Fleakr</name>
|
69
|
+
<desc>Awesome</desc>
|
70
|
+
<photoset id="1" />
|
71
|
+
<tag>Tag</tag>
|
72
|
+
<category>Category</category>
|
73
|
+
XML
|
74
|
+
|
75
|
+
@object = FlickrObject.new
|
76
|
+
@object.populate_from(Hpricot.XML(xml))
|
77
|
+
end
|
78
|
+
|
79
|
+
should "have the correct value for :name" do
|
80
|
+
@object.name.should == 'Fleakr'
|
81
|
+
end
|
82
|
+
|
83
|
+
should "have the correct value for :description" do
|
84
|
+
@object.description.should == 'Awesome'
|
85
|
+
end
|
86
|
+
|
87
|
+
should "have the correct value for :photoset_id" do
|
88
|
+
@object.photoset_id.should == '1'
|
89
|
+
end
|
90
|
+
|
91
|
+
should "have the correct value for :id" do
|
92
|
+
document = Hpricot.XML('<object nsid="1" />').at('object')
|
93
|
+
@object.populate_from(document)
|
94
|
+
|
95
|
+
@object.id.should == '1'
|
96
|
+
end
|
97
|
+
|
98
|
+
should "have the correct value for :tag" do
|
99
|
+
@object.tag.should == 'Tag'
|
100
|
+
end
|
101
|
+
|
102
|
+
should "have the correct value for :category" do
|
103
|
+
@object.category.should == 'Category'
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
should "populate its data from an XML document when initializing" do
|
108
|
+
document = stub()
|
109
|
+
FlickrObject.any_instance.expects(:populate_from).with(document)
|
110
|
+
|
111
|
+
FlickrObject.new(document)
|
112
|
+
end
|
113
|
+
|
114
|
+
should "not attempt to populate itself from an XML document if one is not available" do
|
115
|
+
FlickrObject.any_instance.expects(:populate_from).never
|
116
|
+
FlickrObject.new
|
117
|
+
end
|
118
|
+
|
119
|
+
should "not overwrite existing attributes when pulling in a partial new XML document" do
|
120
|
+
object = FlickrObject.new(Hpricot.XML('<name>Fleakr</name>'))
|
121
|
+
object.populate_from(Hpricot.XML('<desc>Awesome</desc>'))
|
122
|
+
|
123
|
+
object.name.should == 'Fleakr'
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
129
|
+
end
|
@@ -0,0 +1,171 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
class FleakrTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
context "The Fleakr module" do
|
6
|
+
|
7
|
+
[:api_key, :shared_secret, :mini_token, :auth_token].each do |attribute|
|
8
|
+
should "be able to set a value for :#{attribute}" do
|
9
|
+
value = 'value'
|
10
|
+
|
11
|
+
Fleakr.send("#{attribute}=".to_sym, value)
|
12
|
+
Fleakr.send(attribute).should == value
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
should "provide a means to find a user by his username" do
|
17
|
+
user = stub()
|
18
|
+
Fleakr::Objects::User.expects(:find_by_username).with('username').returns(user)
|
19
|
+
Fleakr.user('username').should == user
|
20
|
+
end
|
21
|
+
|
22
|
+
should "fall back to finding a user by email if finding by username fails" do
|
23
|
+
user = stub()
|
24
|
+
email = 'user@host.com'
|
25
|
+
|
26
|
+
Fleakr::Objects::User.stubs(:find_by_username).with(email).raises(Fleakr::ApiError)
|
27
|
+
Fleakr::Objects::User.expects(:find_by_email).with(email).returns(user)
|
28
|
+
|
29
|
+
Fleakr.user(email).should == user
|
30
|
+
end
|
31
|
+
|
32
|
+
should "be able to perform text searches" do
|
33
|
+
photos = [stub()]
|
34
|
+
|
35
|
+
Fleakr::Objects::Search.expects(:new).with(:text => 'foo').returns(stub(:results => photos))
|
36
|
+
Fleakr.search('foo').should == photos
|
37
|
+
end
|
38
|
+
|
39
|
+
should "be able to perform searches based on tags" do
|
40
|
+
Fleakr::Objects::Search.expects(:new).with(:tags => %w(one two)).returns(stub(:results => []))
|
41
|
+
Fleakr.search(:tags => %w(one two))
|
42
|
+
end
|
43
|
+
|
44
|
+
# TODO: refactor uploading tests?
|
45
|
+
should "be able to upload a collection of images" do
|
46
|
+
glob = '*.jpg'
|
47
|
+
filenames = %w(one.jpg two.jpg)
|
48
|
+
|
49
|
+
Dir.expects(:[]).with(glob).returns(filenames)
|
50
|
+
|
51
|
+
Fleakr::Objects::Photo.expects(:upload).with('one.jpg', {})
|
52
|
+
Fleakr::Objects::Photo.expects(:upload).with('two.jpg', {})
|
53
|
+
|
54
|
+
Fleakr.upload(glob)
|
55
|
+
end
|
56
|
+
|
57
|
+
should "return recently uploaded photos" do
|
58
|
+
filename = '/path/to/image.jpg'
|
59
|
+
new_image = stub()
|
60
|
+
|
61
|
+
Dir.expects(:[]).with(filename).returns([filename])
|
62
|
+
Fleakr::Objects::Photo.expects(:upload).with(filename, {}).returns(new_image)
|
63
|
+
|
64
|
+
Fleakr.upload(filename).should == [new_image]
|
65
|
+
end
|
66
|
+
|
67
|
+
should "be able to pass options for the uploaded files" do
|
68
|
+
filename = '/path/to/image.jpg'
|
69
|
+
new_image = stub()
|
70
|
+
|
71
|
+
Dir.expects(:[]).with(filename).returns([filename])
|
72
|
+
Fleakr::Objects::Photo.expects(:upload).with(filename, :title => 'bop bip').returns(new_image)
|
73
|
+
|
74
|
+
Fleakr.upload(filename, :title => 'bop bip').should == [new_image]
|
75
|
+
end
|
76
|
+
|
77
|
+
should "be able to reset the cached token" do
|
78
|
+
@token = stub()
|
79
|
+
Fleakr.expects(:auth_token).with().at_least_once.returns('abc123')
|
80
|
+
Fleakr::Objects::AuthenticationToken.expects(:from_auth_token).with('abc123').times(2).returns(@token)
|
81
|
+
Fleakr.token # once
|
82
|
+
Fleakr.reset_token
|
83
|
+
Fleakr.token # twice
|
84
|
+
end
|
85
|
+
|
86
|
+
should "not have a token by default" do
|
87
|
+
Fleakr.expects(:mini_token).with().returns(nil)
|
88
|
+
Fleakr.expects(:auth_token).with().returns(nil)
|
89
|
+
Fleakr.expects(:frob).with().returns(nil)
|
90
|
+
|
91
|
+
Fleakr.token.should be(nil)
|
92
|
+
end
|
93
|
+
|
94
|
+
[:mini_token, :auth_token, :frob].each do |attribute|
|
95
|
+
should "reset_token when :#{attribute} is set" do
|
96
|
+
Fleakr.expects(:reset_token).with().at_least_once
|
97
|
+
Fleakr.send("#{attribute}=".to_sym, 'value')
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
context "when generating an AuthenticationToken from an auth_token string" do
|
102
|
+
|
103
|
+
setup do
|
104
|
+
@token = stub()
|
105
|
+
|
106
|
+
Fleakr.expects(:auth_token).with().at_least_once.returns('abc123')
|
107
|
+
Fleakr::Objects::AuthenticationToken.expects(:from_auth_token).with('abc123').returns(@token)
|
108
|
+
end
|
109
|
+
|
110
|
+
# Make sure to clear the cache
|
111
|
+
teardown { Fleakr.auth_token = nil }
|
112
|
+
|
113
|
+
should "return the token" do
|
114
|
+
Fleakr.token.should == @token
|
115
|
+
end
|
116
|
+
|
117
|
+
should "cache the result" do
|
118
|
+
2.times { Fleakr.token }
|
119
|
+
end
|
120
|
+
|
121
|
+
end
|
122
|
+
|
123
|
+
context "when generating an AuthenticationToken from a frob string" do
|
124
|
+
|
125
|
+
setup do
|
126
|
+
@token = stub()
|
127
|
+
|
128
|
+
Fleakr.expects(:auth_token).with().at_least_once.returns(nil)
|
129
|
+
Fleakr.expects(:frob).with().at_least_once.returns('abc123')
|
130
|
+
Fleakr::Objects::AuthenticationToken.expects(:from_frob).with('abc123').returns(@token)
|
131
|
+
end
|
132
|
+
|
133
|
+
# Make sure to clear the cache
|
134
|
+
teardown { Fleakr.frob = nil }
|
135
|
+
|
136
|
+
should "return the token" do
|
137
|
+
Fleakr.token.should == @token
|
138
|
+
end
|
139
|
+
|
140
|
+
should "cache the result" do
|
141
|
+
2.times { Fleakr.token }
|
142
|
+
end
|
143
|
+
|
144
|
+
end
|
145
|
+
|
146
|
+
context "when generating an AuthenticationToken from a mini_token string" do
|
147
|
+
|
148
|
+
setup do
|
149
|
+
@token = stub()
|
150
|
+
|
151
|
+
Fleakr.expects(:auth_token).with().at_least_once.returns(nil)
|
152
|
+
Fleakr.expects(:mini_token).with().at_least_once.returns('123-123-123')
|
153
|
+
Fleakr::Objects::AuthenticationToken.expects(:from_mini_token).with('123-123-123').returns(@token)
|
154
|
+
end
|
155
|
+
|
156
|
+
# Make sure to clear the cache
|
157
|
+
teardown { Fleakr.mini_token = nil }
|
158
|
+
|
159
|
+
should "return the token" do
|
160
|
+
Fleakr.token.should == @token
|
161
|
+
end
|
162
|
+
|
163
|
+
should "cache the result" do
|
164
|
+
2.times { Fleakr.token }
|
165
|
+
end
|
166
|
+
|
167
|
+
end
|
168
|
+
|
169
|
+
end
|
170
|
+
|
171
|
+
end
|
metadata
ADDED
@@ -0,0 +1,175 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mwilliams-fleakr
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Patrick Reagan, Matthew Williams
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-05-13 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: nokogiri
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.3.2
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: activesupport
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "2.0"
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: loggable
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.2.0
|
44
|
+
version:
|
45
|
+
description:
|
46
|
+
email: reaganpr@gmail.com
|
47
|
+
executables: []
|
48
|
+
|
49
|
+
extensions: []
|
50
|
+
|
51
|
+
extra_rdoc_files:
|
52
|
+
- README.rdoc
|
53
|
+
files:
|
54
|
+
- README.rdoc
|
55
|
+
- Rakefile
|
56
|
+
- lib/fleakr
|
57
|
+
- lib/fleakr/api
|
58
|
+
- lib/fleakr/api/file_parameter.rb
|
59
|
+
- lib/fleakr/api/method_request.rb
|
60
|
+
- lib/fleakr/api/option.rb
|
61
|
+
- lib/fleakr/api/parameter.rb
|
62
|
+
- lib/fleakr/api/parameter_list.rb
|
63
|
+
- lib/fleakr/api/response.rb
|
64
|
+
- lib/fleakr/api/upload_request.rb
|
65
|
+
- lib/fleakr/api/value_parameter.rb
|
66
|
+
- lib/fleakr/api.rb
|
67
|
+
- lib/fleakr/core_ext
|
68
|
+
- lib/fleakr/core_ext/false_class.rb
|
69
|
+
- lib/fleakr/core_ext/hash.rb
|
70
|
+
- lib/fleakr/core_ext/true_class.rb
|
71
|
+
- lib/fleakr/core_ext.rb
|
72
|
+
- lib/fleakr/objects
|
73
|
+
- lib/fleakr/objects/authentication_token.rb
|
74
|
+
- lib/fleakr/objects/comment.rb
|
75
|
+
- lib/fleakr/objects/contact.rb
|
76
|
+
- lib/fleakr/objects/error.rb
|
77
|
+
- lib/fleakr/objects/group.rb
|
78
|
+
- lib/fleakr/objects/image.rb
|
79
|
+
- lib/fleakr/objects/photo.rb
|
80
|
+
- lib/fleakr/objects/photo_context.rb
|
81
|
+
- lib/fleakr/objects/search.rb
|
82
|
+
- lib/fleakr/objects/set.rb
|
83
|
+
- lib/fleakr/objects/tag.rb
|
84
|
+
- lib/fleakr/objects/user.rb
|
85
|
+
- lib/fleakr/objects.rb
|
86
|
+
- lib/fleakr/support
|
87
|
+
- lib/fleakr/support/attribute.rb
|
88
|
+
- lib/fleakr/support/object.rb
|
89
|
+
- lib/fleakr/support.rb
|
90
|
+
- lib/fleakr/version.rb
|
91
|
+
- lib/fleakr.rb
|
92
|
+
- test/fixtures
|
93
|
+
- test/fixtures/auth.checkToken.xml
|
94
|
+
- test/fixtures/auth.getFullToken.xml
|
95
|
+
- test/fixtures/auth.getToken.xml
|
96
|
+
- test/fixtures/contacts.getPublicList.xml
|
97
|
+
- test/fixtures/groups.pools.getPhotos.xml
|
98
|
+
- test/fixtures/people.findByEmail.xml
|
99
|
+
- test/fixtures/people.findByUsername.xml
|
100
|
+
- test/fixtures/people.getInfo.xml
|
101
|
+
- test/fixtures/people.getPublicGroups.xml
|
102
|
+
- test/fixtures/people.getPublicPhotos.xml
|
103
|
+
- test/fixtures/photos.comments.getList.xml
|
104
|
+
- test/fixtures/photos.getContext.xml
|
105
|
+
- test/fixtures/photos.getInfo.xml
|
106
|
+
- test/fixtures/photos.getSizes.xml
|
107
|
+
- test/fixtures/photos.search.xml
|
108
|
+
- test/fixtures/photosets.comments.getList.xml
|
109
|
+
- test/fixtures/photosets.getList.xml
|
110
|
+
- test/fixtures/photosets.getPhotos.xml
|
111
|
+
- test/fixtures/tags.getListPhoto.xml
|
112
|
+
- test/fixtures/tags.getListUser.xml
|
113
|
+
- test/fixtures/tags.getRelated.xml
|
114
|
+
- test/test_helper.rb
|
115
|
+
- test/unit
|
116
|
+
- test/unit/fleakr
|
117
|
+
- test/unit/fleakr/api
|
118
|
+
- test/unit/fleakr/api/file_parameter_test.rb
|
119
|
+
- test/unit/fleakr/api/method_request_test.rb
|
120
|
+
- test/unit/fleakr/api/option_test.rb
|
121
|
+
- test/unit/fleakr/api/parameter_list_test.rb
|
122
|
+
- test/unit/fleakr/api/parameter_test.rb
|
123
|
+
- test/unit/fleakr/api/response_test.rb
|
124
|
+
- test/unit/fleakr/api/upload_request_test.rb
|
125
|
+
- test/unit/fleakr/api/value_parameter_test.rb
|
126
|
+
- test/unit/fleakr/core_ext
|
127
|
+
- test/unit/fleakr/core_ext/false_class_test.rb
|
128
|
+
- test/unit/fleakr/core_ext/hash_test.rb
|
129
|
+
- test/unit/fleakr/core_ext/true_class_test.rb
|
130
|
+
- test/unit/fleakr/objects
|
131
|
+
- test/unit/fleakr/objects/authentication_token_test.rb
|
132
|
+
- test/unit/fleakr/objects/comment_test.rb
|
133
|
+
- test/unit/fleakr/objects/contact_test.rb
|
134
|
+
- test/unit/fleakr/objects/error_test.rb
|
135
|
+
- test/unit/fleakr/objects/group_test.rb
|
136
|
+
- test/unit/fleakr/objects/image_test.rb
|
137
|
+
- test/unit/fleakr/objects/photo_context_test.rb
|
138
|
+
- test/unit/fleakr/objects/photo_test.rb
|
139
|
+
- test/unit/fleakr/objects/search_test.rb
|
140
|
+
- test/unit/fleakr/objects/set_test.rb
|
141
|
+
- test/unit/fleakr/objects/tag_test.rb
|
142
|
+
- test/unit/fleakr/objects/user_test.rb
|
143
|
+
- test/unit/fleakr/support
|
144
|
+
- test/unit/fleakr/support/attribute_test.rb
|
145
|
+
- test/unit/fleakr/support/object_test.rb
|
146
|
+
- test/unit/fleakr_test.rb
|
147
|
+
has_rdoc: true
|
148
|
+
homepage: http://sneaq.net
|
149
|
+
post_install_message:
|
150
|
+
rdoc_options:
|
151
|
+
- --main
|
152
|
+
- README.rdoc
|
153
|
+
require_paths:
|
154
|
+
- lib
|
155
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: "0"
|
160
|
+
version:
|
161
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: "0"
|
166
|
+
version:
|
167
|
+
requirements: []
|
168
|
+
|
169
|
+
rubyforge_project:
|
170
|
+
rubygems_version: 1.2.0
|
171
|
+
signing_key:
|
172
|
+
specification_version: 2
|
173
|
+
summary: A small, yet powerful, gem to interface with Flickr photostreams
|
174
|
+
test_files: []
|
175
|
+
|