flickrie 1.1.0 → 1.1.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.
Files changed (70) hide show
  1. data/flickrie.gemspec +1 -1
  2. data/lib/flickrie/version.rb +1 -1
  3. metadata +22 -150
  4. data/.gitignore +0 -10
  5. data/.travis.yml +0 -4
  6. data/.yardopts +0 -11
  7. data/CHANGELOG.md +0 -139
  8. data/Gemfile +0 -9
  9. data/Rakefile +0 -60
  10. data/spec/custom_matchers.rb +0 -51
  11. data/spec/files/photo.bla +0 -0
  12. data/spec/files/photo.jpg +0 -0
  13. data/spec/files/video.mov +0 -0
  14. data/spec/flickrie/api_methods_spec.rb +0 -124
  15. data/spec/flickrie/error_spec.rb +0 -26
  16. data/spec/flickrie/instance_spec.rb +0 -17
  17. data/spec/flickrie/license_spec.rb +0 -15
  18. data/spec/flickrie/location_spec.rb +0 -24
  19. data/spec/flickrie/media_count_spec.rb +0 -22
  20. data/spec/flickrie/media_spec.rb +0 -292
  21. data/spec/flickrie/oauth_spec.rb +0 -25
  22. data/spec/flickrie/photo_spec.rb +0 -132
  23. data/spec/flickrie/set_spec.rb +0 -76
  24. data/spec/flickrie/upload_client_spec.rb +0 -43
  25. data/spec/flickrie/user_spec.rb +0 -84
  26. data/spec/flickrie/video_spec.rb +0 -52
  27. data/spec/flickrie_spec.rb +0 -15
  28. data/spec/spec_helper.rb +0 -71
  29. data/spec/vcr_cassettes/api_methods/people/get_media_from_user.yml +0 -108
  30. data/spec/vcr_cassettes/api_methods/people/get_public_media_from_user.yml +0 -108
  31. data/spec/vcr_cassettes/api_methods/photos/add_and_remove_tags.yml +0 -528
  32. data/spec/vcr_cassettes/api_methods/photos/get_context.yml +0 -108
  33. data/spec/vcr_cassettes/api_methods/photos/get_counts.yml +0 -108
  34. data/spec/vcr_cassettes/api_methods/photos/get_exif.yml +0 -73
  35. data/spec/vcr_cassettes/api_methods/photos/get_favorites.yml +0 -73
  36. data/spec/vcr_cassettes/api_methods/photos/get_from_contacts.yml +0 -73
  37. data/spec/vcr_cassettes/api_methods/photos/get_info.yml +0 -108
  38. data/spec/vcr_cassettes/api_methods/photos/get_public_from_user_contacts.yml +0 -73
  39. data/spec/vcr_cassettes/api_methods/photos/get_sizes.yml +0 -73
  40. data/spec/vcr_cassettes/api_methods/photos/search.yml +0 -108
  41. data/spec/vcr_cassettes/api_methods/photosets/get_media.yml +0 -108
  42. data/spec/vcr_cassettes/api_methods/upload/replace.yml +0 -126
  43. data/spec/vcr_cassettes/api_methods/upload/upload.yml +0 -82
  44. data/spec/vcr_cassettes/api_methods/upload/upload_asynchronously.yml +0 -117
  45. data/spec/vcr_cassettes/error/a_request_was_made_and_failed/be_raised.yml +0 -84
  46. data/spec/vcr_cassettes/error/a_request_was_made_and_failed/have_code_attribute_present.yml +0 -84
  47. data/spec/vcr_cassettes/flickrie/a_new_credential_is_filled_in/reset_the_client.yml +0 -233
  48. data/spec/vcr_cassettes/instance/client_is_already_initialized/be_able_to_call_API_methods.yml +0 -152
  49. data/spec/vcr_cassettes/license/get/have_all_attributes_correctly_set.yml +0 -38
  50. data/spec/vcr_cassettes/media/from_contacts/have_all_attributes_correctly_set.yml +0 -73
  51. data/spec/vcr_cassettes/media/from_set/have_all_attributes_correctly_set.yml +0 -38
  52. data/spec/vcr_cassettes/media/from_user/have_all_attributes_correctly_set.yml +0 -38
  53. data/spec/vcr_cassettes/media/get_context/have_all_attributes_correctly_set.yml +0 -38
  54. data/spec/vcr_cassettes/media/get_exif/get_exif_correctly.yml +0 -73
  55. data/spec/vcr_cassettes/media/get_info/have_all_attributes_correctly_set.yml +0 -108
  56. data/spec/vcr_cassettes/media/public_from_user/have_all_attributes_correctly_set.yml +0 -38
  57. data/spec/vcr_cassettes/media/search/have_all_attributes_correctly_set.yml +0 -38
  58. data/spec/vcr_cassettes/media_count/get/have_correctly_set_all_attributes.yml +0 -73
  59. data/spec/vcr_cassettes/o_auth/incorrect_credentials/raise_exceptions.yml +0 -249
  60. data/spec/vcr_cassettes/photo/get_info/have_all_attributes_correctly_set.yml +0 -38
  61. data/spec/vcr_cassettes/photo/get_sizes/have_attributes_correctly_set.yml +0 -73
  62. data/spec/vcr_cassettes/photo/search/have_all_sizes_available.yml +0 -38
  63. data/spec/vcr_cassettes/set/from_user/have_all_attributes_correctly_set.yml +0 -143
  64. data/spec/vcr_cassettes/set/get_info/have_all_attributes_correctly_set.yml +0 -283
  65. data/spec/vcr_cassettes/upload_client/content_type/pass_the_content_type.yml +0 -117
  66. data/spec/vcr_cassettes/upload_client/invalid_credentials/raise_errors.yml +0 -276
  67. data/spec/vcr_cassettes/user/find_by_username_or_email/have_all_attributes_correctly_set.yml +0 -73
  68. data/spec/vcr_cassettes/user/get_info/have_all_attributes_correctly_set.yml +0 -73
  69. data/spec/vcr_cassettes/video/get_info/have_all_attributes_correctly_set.yml +0 -38
  70. data/spec/vcr_cassettes/video/get_sizes/have_all_attributes_correctly_set.yml +0 -73
