purdie 0.0.4 → 0.0.5

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/_config/defaults.yaml +25 -0
  3. data/cruft.rb +9 -0
  4. data/features/comments.feature +32 -0
  5. data/features/flickr.feature +2 -0
  6. data/features/rfm.feature +69 -0
  7. data/features/select-file.feature +24 -0
  8. data/features/support/fixtures/vcr/First_contact_with_the_Real_World/Generate_YAML_for_the_Raw_Funk_Maharishi.yml +538 -0
  9. data/features/support/fixtures/vcr/Handle_comments/Handle_comments_in_a_source_file.yml +346 -0
  10. data/features/support/fixtures/vcr/Select_a_file_to_process/Choose_file_to_process.yml +224 -0
  11. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML.yml +41 -46
  12. data/features/support/fixtures/vcr/Soundcloud/Generate_SoundCloud_YAML_for_multiple_tracks.yml +42 -49
  13. data/features/support/hooks.rb +2 -2
  14. data/lib/purdie/bernard.rb +29 -16
  15. data/lib/purdie/cli.rb +4 -0
  16. data/lib/purdie/config.rb +3 -3
  17. data/lib/purdie/services/flickr.rb +1 -1
  18. data/lib/purdie/services/soundcloud.rb +1 -1
  19. data/lib/purdie/services/vimeo.rb +1 -1
  20. data/lib/purdie/version.rb +1 -1
  21. data/spec/services/flickr_spec.rb +5 -5
  22. data/spec/services/soundcloud_spec.rb +16 -4
  23. data/spec/services/vimeo_spec.rb +2 -2
  24. data/spec/spec_helper.rb +5 -3
  25. data/spec/vcr/Purdie_Services_Flickr/distills_data_for_a_photo_without_a_specific_photographer_tag.yml +123 -0
  26. data/spec/vcr/Purdie_Services_Flickr/distills_data_for_a_regular_photo.yml +125 -0
  27. data/spec/vcr/Purdie_Services_SoundCloud/deals_with_a_troublesome_bawbag.yml +230 -0
  28. data/spec/vcr/Purdie_Services_SoundCloud/distills_the_data.yml +222 -0
  29. data/spec/vcr/Purdie_Services_SoundCloud/extracts_a_track.yml +230 -0
  30. data/spec/vcr/Purdie_Services_SoundCloud/refines_the_data.yml +230 -0
  31. data/spec/vcr/Purdie_Services_Vimeo/distills_a_video.yml +41 -0
  32. metadata +31 -3
  33. /data/features/support/fixtures/{config → _config}/purdie.yaml +0 -0
data/lib/purdie/cli.rb CHANGED
@@ -9,8 +9,12 @@ module Purdie
9
9
  map %w(-v --version) => :version
10
10
 
11
11
  desc 'fetch', 'Fetch the data'
12
+ method_option :source_file,
13
+ :aliases => '-f',
14
+ :desc => 'Specify source file to process'
12
15
  def fetch
13
16
  b = Bernard.new
17
+ b.source_file options[:source_file] if options[:source_file]
14
18
  b.fetch
15
19
  end
16
20
  end
data/lib/purdie/config.rb CHANGED
@@ -3,10 +3,10 @@ require 'purdie'
3
3
  module Purdie
4
4
  class Config
5
5
  def initialize
6
- @conf = YAML.load File.read File.join(File.dirname(__FILE__), '..', '..', 'config/defaults.yaml')
6
+ @conf = YAML.load File.read File.join(File.dirname(__FILE__), '..', '..', '_config/defaults.yaml')
7
7
 
8
- if File.exists? 'config/purdie.yaml'
9
- y = YAML.load File.read 'config/purdie.yaml'
8
+ if File.exists? '_config/purdie.yaml'
9
+ y = YAML.load File.read '_config/purdie.yaml'
10
10
  @conf.deep_merge! y
11
11
  end
12
12
  end
@@ -21,7 +21,7 @@ module Purdie
21
21
  flickr.photos.getInfo(photo_id: id)
22
22
  end
23
23
 
24
- def refine url
24
+ def distill url
25
25
  photo = get_photo url
26
26
  results = {}
27
27
 
@@ -23,7 +23,7 @@ module Purdie
23
23
  end[0]
24
24
  end
25
25
 
26
- def refine url
26
+ def distill url
27
27
  track = get_track url
28
28
  results = {}
29
29
  results['title'] = track['title']
@@ -24,7 +24,7 @@ module Purdie
24
24
  JSON.parse response.body
25
25
  end
26
26
 