@@ -1,76 +0,0 @@
1
- # encoding: utf-8
2
- require 'spec_helper'
3
-
4
- describe Flickrie::Set do
5
- before(:all) do
6
- @attributes = {
7
- :id => SET_ID,
8
- :secret => '25bb44852b',
9
- :server => '7049',
10
- :farm => 8,
11
- :title => 'Speleologija',
12
- :description => 'Slike sa škole speleologije Velebit.',
13
- :primary_media_id => PHOTO_ID,
14
- :primary_photo_id => PHOTO_ID,
15
- :primary_video_id => PHOTO_ID,
16
- :comments_count => 0,
17
- :photos_count => 97,
18
- :videos_count => 1,
19
- :media_count => 98,
20
- :owner => {
21
- :nsid => USER_NSID
22
- }
23
- }
24
- end
25
-
26
- def test_common_attributes(set)
27
- @attributes.keys.each do |attribute|
28
- set.send(attribute).should correspond_to(@attributes[attribute])
29
- end
30
-
31
- set.photos.each { |object| object.should be_a_photo }
32
- set.videos.each { |object| object.should be_a_video }
33
- set.media.each { |object| object.should be_a_media }
34
-
35
- # Time
36
- set.created_at.should be_an_instance_of(Time)
37
- set.updated_at.should be_an_instance_of(Time)
38
-
39
- # Other
40
- set.url.should_not be_empty
41
- set.views_count.should be_a_number
42
- set.can_comment?.should be_a_boolean
43
- end
44
-
45
- context "get info" do
46
- it "should have all attributes correctly set", :vcr do
47
- [
48
- Flickrie.get_set_info(SET_ID),
49
- Flickrie::Set.public_new('id' => SET_ID).get_info
50
- ].
51
- each { |set| test_common_attributes(set) }
52
- end
53
- end
54
-
55
- context "from user" do
56
- it "should have all attributes correctly set", :vcr do
57
- set = Flickrie.sets_from_user(USER_NSID).find { |set| set.id == SET_ID }
58
- test_common_attributes(set)
59
- set.needs_interstitial?.should be_false
60
- set.visibility_can_see_set?.should be_true
61
- end
62
- end
63
-
64
- context "blank set" do
65
- it "should have all attributes equal to nil" do
66
- attributes = Flickrie::Set.instance_methods -
67
- Object.instance_methods -
68
- [:photos, :videos, :media, :[], :get_info]
69
- set = Flickrie::Set.public_new
70
-
71
- attributes.each do |attribute|
72
- set.send(attribute).should be_nil
73
- end
74
- end
75
- end
76
- end
@@ -1,43 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Flickrie::UploadClient do
4
- context "content type" do
5
- it "should pass the content type", :vcr do
6
- photo_path = File.expand_path("../../files/photo.bla", __FILE__)
7
- photo_id = Flickrie.upload(photo_path, :content_type => "image/jpeg")
8
- Flickrie.photos_from_user(USER_NSID).map(&:id).should include(photo_id)
9
- Flickrie.delete_photo(photo_id)
10
- end
11
-
12
- it "should raise an error on unknown content type", :vcr do
13
- photo_path = File.expand_path("../../files/photo.bla", __FILE__)
14
- expect { Flickrie.upload(photo_path) }.to raise_error(Flickrie::Error)
15
- end
16
- end
17
-
18
- context "invalid credentials" do
19
- it "should raise errors", :vcr do
20
- Flickrie.api_key = nil
21
- Flickrie.shared_secret = nil
22
- Flickrie.access_token = nil
23
- Flickrie.access_secret = nil
24
-
25
- expect { Flickrie.upload(PHOTO_PATH) }.to raise_error(Flickrie::Error)
26
-
27
- Flickrie.api_key = ENV['FLICKR_API_KEY']
28
- expect { Flickrie.upload(PHOTO_PATH) }.to raise_error(Flickrie::Error)
29
-
30
- Flickrie.shared_secret = ENV['FLICKR_SHARED_SECRET']
31
- expect { Flickrie.upload(PHOTO_PATH) }.to raise_error(Flickrie::Error)
32
-
33
- Flickrie.access_token = ENV['FLICKR_ACCESS_TOKEN']
34
- expect { Flickrie.upload(PHOTO_PATH) }.to raise_error(Flickrie::Error)
35
-
36
- Flickrie.access_secret = ENV['FLICKR_ACCESS_SECRET']
37
- expect { Flickrie.upload(PHOTO_PATH) }.to_not raise_error
38
-
39
- photo = Flickrie.photos_from_user(USER_NSID).find { |photo| photo.title == "photo" }
40
- Flickrie.delete_photo(photo.id)
41
- end
42
- end
43
- end
@@ -1,84 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Flickrie::User do
4
- before(:all) do
5
- @attributes = {
6
- :id => USER_NSID,
7
- :nsid => USER_NSID,
8
- :username => USER_USERNAME,
9
- :real_name => USER_USERNAME,
10
- :location => "Zagreb, Croatia",
11
- :time_zone => {
12
- :label => "Sarajevo, Skopje, Warsaw, Zagreb",
13
- :offset => "+01:00"
14
- },
15
- :description => "I'm a programmer, and I'm gonna program a badass Ruby library for Flickr.",
16
- :icon_server => "5464",
17
- :icon_farm => 6,
18
- :pro? => false,
19
- :media_count => 98
20
- }
21
- end
22
-
23
- context "get info" do
24
- it "should have all attributes correctly set", :vcr do
25
- [
26
- Flickrie.get_user_info(USER_NSID),
27
- Flickrie::User.public_new('nsid' => USER_NSID).get_info
28
- ].
29
- each do |user|
30
- @attributes.keys.each do |attribute|
31
- user.send(attribute).should correspond_to(@attributes[attribute])
32
- end
33
-
34
- [:profile_url, :mobile_url, :photos_url, :buddy_icon_url].each do |attribute|
35
- user.send(attribute).should_not be_empty
36
- end
37
-
38
- [:first_taken, :first_uploaded].each do |time_attribute|
39
- user.send(time_attribute).should be_an_instance_of(Time)
40
- end
41
- end
42
- end
43
- end
44
-
45
- context "find by username or email" do
46
- it "should have all attributes correctly set", :vcr do
47
- [
48
- Flickrie.find_user_by_username(USER_USERNAME),
49
- Flickrie.find_user_by_email(USER_EMAIL)
50
- ].
51
- each do |user|
52
- user.id.should == USER_NSID
53
- user.nsid.should == USER_NSID
54
- user.username.should == USER_USERNAME
55
- end
56
- end
57
- end
58
-
59
- context "getting media" do
60
- it "should get the right kind of media", :vcr do
61
- user = Flickrie::User.public_new('nsid' => USER_NSID)
62
- user.public_photos.each { |object| object.should be_a_photo }
63
- user.public_videos.each { |object| object.should be_a_video }
64
- user.public_media.each { |object| object.should be_a_media }
65
- user.photos.each { |object| object.should be_a_photo }
66
- user.videos.each { |object| object.should be_a_video }
67
- user.media.each { |object| object.should be_a_media }
68
- end
69
- end
70
-
71
- context "blank user" do
72
- it "should have all attributes equal to nil" do
73
- attributes = Flickrie::User.instance_methods -
74
- Object.instance_methods -
75
- [:public_photos, :public_videos, :public_media,
76
- :photos, :videos, :media, :[], :get_info]
77
- user = Flickrie::User.public_new
78
-
79
- attributes.each do |attribute|
80
- user.send(attribute).should be_nil
81
- end
82
- end
83
- end
84
- end
@@ -1,52 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Flickrie::Video do
4
- context "get info" do
5
- it "should have all attributes correctly set", :vcr do
6
- video = Flickrie.get_video_info(VIDEO_ID)
7
-
8
- video.ready?.should be_true
9
- video.failed?.should be_false
10
- video.pending?.should be_false
11
-
12
- video.duration.should == 16
13
- video.width.should == 352
14
- video.height.should == 288
15
-
16
- video.source_url.should be_nil
17
- video.download_url.should be_nil
18
- video.mobile_download_url.should be_nil
19
- end
20
- end
21
-
22
- context "get sizes" do
23
- it "should have all attributes correctly set", :vcr do
24
- [
25
- Flickrie.get_video_sizes(VIDEO_ID),
26
- Flickrie::Video.public_new('id' => VIDEO_ID).get_sizes
27
- ].
28
- each do |video|
29
- [:can_download?, :can_blog?, :can_print?].each do |attribute|
30
- video.send(attribute).should be_a_boolean
31
- end
32
-
33
- video.source_url.should_not be_empty
34
- video.download_url.should_not be_empty
35
- video.mobile_download_url.should_not be_empty
36
- end
37
- end
38
- end
39
-
40
- context "blank" do
41
- it "should have attributes equal to nil" do
42
- attributes = Flickrie::Video.instance_methods -
43
- Flickrie::Media.instance_methods -
44
- Object.instance_methods -
45
- [:get_info, :get_sizes, :[]]
46
- video = Flickrie::Video.public_new
47
- attributes.each do |attribute|
48
- video.send(attribute).should be_nil
49
- end
50
- end
51
- end
52
- end
@@ -1,15 +0,0 @@
1
- describe Flickrie do
2
- context "a new credential is filled in" do
3
- it "should reset the client", :vcr do
4
- Flickrie.api_key = nil
5
- expect { Flickrie.get_licenses }.to raise_error(Flickrie::Error)
6
- expect { Flickrie.upload(PHOTO_PATH) }.to raise_error(Flickrie::Error)
7
- Flickrie.api_key = ENV['FLICKR_API_KEY']
8
- expect { Flickrie.get_licenses }.to_not raise_error(Flickrie::Error)
9
- expect { Flickrie.upload(PHOTO_PATH) }.to_not raise_error(Flickrie::Error)
10
-
11
- photo = Flickrie.photos_from_user(USER_NSID).find { |photo| photo.title == "photo" }
12
- Flickrie.delete_photo(photo.id)
13
- end
14
- end
15
- end
data/spec/spec_helper.rb DELETED
@@ -1,71 +0,0 @@
1
- # encoding: utf-8
2
- require 'flickrie'
3
- require 'vcr'
4
- begin require 'debugger'; rescue LoadError; end
5
- require 'custom_matchers'
6
-
7
- RSpec.configure do |c|
8
- c.before(:all) do
9
- Flickrie.api_key = ENV['FLICKR_API_KEY']
10
- Flickrie.shared_secret = ENV['FLICKR_SHARED_SECRET']
11
- Flickrie.access_token = ENV['FLICKR_ACCESS_TOKEN']
12
- Flickrie.access_secret = ENV['FLICKR_ACCESS_SECRET']
13
- end
14
- c.treat_symbols_as_metadata_keys_with_true_values = true
15
- c.around(:each, :vcr) do |example|
16
- # If you want to tag an example with :vcr, you have to wrap it in a context block
17
- klass = example.metadata[:example_group][:example_group][:description_args].first
18
- folder = klass.to_s.split('::').last.split(/(?=[A-Z])/).map(&:downcase).join('_')
19
- subfolder = example.metadata[:example_group][:description_args].first
20
- cassette_name = example.metadata[:description_args].first.match(/^should /).post_match
21
- VCR.use_cassette("#{folder}/#{subfolder}/#{cassette_name}") { example.call }
22
- end
23
- c.fail_fast = true
24
- end
25
-
26
- VCR.configure do |c|
27
- c.cassette_library_dir = 'spec/vcr_cassettes'
28
- c.hook_into :faraday
29
- c.default_cassette_options = {
30
- :record => :new_episodes,
31
- :serialize_with => :syck, # So it doesn't output in binary form
32
- :match_requests_on => [:method, VCR.request_matchers.uri_without_param(:api_key)] # Don't require the API key
33
- }
34
- c.filter_sensitive_data('API_KEY') { ENV['FLICKR_API_KEY'] }
35
- c.filter_sensitive_data('ACCESS_TOKEN') { ENV['FLICKR_ACCESS_TOKEN'] }
36
- end
37
-
38
- PHOTO_PATH = File.expand_path('../files/photo.jpg', __FILE__).freeze
39
- MEDIA_ID = '6946979188'.freeze
40
- PHOTO_ID = '6946979188'.freeze
41
- VIDEO_ID = '7093038981'.freeze
42
- SET_ID = '72157629851991663'.freeze
43
- USER_NSID = '67131352@N04'.freeze
44
- USER_USERNAME = 'Janko Marohnić'.freeze
45
- USER_EMAIL = 'janko.marohnic@gmail.com'.freeze
46
- EXTRAS = %w[license date_upload date_taken owner_name
47
- icon_server original_format last_update geo tags machine_tags
48
- o_dims views media path_alias url_sq url_q url_t url_s url_n
49
- url_m url_z url_c url_l url_o].join(',').freeze
50
- # for copying:
51
- # license,date_upload,date_taken,owner_name,icon_server,original_format,last_update,geo,tags,machine_tags,o_dims,views,media,path_alias,url_sq,url_q,url_t,url_s,url_n,url_m,url_z,url_c,url_l,url_o
52
-
53
- klasses = [Flickrie::Set, Flickrie::Photo, Flickrie::Video, Flickrie::Location, Flickrie::User]
54
- klasses.each do |klass|
55
- klass.instance_eval do
56
- def public_new(*args)
57
- new(*args)
58
- end
59
- end
60
- end
61
-
62
- class Hash
63
- def except!(*keys)
64
- keys.each { |key| delete(key) }
65
- self
66
- end
67
-
68
- def except(*keys)
69
- self.dup.except!(*keys)
70
- end
71
- end