27
- def refine url
27
+ def distill url
28
28
  video = get_video url
29
29
  results = {}
30
30
 
@@ -1,3 +1,3 @@
1
1
  module Purdie
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -7,8 +7,8 @@ module Purdie
7
7
  @f = Flickr.new Config.new
8
8
  end
9
9
 
10
- it 'refines data for a regular photo', :vcr do
11
- expect(@f.refine 'https://www.flickr.com/photos/rawfunkmaharishi/15631479625/').to eq({
10
+ it 'distills data for a regular photo', :vcr do
11
+ expect(@f.distill 'https://www.flickr.com/photos/rawfunkmaharishi/15631479625/').to eq({
12
12
  "title"=>"The Comedy, October 2014",
13
13
  "date"=>"2014-10-22",
14
14
  "photo_page"=>"https://www.flickr.com/photos/rawfunkmaharishi/15631479625/",
@@ -19,8 +19,8 @@ module Purdie
19
19
  })
20
20
  end
21
21
 
22
- it 'refines data for a photo without a specific photographer tag', :vcr do
23
- expect(@f.refine 'https://www.flickr.com/photos/cluttercup/15950875724/').to eq ({
22
+ it 'distills data for a photo without a specific photographer tag', :vcr do
23
+ expect(@f.distill 'https://www.flickr.com/photos/cluttercup/15950875724/').to eq ({
24
24
  "title"=>"Raw Funk Maharishi",
25
25
  "date"=>"2015-02-18",
26
26
  "photo_page"=>"https://www.flickr.com/photos/cluttercup/15950875724/",
@@ -32,7 +32,7 @@ module Purdie
32
32
  end
33
33
 
34
34
  it 'falls back to the default photographer name', :vcr do
35
- expect(@f.refine('https://www.flickr.com/photos/pikesley/16649739916/')['photographer']).to eq 'pikesley'
35
+ expect(@f.distill('https://www.flickr.com/photos/pikesley/16649739916/')['photographer']).to eq 'pikesley'
36
36
  end
37
37
  end
38
38
  end
@@ -11,15 +11,15 @@ module Purdie
11
11
  expect(@sc.all_tracks).to be_a Array
12
12
  end
13
13
 
14
- it 'extracts a track' do
14
+ it 'extracts a track', :vcr do
15
15
  track = @sc.get_track 'https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1'
16
16
  expect(track).to be_a Hash
17
17
  expect(track['id']). to eq 193008299
18
18
  end
19
19
 
20
- it 'refines the data' do
21
- refined = @sc.refine 'https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1'
22
- expect(refined).to eq({
20
+ it 'distills the data', :vcr do
21
+ distilld = @sc.distill 'https://soundcloud.com/rawfunkmaharishi/hexaflexagon-1'
22
+ expect(distilld).to eq({
23
23
  "title"=>"Hexaflexagon",
24
24
  "id"=>193008299,
25
25
  "location"=>"Islington Academy",
@@ -27,6 +27,18 @@ module Purdie
27
27
  "license"=>"Attribution-NonCommercial-ShareAlike",
28
28
  "license_url"=>"http://creativecommons.org/licenses/by-nc-sa/4.0/"})
29
29
  end
30
+
31
+ it 'deals with a troublesome bawbag', :vcr do
32
+ distilld = @sc.distill 'https://soundcloud.com/rawfunkmaharishi/bernard'
33
+ expect(distilld).to eq({
34
+ "title"=>"Bernard",
35
+ "id"=>192841052,
36
+ "location"=>"Islington Academy",
37
+ "date"=>"2015-02-18",
38
+ "license"=>"Attribution-NonCommercial-ShareAlike",
39
+ "license_url"=>"http://creativecommons.org/licenses/by-nc-sa/4.0/"
40
+ })
41
+ end
30
42
  end
31
43
  end
32
44
  end
@@ -11,8 +11,8 @@ module Purdie
11
11
  expect(@v.get_video 'https://vimeo.com/117102891').to be_a Hash
12
12
  end
13
13
 
14
- it 'refines a video', :vcr do
15
- expect(@v.refine 'https://vimeo.com/117102891').to eq({
14
+ it 'distills a video', :vcr do
15
+ expect(@v.distill 'https://vimeo.com/117102891').to eq({
16
16
  "title"=>"Bernard",
17
17
  "id"=>117102891,
18
18
  "license"=>"Attribution-NonCommercial-ShareAlike",
data/spec/spec_helper.rb CHANGED
@@ -16,11 +16,13 @@ RSpec.configure do |config|
16
16
  config.order = :random
17
17
 
18
18
  config.before :each do
19
- FileUtils.cp File.join(File.dirname(__FILE__), '..', 'features/support/fixtures/config/purdie.yaml'),
20
- File.join(File.dirname(__FILE__), '..', 'config/purdie.yaml')
19
+ FileUtils.cp File.join(File.dirname(__FILE__), '..', 'features/support/fixtures/_config/purdie.yaml'),
20
+ File.join(File.dirname(__FILE__), '..', '_config/purdie.yaml')
21
+ FileUtils.mkdir_p File.join(File.dirname(__FILE__), '..', '_sources')
21
22
  end
22
23
 
23
24
  config.after :each do
24
- FileUtils.rm File.join(File.dirname(__FILE__), '..', 'config/purdie.yaml')
25
+ FileUtils.rm File.join(File.dirname(__FILE__), '..', '_config/purdie.yaml')
26
+ FileUtils.rmdir File.join(File.dirname(__FILE__), '..', '_sources')
25
27
  end
26
28
  end
@@ -0,0 +1,123 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.flickr.com/services/rest/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: photo_id=15950875724&method=flickr.photos.getInfo&format=json&nojsoncallback=1
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - FlickRaw/0.9.8
16
+ Authorization:
17
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
18
+ oauth_nonce="zeLROUaoZ6bzHPl1DdzMUvDMPR3YjSprpYdFxtfoklU%3D", oauth_signature="<FLICKR_SECRET>%26",
19
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1425416099", oauth_token="",
20
+ oauth_version="1.0"
21
+ Content-Type:
22
+ - application/x-www-form-urlencoded
23
+ response:
24
+ status:
25
+ code: 200
26
+ message: OK
27
+ headers:
28
+ Date:
29
+ - Tue, 03 Mar 2015 20:54:59 GMT
30
+ Content-Type:
31
+ - application/json
32
+ Content-Length:
33
+ - '543'
34
+ P3p:
35
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
36
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
37
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
38
+ Cache-Control:
39
+ - private
40
+ X-Served-By:
41
+ - www22.flickr.bf1.yahoo.com
42
+ Vary:
43
+ - Accept-Encoding
44
+ Age:
45
+ - '0'
46
+ Via:
47
+ - http/1.1 fts115.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
48
+ http/1.1 r19.ycpi.ir2.yahoo.net (ApacheTrafficServer [cMsSf ])
49
+ Server:
50
+ - ATS
51
+ Connection:
52
+ - keep-alive
53
+ body:
54
+ encoding: ASCII-8BIT
55
+ string: '{"photo":{"id":"15950875724","secret":"23d58be214","server":"7398","farm":8,"dateuploaded":"1424289792","isfavorite":0,"license":"2","safety_level":"0","rotation":0,"originalsecret":"24a89b0cfe","originalformat":"jpg","owner":{"nsid":"54115632@N00","username":"cluttercup","realname":"Jane
56
+ Dickson","location":"London, UK","iconserver":"7338","iconfarm":8,"path_alias":"cluttercup"},"title":{"_content":""},"description":{"_content":""},"visibility":{"ispublic":1,"isfriend":0,"isfamily":0},"dates":{"posted":"1424289792","taken":"2015-02-18
57
+ 16:56:20","takengranularity":"0","takenunknown":"0","lastupdate":"1424289832"},"views":"37","editability":{"cancomment":0,"canaddmeta":0},"publiceditability":{"cancomment":1,"canaddmeta":0},"usage":{"candownload":1,"canblog":0,"canprint":0,"canshare":1},"comments":{"_content":"0"},"notes":{"note":[]},"people":{"haspeople":0},"tags":{"tag":[]},"urls":{"url":[{"type":"photopage","_content":"https:\/\/www.flickr.com\/photos\/cluttercup\/15950875724\/"}]},"media":"photo"},"stat":"ok"}'
58
+ http_version:
59
+ recorded_at: Tue, 03 Mar 2015 20:54:59 GMT
60
+ - request:
61
+ method: post
62
+ uri: https://api.flickr.com/services/rest/
63
+ body:
64
+ encoding: US-ASCII
65
+ string: method=flickr.photos.licenses.getInfo&format=json&nojsoncallback=1
66
+ headers:
67
+ Accept-Encoding:
68
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
69
+ Accept:
70
+ - "*/*"
71
+ User-Agent:
72
+ - FlickRaw/0.9.8
73
+ Authorization:
74
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
75
+ oauth_nonce="VY2qScign6PYW0Ro7fZX%2BkSmyRBQKejSHNZR%2B5rYl3I%3D", oauth_signature="<FLICKR_SECRET>%26",
76
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1425416099", oauth_token="",
77
+ oauth_version="1.0"
78
+ Content-Type:
79
+ - application/x-www-form-urlencoded
80
+ response:
81
+ status:
82
+ code: 200
83
+ message: OK
84
+ headers:
85
+ Date:
86
+ - Tue, 03 Mar 2015 20:55:00 GMT
87
+ Content-Type:
88
+ - application/json
89
+ Content-Length:
90
+ - '314'
91
+ P3p:
92
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
93
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
94
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
95
+ Cache-Control:
96
+ - private
97
+ X-Served-By:
98
+ - www252.flickr.bf1.yahoo.com
99
+ Vary:
100
+ - Accept-Encoding
101
+ Age:
102
+ - '2'
103
+ Via:
104
+ - http/1.1 fts123.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
105
+ http/1.1 r17.ycpi.ams.yahoo.net (ApacheTrafficServer [cMsSf ])
106
+ Server:
107
+ - ATS
108
+ Connection:
109
+ - keep-alive
110
+ body:
111
+ encoding: ASCII-8BIT
112
+ string: '{"licenses":{"license":[{"id":"0","name":"All Rights Reserved","url":""},{"id":"4","name":"Attribution
113
+ License","url":"https:\/\/creativecommons.org\/licenses\/by\/2.0\/"},{"id":"6","name":"Attribution-NoDerivs
114
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nd\/2.0\/"},{"id":"3","name":"Attribution-NonCommercial-NoDerivs
115
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/"},{"id":"2","name":"Attribution-NonCommercial
116
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc\/2.0\/"},{"id":"1","name":"Attribution-NonCommercial-ShareAlike
117
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/2.0\/"},{"id":"5","name":"Attribution-ShareAlike
118
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-sa\/2.0\/"},{"id":"7","name":"No
119
+ known copyright restrictions","url":"https:\/\/www.flickr.com\/commons\/usage\/"},{"id":"8","name":"United
120
+ States Government Work","url":"http:\/\/www.usa.gov\/copyright.shtml"}]},"stat":"ok"}'
121
+ http_version:
122
+ recorded_at: Tue, 03 Mar 2015 20:55:00 GMT
123
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,125 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.flickr.com/services/rest/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: photo_id=15631479625&method=flickr.photos.getInfo&format=json&nojsoncallback=1
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - FlickRaw/0.9.8
16
+ Authorization:
17
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
18
+ oauth_nonce="VVYdZIrfyfpFHuMOqg2BA%2Bisgir1ml4%2B%2FFFmDO3gr14%3D", oauth_signature="<FLICKR_SECRET>%26",
19
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1425416098", oauth_token="",
20
+ oauth_version="1.0"
21
+ Content-Type:
22
+ - application/x-www-form-urlencoded
23
+ response:
24
+ status:
25
+ code: 200
26
+ message: OK
27
+ headers:
28
+ Date:
29
+ - Tue, 03 Mar 2015 20:54:58 GMT
30
+ Content-Type:
31
+ - application/json
32
+ Content-Length:
33
+ - '665'
34
+ P3p:
35
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
36
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
37
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
38
+ Cache-Control:
39
+ - private
40
+ X-Served-By:
41
+ - www319.flickr.bf1.yahoo.com
42
+ Vary:
43
+ - Accept-Encoding
44
+ Age:
45
+ - '0'
46
+ Via:
47
+ - http/1.1 fts113.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
48
+ http/1.1 r07.ycpi.ams.yahoo.net (ApacheTrafficServer [cMsSf ])
49
+ Server:
50
+ - ATS
51
+ Connection:
52
+ - keep-alive
53
+ body:
54
+ encoding: ASCII-8BIT
55
+ string: '{"photo":{"id":"15631479625","secret":"b6168ee903","server":"3933","farm":4,"dateuploaded":"1414326010","isfavorite":0,"license":"1","safety_level":"0","rotation":0,"originalsecret":"3191340cdb","originalformat":"jpg","owner":{"nsid":"128943844@N06","username":"rawfunkmaharishi","realname":"Raw
56
+ Funk Maharishi","location":"","iconserver":"3933","iconfarm":4,"path_alias":"rawfunkmaharishi"},"title":{"_content":"The
57
+ Comedy, October 2014"},"description":{"_content":""},"visibility":{"ispublic":1,"isfriend":0,"isfamily":0},"dates":{"posted":"1414326010","taken":"2014-10-22
58
+ 15:54:24","takengranularity":"0","takenunknown":"0","lastupdate":"1416111853"},"views":"92","editability":{"cancomment":0,"canaddmeta":0},"publiceditability":{"cancomment":1,"canaddmeta":0},"usage":{"candownload":1,"canblog":0,"canprint":0,"canshare":1},"comments":{"_content":"0"},"notes":{"note":[]},"people":{"haspeople":0},"tags":{"tag":[{"id":"128898522-15631479625-1422028","author":"128943844@N06","authorname":"rawfunkmaharishi","raw":"the
59
+ comedy","_content":"thecomedy","machine_tag":0},{"id":"128898522-15631479625-17975","author":"128943844@N06","authorname":"rawfunkmaharishi","raw":"gigs","_content":"gigs","machine_tag":0},{"id":"128898522-15631479625-228989594","author":"128943844@N06","authorname":"rawfunkmaharishi","raw":"photographer:kim","_content":"photographerkim","machine_tag":0}]},"urls":{"url":[{"type":"photopage","_content":"https:\/\/www.flickr.com\/photos\/rawfunkmaharishi\/15631479625\/"}]},"media":"photo"},"stat":"ok"}'
60
+ http_version:
61
+ recorded_at: Tue, 03 Mar 2015 20:54:58 GMT
62
+ - request:
63
+ method: post
64
+ uri: https://api.flickr.com/services/rest/
65
+ body:
66
+ encoding: US-ASCII
67
+ string: method=flickr.photos.licenses.getInfo&format=json&nojsoncallback=1
68
+ headers:
69
+ Accept-Encoding:
70
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
71
+ Accept:
72
+ - "*/*"
73
+ User-Agent:
74
+ - FlickRaw/0.9.8
75
+ Authorization:
76
+ - OAuth realm="https://api.flickr.com/services/rest/", oauth_consumer_key="<FLICKR_API_KEY>",
77
+ oauth_nonce="POoToL2%2BHBEVSE1Lt50VRY9qCMAlqvJ9oJpBo9JAzZE%3D", oauth_signature="<FLICKR_SECRET>%26",
78
+ oauth_signature_method="PLAINTEXT", oauth_timestamp="1425416098", oauth_token="",
79
+ oauth_version="1.0"
80
+ Content-Type:
81
+ - application/x-www-form-urlencoded
82
+ response:
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ headers:
87
+ Date:
88
+ - Tue, 03 Mar 2015 20:54:59 GMT
89
+ Content-Type:
90
+ - application/json
91
+ Content-Length:
92
+ - '314'
93
+ P3p:
94
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
95
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
96
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
97
+ Cache-Control:
98
+ - private
99
+ X-Served-By:
100
+ - www295.flickr.bf1.yahoo.com
101
+ Vary:
102
+ - Accept-Encoding
103
+ Age:
104
+ - '0'
105
+ Via:
106
+ - http/1.1 fts122.flickr.bf1.yahoo.com (ApacheTrafficServer/4.0.2 [cMsSf ]),
107
+ http/1.1 r19.ycpi.ir2.yahoo.net (ApacheTrafficServer [cMsSf ])
108
+ Server:
109
+ - ATS
110
+ Connection:
111
+ - keep-alive
112
+ body:
113
+ encoding: ASCII-8BIT
114
+ string: '{"licenses":{"license":[{"id":"0","name":"All Rights Reserved","url":""},{"id":"4","name":"Attribution
115
+ License","url":"https:\/\/creativecommons.org\/licenses\/by\/2.0\/"},{"id":"6","name":"Attribution-NoDerivs
116
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nd\/2.0\/"},{"id":"3","name":"Attribution-NonCommercial-NoDerivs
117
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-nd\/2.0\/"},{"id":"2","name":"Attribution-NonCommercial
118
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc\/2.0\/"},{"id":"1","name":"Attribution-NonCommercial-ShareAlike
119
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/2.0\/"},{"id":"5","name":"Attribution-ShareAlike
120
+ License","url":"https:\/\/creativecommons.org\/licenses\/by-sa\/2.0\/"},{"id":"7","name":"No
121
+ known copyright restrictions","url":"https:\/\/www.flickr.com\/commons\/usage\/"},{"id":"8","name":"United
122
+ States Government Work","url":"http:\/\/www.usa.gov\/copyright.shtml"}]},"stat":"ok"}'
123
+ http_version:
124
+ recorded_at: Tue, 03 Mar 2015 20:54:59 GMT
125
+ recorded_with: VCR 2.9.3