skydrive 0.1.4 → 0.1.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.
- checksums.yaml +7 -0
- data/Gemfile +4 -2
- data/lib/skydrive.rb +1 -0
- data/lib/skydrive/audio.rb +0 -37
- data/lib/skydrive/client.rb +1 -1
- data/lib/skydrive/file.rb +1 -1
- data/lib/skydrive/object.rb +1 -1
- data/lib/skydrive/operations.rb +7 -2
- data/lib/skydrive/photo.rb +82 -8
- data/lib/skydrive/user.rb +9 -8
- data/lib/skydrive/version.rb +1 -1
- data/lib/skydrive/video.rb +0 -12
- data/skydrive.gemspec +2 -1
- data/spec/skydrive/audio_spec.rb +81 -0
- data/spec/skydrive/comment_spec.rb +11 -6
- data/spec/skydrive/file_spec.rb +40 -0
- data/spec/skydrive/oauth/client_spec.rb +1 -1
- data/spec/skydrive/object_spec.rb +63 -4
- data/spec/skydrive/photo_spec.rb +254 -0
- data/spec/skydrive/user_spec.rb +12 -0
- data/spec/skydrive/video_spec.rb +4 -0
- metadata +59 -79
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8dd29de148895797d3e7940429482ab71fffe3f8
|
4
|
+
data.tar.gz: 423f8fb0f4dcee7445107e63b503129909f297ae
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b55e670e67eaecf4461b7db75d2a0c802532f195af8bbeb8669cf7e58204c64b213483495698a49f44a293c18d5775976abb89b0a903b7e0e8736f66517865c6
|
7
|
+
data.tar.gz: b29844c21ec9b74a0072ddd350c48e53e70a18eb972dc66f058cc7facf326534ef3597a41b5e7b5de2ddb278a345a8f1521ac89cb86d491410ce6421ffae89aa
|
data/Gemfile
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
2
|
|
3
3
|
group :osx do
|
4
4
|
gem "growl"
|
5
|
+
gem 'terminal-notifier'
|
6
|
+
gem 'terminal-notifier-guard'
|
5
7
|
end
|
6
8
|
|
7
9
|
group :linux do
|
8
|
-
gem "rb-inotify",
|
10
|
+
gem "rb-inotify", '~> 0.9'
|
9
11
|
gem "libnotify"
|
10
12
|
end
|
11
13
|
|
data/lib/skydrive.rb
CHANGED
data/lib/skydrive/audio.rb
CHANGED
@@ -2,30 +2,6 @@ module Skydrive
|
|
2
2
|
# A user's audio file in SkyDrive.
|
3
3
|
class Audio < Skydrive::File
|
4
4
|
|
5
|
-
# The size, in bytes, of the audio
|
6
|
-
# @return [Integer]
|
7
|
-
def size
|
8
|
-
object["size"]
|
9
|
-
end
|
10
|
-
|
11
|
-
# The number of comments associated with the audio
|
12
|
-
# @return [Integer]
|
13
|
-
def comments_count
|
14
|
-
object["comments_count"]
|
15
|
-
end
|
16
|
-
|
17
|
-
# A value that indicates whether comments are enabled for the audio
|
18
|
-
# @return [Boolean]
|
19
|
-
def comments_enabled
|
20
|
-
object["comments_enabled"]
|
21
|
-
end
|
22
|
-
|
23
|
-
# The URL to use to download the audio from SkyDrive
|
24
|
-
# @return [String]
|
25
|
-
def source
|
26
|
-
object["source"]
|
27
|
-
end
|
28
|
-
|
29
5
|
# The audio's title
|
30
6
|
# @return [String]
|
31
7
|
def title
|
@@ -68,18 +44,5 @@ module Skydrive
|
|
68
44
|
object["picture"]
|
69
45
|
end
|
70
46
|
|
71
|
-
# The link that can be used to download the audio file
|
72
|
-
# @return [String]
|
73
|
-
def download_link
|
74
|
-
url = client.get("/#{id}/content", :download => true, :suppress_redirects => true)["location"]
|
75
|
-
end
|
76
|
-
|
77
|
-
# Download the audio file
|
78
|
-
def download
|
79
|
-
uri = URI(download_link)
|
80
|
-
response = HTTParty.get("http://#{uri.host}#{uri.path}?#{uri.query}")
|
81
|
-
response.parsed_response
|
82
|
-
end
|
83
|
-
|
84
47
|
end
|
85
48
|
end
|
data/lib/skydrive/client.rb
CHANGED
data/lib/skydrive/file.rb
CHANGED
data/lib/skydrive/object.rb
CHANGED
data/lib/skydrive/operations.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Skydrive
|
2
2
|
# The basic operations
|
3
3
|
module Operations
|
4
|
-
|
4
|
+
|
5
5
|
# Your home folder
|
6
6
|
# @return [Skydrive::Folder]
|
7
7
|
def my_skydrive
|
@@ -120,6 +120,11 @@ module Skydrive
|
|
120
120
|
response = put("/#{object_id}", options)
|
121
121
|
end
|
122
122
|
|
123
|
+
# Get an object by its id
|
124
|
+
# @param [String] id The id of the object you want
|
125
|
+
def get_skydrive_object_by_id id
|
126
|
+
response = get("/#{id}")
|
127
|
+
end
|
123
128
|
|
124
129
|
alias :update_folder :update_skydrive_object
|
125
130
|
alias :update_album :update_skydrive_object
|
@@ -169,7 +174,7 @@ module Skydrive
|
|
169
174
|
# Comment about an object
|
170
175
|
# @param [String] object_id ID of the object
|
171
176
|
# @param [Hash] options
|
172
|
-
# @
|
177
|
+
# @option options [String] :message The comment message
|
173
178
|
def create_comment object_id, options={}
|
174
179
|
response = post("/#{object_id}/comments", options)
|
175
180
|
end
|
data/lib/skydrive/photo.rb
CHANGED
@@ -1,17 +1,91 @@
|
|
1
1
|
module Skydrive
|
2
2
|
# A user's photo in SkyDrive.
|
3
3
|
class Photo < Skydrive::File
|
4
|
-
|
4
|
+
|
5
|
+
# The number of tags on the photo
|
6
|
+
# @return [Integer]
|
7
|
+
def tags_count
|
8
|
+
object["tags_count"]
|
9
|
+
end
|
10
|
+
|
11
|
+
# Whether tags are enabled for the photo
|
12
|
+
# @return [Integer]
|
13
|
+
def tags_enabled?
|
14
|
+
object["tags_enabled"]
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
# A URL of the photo's picture.
|
5
19
|
# @return [String]
|
6
|
-
def
|
7
|
-
|
20
|
+
def picture
|
21
|
+
object["picture"]
|
22
|
+
end
|
23
|
+
|
24
|
+
# Info about various sizes of the photos
|
25
|
+
# @return [Array<Hash>]
|
26
|
+
def images
|
27
|
+
object["images"]
|
28
|
+
end
|
29
|
+
|
30
|
+
# Time when the photo was taken
|
31
|
+
# @return [Time]
|
32
|
+
def when_taken
|
33
|
+
Time.new object["when_taken"] if object["when_taken"]
|
34
|
+
end
|
35
|
+
|
36
|
+
# Height of the photo in pixels
|
37
|
+
# @return [Integer]
|
38
|
+
def height
|
39
|
+
object["height"]
|
8
40
|
end
|
9
41
|
|
10
|
-
#
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
response.parsed_response
|
42
|
+
# Width of the photo in pixels
|
43
|
+
# @return [Integer]
|
44
|
+
def width
|
45
|
+
object["width"]
|
15
46
|
end
|
47
|
+
|
48
|
+
# The location where the photo was taken.
|
49
|
+
# @return [Hash]
|
50
|
+
def location
|
51
|
+
object["location"]
|
52
|
+
end
|
53
|
+
|
54
|
+
# The manufacturer of the camera that took the photo.
|
55
|
+
# @return [String]
|
56
|
+
def camera_make
|
57
|
+
object["camera_make"]
|
58
|
+
end
|
59
|
+
|
60
|
+
# The brand and model number of the camera that took the photo.
|
61
|
+
# @return [String]
|
62
|
+
def camera_model
|
63
|
+
object["camera_model"]
|
64
|
+
end
|
65
|
+
|
66
|
+
# The f-number that the photo was taken at
|
67
|
+
# @return [Float]
|
68
|
+
def focal_ratio
|
69
|
+
object["focal_ratio"]
|
70
|
+
end
|
71
|
+
|
72
|
+
# The focal length that the photo was taken at
|
73
|
+
# @return [Float]
|
74
|
+
def focal_length
|
75
|
+
object["focal_length"]
|
76
|
+
end
|
77
|
+
|
78
|
+
# The numerator of the shutter speed that the photo was taken at
|
79
|
+
# @return [Integer]
|
80
|
+
def exposure_numerator
|
81
|
+
object["exposure_numerator"]
|
82
|
+
end
|
83
|
+
|
84
|
+
# The denominator of the shutter speed that the photo was taken at
|
85
|
+
# @return [Integer]
|
86
|
+
def exposure_denominator
|
87
|
+
object["exposure_denominator"]
|
88
|
+
end
|
89
|
+
|
16
90
|
end
|
17
91
|
end
|
data/lib/skydrive/user.rb
CHANGED
@@ -4,49 +4,50 @@ module Skydrive
|
|
4
4
|
# User's home directory
|
5
5
|
# @return [Skydrive::Folder]
|
6
6
|
def skydrive
|
7
|
-
response = get("/#{id}/skydrive")
|
7
|
+
response = client.get("/#{id}/skydrive")
|
8
|
+
Skydrive::Folder.new(client, response)
|
8
9
|
end
|
9
10
|
|
10
11
|
# User's camera_roll folder
|
11
12
|
# @return [Skydrive::Folder]
|
12
13
|
def camera_roll
|
13
|
-
response = get("/#{id}/skydrive/camera_roll")
|
14
|
+
response = client.get("/#{id}/skydrive/camera_roll")
|
14
15
|
end
|
15
16
|
|
16
17
|
# User's documents
|
17
18
|
# @return [Skydrive::Folder]
|
18
19
|
def documents
|
19
|
-
response = get("/#{id}/skydrive/my_documents")
|
20
|
+
response = client.get("/#{id}/skydrive/my_documents")
|
20
21
|
end
|
21
22
|
|
22
23
|
# User's default album
|
23
24
|
# @return [Skydrive::Album]
|
24
25
|
def photos
|
25
|
-
response = get("/#{id}/skydrive/my_photos")
|
26
|
+
response = client.get("/#{id}/skydrive/my_photos")
|
26
27
|
end
|
27
28
|
|
28
29
|
# User's public documents
|
29
30
|
# @return [Skydrive::Folder]
|
30
31
|
def public_documents
|
31
|
-
response = get("/#{id}/skydrive/public_documents")
|
32
|
+
response = client.get("/#{id}/skydrive/public_documents")
|
32
33
|
end
|
33
34
|
|
34
35
|
# User's shared items
|
35
36
|
# @return [Skydrive::Collection]
|
36
37
|
def shared_stuff
|
37
|
-
response = get("/#{id}/skydrive/shared")
|
38
|
+
response = client.get("/#{id}/skydrive/shared")
|
38
39
|
end
|
39
40
|
|
40
41
|
# User's recent documents
|
41
42
|
# @return [Skydrive::Collection]
|
42
43
|
def recent_documents
|
43
|
-
response = get("/#{id}/skydrive/recent_docs")
|
44
|
+
response = client.get("/#{id}/skydrive/recent_docs")
|
44
45
|
end
|
45
46
|
|
46
47
|
# User's total and remaining storage quota
|
47
48
|
# @return [Hash] contains keys quota and available
|
48
49
|
def storage_quota
|
49
|
-
response = get("/#{id}/skydrive/quota")
|
50
|
+
response = client.get("/#{id}/skydrive/quota")
|
50
51
|
end
|
51
52
|
|
52
53
|
end
|
data/lib/skydrive/version.rb
CHANGED
data/lib/skydrive/video.rb
CHANGED
@@ -1,17 +1,5 @@
|
|
1
1
|
module Skydrive
|
2
2
|
# A user's video in SkyDrive.
|
3
3
|
class Video < Skydrive::File
|
4
|
-
# The link that can be used to download the video file
|
5
|
-
# @return [String]
|
6
|
-
def download_link
|
7
|
-
url = client.get("/#{id}/content", :download => true, :suppress_redirects => true)["location"]
|
8
|
-
end
|
9
|
-
|
10
|
-
# Download the video file
|
11
|
-
def download
|
12
|
-
uri = URI(download_link)
|
13
|
-
response = HTTParty.get("http://#{uri.host}#{uri.path}?#{uri.query}")
|
14
|
-
response.parsed_response
|
15
|
-
end
|
16
4
|
end
|
17
5
|
end
|
data/skydrive.gemspec
CHANGED
@@ -19,10 +19,11 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.add_dependency 'httparty', '>= 0.11.0'
|
20
20
|
gem.add_dependency 'activesupport'
|
21
21
|
gem.add_dependency 'httmultiparty'
|
22
|
-
gem.add_dependency 'oauth2'
|
22
|
+
gem.add_dependency 'oauth2', ">= 0.9.2"
|
23
23
|
gem.add_development_dependency "rspec"
|
24
24
|
gem.add_development_dependency "rake"
|
25
25
|
gem.add_development_dependency "rb-inotify"
|
26
|
+
gem.add_development_dependency "rb-fsevent", "~> 0.9"
|
26
27
|
gem.add_development_dependency "guard"
|
27
28
|
gem.add_development_dependency "guard-rspec"
|
28
29
|
gem.add_development_dependency "simplecov"
|
data/spec/skydrive/audio_spec.rb
CHANGED
@@ -0,0 +1,81 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe Skydrive::Audio do
|
3
|
+
|
4
|
+
let :audio do
|
5
|
+
JSON.load %{
|
6
|
+
{
|
7
|
+
"id" : "file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E\!144",
|
8
|
+
"from" : {
|
9
|
+
"name" : "Stig Struve-Christensen",
|
10
|
+
"id" : "a6b2a7e8f2515e5e"
|
11
|
+
},
|
12
|
+
"name" : "SampleAudio.mp3",
|
13
|
+
"description" : null,
|
14
|
+
"parent_id" : "folder.a6b2a7e8f2515e5e",
|
15
|
+
"size" : 8414449,
|
16
|
+
"upload_location" : "https://apis.live.net/v5.0/file.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!144/content/",
|
17
|
+
"comments_count" : 0,
|
18
|
+
"comments_enabled" : false,
|
19
|
+
"is_embeddable" : false,
|
20
|
+
"source" : "http://storage.live.com/s1p60U8Xs4UzIXTScrTioalE-ZaVFiDQBA15MS2BwcsuNjfG64Z2fw-DAjXnPuqC47YR40_xAoPD8aRGhtna9ZFZ9_oO4BTz4CWF973DTXMxc5U3TntcQ9qEA/SampleAudio.mp3:Binary",
|
21
|
+
"link" : "https://skydrive.live.com/redir.aspx?cid\u003d22688711f5410e6c\u0026page\u003dview\u0026resid\u003d22688711F5410E6C!582\u0026parid\u003d22688711F5410E6C!581",
|
22
|
+
"type" : "audio",
|
23
|
+
"title" : "My Sample Audio",
|
24
|
+
"artist" : "My Favorite Artist",
|
25
|
+
"album" : "My Favorite Album",
|
26
|
+
"album_artist" : "My Favorite Artist",
|
27
|
+
"genre" : "Easy Listening",
|
28
|
+
"duration" : 225000,
|
29
|
+
"picture" : "https://storage.live.com/items/A6B2A7E8F2515E5E!144:MobileReady/SampleAudio.mp3?psid=1&ck=0&ex=720",
|
30
|
+
"shared_with" : {
|
31
|
+
"access" : "Just me"
|
32
|
+
},
|
33
|
+
"created_time" : "2012-09-23T22:00:57+0000",
|
34
|
+
"updated_time" : "2012-09-03T22:00:57+0000"
|
35
|
+
}
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
subject {Skydrive::Audio.new(skydrive_test_client, audio)}
|
40
|
+
describe '#title' do
|
41
|
+
it "should return the title of the audio" do
|
42
|
+
subject.title.should == audio["title"]
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe '#artist' do
|
47
|
+
it "should return the artist's name for the audio" do
|
48
|
+
subject.artist.should == audio["artist"]
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe '#album' do
|
53
|
+
it "should return the album name" do
|
54
|
+
subject.album.should == audio["album"]
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe '#album_artist' do
|
59
|
+
it "should return the name of the album artist" do
|
60
|
+
subject.album_artist.should == audio["album_artist"]
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe '#genre' do
|
65
|
+
it "should return the genre of the audio" do
|
66
|
+
subject.genre.should == audio["genre"]
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe '#duration' do
|
71
|
+
it "should return the duration of the audio" do
|
72
|
+
subject.duration.should == audio["duration"]
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe '#picture' do
|
77
|
+
it "should return the url to view the audio's picture on SkyDrive" do
|
78
|
+
subject.picture.should == audio["picture"]
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -13,14 +13,19 @@ describe Skydrive::Comment do
|
|
13
13
|
})
|
14
14
|
end
|
15
15
|
|
16
|
-
subject {skydrive_test_client}
|
16
|
+
subject { Skydrive::Comment.new(skydrive_test_client, comment)}
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
@comment = skydrive_test_client.get("/comment.22688711f5410e6c.22688711f0410e6c!818.22688711F5410E6C!979")
|
18
|
+
it "should return the message associated with the comment" do
|
19
|
+
subject.message.should eql "A lighthouse built on some rocks."
|
21
20
|
end
|
22
21
|
|
23
|
-
it "should return
|
24
|
-
|
22
|
+
it "should return comment as the type" do
|
23
|
+
subject.type.should == "comment"
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should delete the comment" do
|
27
|
+
stub_request(:delete, "https://apis.live.net/v5.0/comment.22688711f5410e6c.22688711f0410e6c!818.22688711F5410E6C!979?access_token=access_token").
|
28
|
+
to_return(:status => 204, :body => "", :headers => {})
|
29
|
+
subject.delete.should be_true
|
25
30
|
end
|
26
31
|
end
|
data/spec/skydrive/file_spec.rb
CHANGED
@@ -37,4 +37,44 @@ describe Skydrive::File do
|
|
37
37
|
subject.from.should be_a(Skydrive::User)
|
38
38
|
end
|
39
39
|
end
|
40
|
+
|
41
|
+
describe '#size' do
|
42
|
+
it "should return the size of the file in bytes" do
|
43
|
+
subject.size.should == file["size"]
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe '#comments_count' do
|
48
|
+
it "should return the count of comments associated with the file" do
|
49
|
+
subject.comments_count.should == file["comments_count"]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe '#comments_enabled?' do
|
54
|
+
it "should return whether comments are enabled for the file" do
|
55
|
+
subject.should be_comments_enabled
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe '#source' do
|
60
|
+
it "should return the URL to use to download the file from SkyDrive" do
|
61
|
+
subject.source.should == file["source"]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe '#download_link' do
|
66
|
+
it "should give the download link for the file" do
|
67
|
+
stub_request(:get, "https://apis.live.net/v5.0/file.22688711f5410e6c.22688711F5410E6C!942/content?access_token=access_token&download=true&suppress_redirects=true").to_return(:status => 200, :body => {"location" => "http://dummylocation.com"}.to_json, :headers => {})
|
68
|
+
subject.download_link.should == "http://dummylocation.com"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe '#download' do
|
73
|
+
it "should download the file" do
|
74
|
+
stub_request(:get, "https://apis.live.net/v5.0/file.22688711f5410e6c.22688711F5410E6C!942/content?access_token=access_token&download=true&suppress_redirects=true").to_return(:status => 200, :body => {"location" => "http://dummylocation.com/path?dummy_param=value"}.to_json, :headers => {})
|
75
|
+
stub_request(:get, "http://dummylocation.com/path?dummy_param=value").
|
76
|
+
to_return(:status => 200, :body => "\322\204\371\225Q", :headers => {})
|
77
|
+
subject.download.should == "\322\204\371\225Q"
|
78
|
+
end
|
79
|
+
end
|
40
80
|
end
|
@@ -35,7 +35,7 @@ describe Skydrive::Oauth::Client do
|
|
35
35
|
:headers => {
|
36
36
|
'Accept' => '*/*',
|
37
37
|
'Content-Type' => 'application/x-www-form-urlencoded',
|
38
|
-
'User-Agent' =>
|
38
|
+
'User-Agent' => "Faraday v#{Gem.loaded_specs['faraday'].version}"
|
39
39
|
}
|
40
40
|
).to_return(
|
41
41
|
:status => 200, :body => {
|
@@ -31,14 +31,14 @@ describe Skydrive::Object do
|
|
31
31
|
subject.id.should == "folder.8c8ce076ca27823f.8C8CE076CA27823F!142"
|
32
32
|
end
|
33
33
|
|
34
|
-
it "should return the owner user of the object" do
|
35
|
-
subject.from.should be_a(Skydrive::User)
|
36
|
-
end
|
37
|
-
|
38
34
|
it "should return the name of the object" do
|
39
35
|
subject.name.should == "My Sample Folder in Album 1"
|
40
36
|
end
|
41
37
|
|
38
|
+
it "should return the owner user of the object" do
|
39
|
+
subject.from.should be_a(Skydrive::User)
|
40
|
+
end
|
41
|
+
|
42
42
|
it "should return the description of the object" do
|
43
43
|
subject.description.should == ""
|
44
44
|
end
|
@@ -79,4 +79,63 @@ describe Skydrive::Object do
|
|
79
79
|
subject.to_hash.should == folder
|
80
80
|
end
|
81
81
|
|
82
|
+
it "should delete the object" do
|
83
|
+
stub_request(:delete, "https://apis.live.net/v5.0/folder.8c8ce076ca27823f.8C8CE076CA27823F!142?access_token=access_token").to_return(:status => 204, :body => "", :headers => {})
|
84
|
+
subject.delete.should == true
|
85
|
+
end
|
86
|
+
|
87
|
+
describe '#comments' do
|
88
|
+
|
89
|
+
let :comments do
|
90
|
+
JSON.load(%{{
|
91
|
+
"data": [
|
92
|
+
{
|
93
|
+
"id": "comment.22688711f5410e6c.22688711f0410e6c!818.22688711F5410E6C!979",
|
94
|
+
"from": {
|
95
|
+
"name": "Roberto Tamburello",
|
96
|
+
"id": "8c8ce076ca27823f"
|
97
|
+
},
|
98
|
+
"message": "A lighthouse built on some rocks.",
|
99
|
+
"created_time": "2011-04-21T23:21:28+0000"
|
100
|
+
}
|
101
|
+
]
|
102
|
+
}})
|
103
|
+
end
|
104
|
+
before :each do
|
105
|
+
stub_request(:get, "https://apis.live.net/v5.0/folder.8c8ce076ca27823f.8C8CE076CA27823F!142/comments?access_token=access_token").to_return(:status => 200, :body => comments.to_json, :headers => {})
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should return a collection" do
|
109
|
+
subject.comments.should be_a Skydrive::Collection
|
110
|
+
end
|
111
|
+
|
112
|
+
it "should get the comments associated with the object" do
|
113
|
+
subject.comments.items.should each { |item|
|
114
|
+
item.should be_a Skydrive::Comment
|
115
|
+
}
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
describe '#comment' do
|
120
|
+
let :comment do
|
121
|
+
JSON.load(%{
|
122
|
+
{
|
123
|
+
"id": "comment.22688711f5410e6c.22688711f0410e6c!818.22688711F5410E6C!979",
|
124
|
+
"from": {
|
125
|
+
"name": "Roberto Tamburello",
|
126
|
+
"id": "8c8ce076ca27823f"
|
127
|
+
},
|
128
|
+
"message": "A lighthouse built on some rocks.",
|
129
|
+
"created_time": "2011-04-21T23:21:28+0000"
|
130
|
+
}
|
131
|
+
})
|
132
|
+
|
133
|
+
end
|
134
|
+
it 'should add a comment for the object' do
|
135
|
+
stub_request(:post, "https://apis.live.net/v5.0/folder.8c8ce076ca27823f.8C8CE076CA27823F!142/comments?access_token=access_token").with({:messge => "hello"}).to_return(:status => 200, :body => comment.to_json, :headers => {})
|
136
|
+
subject.comment.should be_a Skydrive::Comment
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
140
|
+
|
82
141
|
end
|
data/spec/skydrive/photo_spec.rb
CHANGED
@@ -0,0 +1,254 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe Skydrive::Photo do
|
3
|
+
let :photo do
|
4
|
+
JSON.load %{
|
5
|
+
{
|
6
|
+
"id": "file.de57f4126ed7e411.DE57F4126ED7E411!128",
|
7
|
+
"from": {
|
8
|
+
"name": "Nuno Bento",
|
9
|
+
"id": "de57f4126ed7e411"
|
10
|
+
},
|
11
|
+
"name": "Maui-2012_0034.JPG",
|
12
|
+
"description": null,
|
13
|
+
"parent_id": "folder.de57f4126ed7e411.DE57F4126ED7E411!126",
|
14
|
+
"size": 561683,
|
15
|
+
"comments_count": 1,
|
16
|
+
"comments_enabled": true,
|
17
|
+
"tags_count": 0,
|
18
|
+
"tags_enabled": true,
|
19
|
+
"is_embeddable": true,
|
20
|
+
"picture": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:Thumbnail",
|
21
|
+
"source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:HighRes",
|
22
|
+
"upload_location": "https://apis.live.net/v5.0/file.de57f4126ed7e411.DE57F4126ED7E411!128/content/",
|
23
|
+
"images": [
|
24
|
+
{
|
25
|
+
"height": 450,
|
26
|
+
"width": 600,
|
27
|
+
"source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:WebReady",
|
28
|
+
"type": "normal"
|
29
|
+
}, {
|
30
|
+
"height": 132,
|
31
|
+
"width": 176,
|
32
|
+
"source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:MobileReady",
|
33
|
+
"type": "album"
|
34
|
+
}, {
|
35
|
+
"height": 72,
|
36
|
+
"width": 96,
|
37
|
+
"source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:Thumbnail",
|
38
|
+
"type": "thumbnail"
|
39
|
+
}, {
|
40
|
+
"height": 1200,
|
41
|
+
"width": 1600,
|
42
|
+
"source": "http://storage.live.com/s1pKk5vzd-gdPanbzKYhB0nQGn8wGq5DSgqvrgIHU1NTXA4e2-spGkAhQjW1d9pcgKAGLB4NsEsSvDoREmdx5w-JiFrinEJJuEoz08Ws_IFupkX2bPSvy5qmths9ijwvDrXi1OBCWk9GW9Kt-qNNOAA9g/Maui09_0034.JPG:HighRes",
|
43
|
+
"type": "full"
|
44
|
+
}
|
45
|
+
],
|
46
|
+
"link": "https://skydrive.live.com/redir.aspx?cid\u003dde57f4126ed7e411\u0026page\u003dview\u0026resid\u003dDE57F4126ED7E411!128\u0026parid\u003dDE57F4126ED7E411!126",
|
47
|
+
"when_taken": "2008-03-24T23:41:53+0000",
|
48
|
+
"height": 1200,
|
49
|
+
"width": 1600,
|
50
|
+
"type": "photo",
|
51
|
+
"location": {
|
52
|
+
"latitude": 47.65316,
|
53
|
+
"longitude": -122.135911,
|
54
|
+
"altitude": 43
|
55
|
+
},
|
56
|
+
"camera_make": "MyManufacturer",
|
57
|
+
"camera_model": "MyModel",
|
58
|
+
"focal_ratio": 2.8,
|
59
|
+
"focal_length": 3.85,
|
60
|
+
"exposure_numerator": 1,
|
61
|
+
"exposure_denominator": 15,
|
62
|
+
"shared_with": {
|
63
|
+
"access": "Everyone (public)"
|
64
|
+
},
|
65
|
+
"created_time": "2012-12-03T18:14:03+0000",
|
66
|
+
"updated_time": "2012-12-03T18:31:01+0000"
|
67
|
+
}
|
68
|
+
}
|
69
|
+
end
|
70
|
+
|
71
|
+
subject { Skydrive::Photo.new(skydrive_test_client, photo)}
|
72
|
+
|
73
|
+
describe '#name' do
|
74
|
+
it "should return the name of the photo" do
|
75
|
+
subject.name.should == photo["name"]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe '#description' do
|
80
|
+
it "should return the description of the photo" do
|
81
|
+
subject.description.should == photo["description"]
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe '#from' do
|
86
|
+
it "should return a user" do
|
87
|
+
subject.from.should be_a Skydrive::User
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should return the info about the user who uploaded the photo" do
|
91
|
+
subject.from.name.should == photo["from"]["name"]
|
92
|
+
subject.from.id.should == photo["from"]["id"]
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
describe '#tags_count' do
|
97
|
+
it "should give the tags count of the photo" do
|
98
|
+
subject.tags_count.should == 0
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
describe '#tags_enabled' do
|
103
|
+
it "should return whether tags are enabled for the photo" do
|
104
|
+
subject.tags_enabled?.should == true
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
describe '#parent_id' do
|
109
|
+
it "should return the parent id of the photo" do
|
110
|
+
subject.parent_id.should == photo["parent_id"]
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe '#size' do
|
115
|
+
it "should return the size of the photo in bytes" do
|
116
|
+
subject.size.should == photo["size"]
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
describe '#comments_count' do
|
121
|
+
it "should return the comments associated with the photo" do
|
122
|
+
subject.comments_count.should == photo["comments_count"]
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
describe '#comments_enabled?' do
|
127
|
+
it "should return whether tags are enabled for the photo" do
|
128
|
+
subject.comments_enabled?.should == true
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
describe '#is_embeddable? ' do
|
133
|
+
it "should return whether the photo can be embedded" do
|
134
|
+
subject.is_embeddable?.should == true
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
describe '#picture' do
|
139
|
+
it "should return the URL of the photo's picture" do
|
140
|
+
subject.picture.should == photo["picture"]
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
describe '#source' do
|
145
|
+
it 'should return the download URL for the photo.' do
|
146
|
+
subject.source.should == photo["source"]
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe 'upload_location' do
|
151
|
+
it "should return the photo's upload location" do
|
152
|
+
subject.upload_location.should == photo["upload_location"]
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe '#images' do
|
157
|
+
it "should return info about the photo's sizes" do
|
158
|
+
subject.images.should == photo["images"]
|
159
|
+
end
|
160
|
+
|
161
|
+
it "should all have hieght, width, source and type" do
|
162
|
+
subject.images.should each { |image|
|
163
|
+
image.keys.should =~ ["height", "source", "type", "width"]
|
164
|
+
}
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
describe '#link' do
|
169
|
+
it "should return the url of the photo hosted in Skydrive" do
|
170
|
+
subject.link.should == photo["link"]
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
describe '#when_taken' do
|
175
|
+
it "should return the time when the photo was taken" do
|
176
|
+
subject.when_taken.should == Time.new(photo["when_taken"])
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
describe '#download_link' do
|
181
|
+
it "should give the download link for the photo" do
|
182
|
+
stub_request(:get, "https://apis.live.net/v5.0/file.de57f4126ed7e411.DE57F4126ED7E411!128/content?access_token=access_token&download=true&suppress_redirects=true").to_return(:status => 200, :body => {"location" => "http://dummylocation.com"}.to_json, :headers => {})
|
183
|
+
subject.download_link.should == "http://dummylocation.com"
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
describe '#height' do
|
188
|
+
it "should return the height of the photo" do
|
189
|
+
subject.height.should == photo["height"]
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
describe '#width' do
|
194
|
+
it "should return the width of the photo" do
|
195
|
+
subject.width.should == photo["width"]
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
describe '#location' do
|
200
|
+
it "should return the location where the photo was taken" do
|
201
|
+
subject.location.should == photo["location"]
|
202
|
+
end
|
203
|
+
it "should give latitude, longitude and altitude" do
|
204
|
+
subject.location.keys.should =~ ['latitude', 'longitude', 'altitude']
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
|
209
|
+
describe '#camera_make' do
|
210
|
+
it "should return the make of the camera with which the photo was taken" do
|
211
|
+
subject.camera_make.should == photo["camera_make"]
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
describe '#camera_model' do
|
216
|
+
it "should return the brand and model number of the camera that took the photo." do
|
217
|
+
subject.camera_model.should == photo["camera_model"]
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
describe '#focal_ratio' do
|
222
|
+
it "should return the f-number that the photo was taken at" do
|
223
|
+
subject.focal_ratio.should == photo["focal_ratio"]
|
224
|
+
end
|
225
|
+
end
|
226
|
+
|
227
|
+
describe '#focal_length' do
|
228
|
+
it "should return the focal length that the photo was taken at" do
|
229
|
+
subject.focal_length.should == photo["focal_length"]
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
describe '#exposure_numerator' do
|
234
|
+
it "should return the numerator of the shutter speed that the photo was taken at" do
|
235
|
+
subject.exposure_numerator.should == photo["exposure_numerator"]
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
describe '#exposure_denominator' do
|
240
|
+
it "should return the denominator of the shutter speed that the photo was taken at" do
|
241
|
+
subject.exposure_denominator.should == photo["exposure_denominator"]
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
245
|
+
describe '#download' do
|
246
|
+
it "should download the photo" do
|
247
|
+
stub_request(:get, "https://apis.live.net/v5.0/file.de57f4126ed7e411.DE57F4126ED7E411!128/content?access_token=access_token&download=true&suppress_redirects=true").to_return(:status => 200, :body => {"location" => "http://dummylocation.com/path?dummy_param=value"}.to_json, :headers => {})
|
248
|
+
stub_request(:get, "http://dummylocation.com/path?dummy_param=value").
|
249
|
+
to_return(:status => 200, :body => "\322\204\371\225Q", :headers => {})
|
250
|
+
subject.download.should == "\322\204\371\225Q"
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
end
|
data/spec/skydrive/user_spec.rb
CHANGED
@@ -5,6 +5,13 @@ describe Skydrive::User do
|
|
5
5
|
name: "Rony Varghese"
|
6
6
|
})
|
7
7
|
}
|
8
|
+
|
9
|
+
let(:skydrive){ YAML.load(%{
|
10
|
+
id: "123456"
|
11
|
+
name: "Rony Varghese"
|
12
|
+
})
|
13
|
+
|
14
|
+
}
|
8
15
|
subject { Skydrive::User.new(skydrive_test_client, user)}
|
9
16
|
it "should return the id of the user" do
|
10
17
|
subject.id.should == "123456"
|
@@ -13,4 +20,9 @@ describe Skydrive::User do
|
|
13
20
|
it "should return the name of the user" do
|
14
21
|
subject.name.should == "Rony Varghese"
|
15
22
|
end
|
23
|
+
|
24
|
+
it "should return the user's skydrive home folder" do
|
25
|
+
stub_request(:get, "https://apis.live.net/v5.0/123456/skydrive?access_token=access_token").to_return(:status => 200, :body => skydrive.to_json, :headers => {})
|
26
|
+
subject.skydrive.should == 1
|
27
|
+
end
|
16
28
|
end
|
metadata
CHANGED
@@ -1,286 +1,265 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skydrive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Rony Varghese
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-13 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: httparty
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 0.11.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 0.11.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: activesupport
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: httmultiparty
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: oauth2
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
61
|
+
version: 0.9.2
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
68
|
+
version: 0.9.2
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rspec
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: rake
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: rb-inotify
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - '>='
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - '>='
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rb-fsevent
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.9'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.9'
|
126
125
|
- !ruby/object:Gem::Dependency
|
127
126
|
name: guard
|
128
127
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
128
|
requirements:
|
131
|
-
- -
|
129
|
+
- - '>='
|
132
130
|
- !ruby/object:Gem::Version
|
133
131
|
version: '0'
|
134
132
|
type: :development
|
135
133
|
prerelease: false
|
136
134
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
135
|
requirements:
|
139
|
-
- -
|
136
|
+
- - '>='
|
140
137
|
- !ruby/object:Gem::Version
|
141
138
|
version: '0'
|
142
139
|
- !ruby/object:Gem::Dependency
|
143
140
|
name: guard-rspec
|
144
141
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
142
|
requirements:
|
147
|
-
- -
|
143
|
+
- - '>='
|
148
144
|
- !ruby/object:Gem::Version
|
149
145
|
version: '0'
|
150
146
|
type: :development
|
151
147
|
prerelease: false
|
152
148
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
149
|
requirements:
|
155
|
-
- -
|
150
|
+
- - '>='
|
156
151
|
- !ruby/object:Gem::Version
|
157
152
|
version: '0'
|
158
153
|
- !ruby/object:Gem::Dependency
|
159
154
|
name: simplecov
|
160
155
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
156
|
requirements:
|
163
|
-
- -
|
157
|
+
- - '>='
|
164
158
|
- !ruby/object:Gem::Version
|
165
159
|
version: '0'
|
166
160
|
type: :development
|
167
161
|
prerelease: false
|
168
162
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
163
|
requirements:
|
171
|
-
- -
|
164
|
+
- - '>='
|
172
165
|
- !ruby/object:Gem::Version
|
173
166
|
version: '0'
|
174
167
|
- !ruby/object:Gem::Dependency
|
175
168
|
name: metric_abc
|
176
169
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
170
|
requirements:
|
179
|
-
- -
|
171
|
+
- - '>='
|
180
172
|
- !ruby/object:Gem::Version
|
181
173
|
version: '0'
|
182
174
|
type: :development
|
183
175
|
prerelease: false
|
184
176
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
177
|
requirements:
|
187
|
-
- -
|
178
|
+
- - '>='
|
188
179
|
- !ruby/object:Gem::Version
|
189
180
|
version: '0'
|
190
181
|
- !ruby/object:Gem::Dependency
|
191
182
|
name: yard
|
192
183
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
184
|
requirements:
|
195
|
-
- -
|
185
|
+
- - '>='
|
196
186
|
- !ruby/object:Gem::Version
|
197
187
|
version: '0'
|
198
188
|
type: :development
|
199
189
|
prerelease: false
|
200
190
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
191
|
requirements:
|
203
|
-
- -
|
192
|
+
- - '>='
|
204
193
|
- !ruby/object:Gem::Version
|
205
194
|
version: '0'
|
206
195
|
- !ruby/object:Gem::Dependency
|
207
196
|
name: ci_reporter
|
208
197
|
requirement: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
198
|
requirements:
|
211
|
-
- -
|
199
|
+
- - '>='
|
212
200
|
- !ruby/object:Gem::Version
|
213
201
|
version: '0'
|
214
202
|
type: :development
|
215
203
|
prerelease: false
|
216
204
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
205
|
requirements:
|
219
|
-
- -
|
206
|
+
- - '>='
|
220
207
|
- !ruby/object:Gem::Version
|
221
208
|
version: '0'
|
222
209
|
- !ruby/object:Gem::Dependency
|
223
210
|
name: simplecov-rcov
|
224
211
|
requirement: !ruby/object:Gem::Requirement
|
225
|
-
none: false
|
226
212
|
requirements:
|
227
|
-
- -
|
213
|
+
- - '>='
|
228
214
|
- !ruby/object:Gem::Version
|
229
215
|
version: '0'
|
230
216
|
type: :development
|
231
217
|
prerelease: false
|
232
218
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
none: false
|
234
219
|
requirements:
|
235
|
-
- -
|
220
|
+
- - '>='
|
236
221
|
- !ruby/object:Gem::Version
|
237
222
|
version: '0'
|
238
223
|
- !ruby/object:Gem::Dependency
|
239
224
|
name: rdiscount
|
240
225
|
requirement: !ruby/object:Gem::Requirement
|
241
|
-
none: false
|
242
226
|
requirements:
|
243
|
-
- -
|
227
|
+
- - '>='
|
244
228
|
- !ruby/object:Gem::Version
|
245
229
|
version: '0'
|
246
230
|
type: :development
|
247
231
|
prerelease: false
|
248
232
|
version_requirements: !ruby/object:Gem::Requirement
|
249
|
-
none: false
|
250
233
|
requirements:
|
251
|
-
- -
|
234
|
+
- - '>='
|
252
235
|
- !ruby/object:Gem::Version
|
253
236
|
version: '0'
|
254
237
|
- !ruby/object:Gem::Dependency
|
255
238
|
name: webmock
|
256
239
|
requirement: !ruby/object:Gem::Requirement
|
257
|
-
none: false
|
258
240
|
requirements:
|
259
|
-
- -
|
241
|
+
- - '>='
|
260
242
|
- !ruby/object:Gem::Version
|
261
243
|
version: '0'
|
262
244
|
type: :development
|
263
245
|
prerelease: false
|
264
246
|
version_requirements: !ruby/object:Gem::Requirement
|
265
|
-
none: false
|
266
247
|
requirements:
|
267
|
-
- -
|
248
|
+
- - '>='
|
268
249
|
- !ruby/object:Gem::Version
|
269
250
|
version: '0'
|
270
251
|
- !ruby/object:Gem::Dependency
|
271
252
|
name: rspec_multi_matchers
|
272
253
|
requirement: !ruby/object:Gem::Requirement
|
273
|
-
none: false
|
274
254
|
requirements:
|
275
|
-
- -
|
255
|
+
- - '>='
|
276
256
|
- !ruby/object:Gem::Version
|
277
257
|
version: '0'
|
278
258
|
type: :development
|
279
259
|
prerelease: false
|
280
260
|
version_requirements: !ruby/object:Gem::Requirement
|
281
|
-
none: false
|
282
261
|
requirements:
|
283
|
-
- -
|
262
|
+
- - '>='
|
284
263
|
- !ruby/object:Gem::Version
|
285
264
|
version: '0'
|
286
265
|
description: Simple ruby client library for Skydrive cloud storage service with OAuth2
|
@@ -328,30 +307,30 @@ files:
|
|
328
307
|
- spec/skydrive/operations_spec.rb
|
329
308
|
- spec/skydrive/photo_spec.rb
|
330
309
|
- spec/skydrive/user_spec.rb
|
310
|
+
- spec/skydrive/video_spec.rb
|
331
311
|
- spec/spec_helper.rb
|
332
312
|
homepage: https://github.com/ronyv89/skydrive
|
333
313
|
licenses: []
|
314
|
+
metadata: {}
|
334
315
|
post_install_message:
|
335
316
|
rdoc_options: []
|
336
317
|
require_paths:
|
337
318
|
- lib
|
338
319
|
required_ruby_version: !ruby/object:Gem::Requirement
|
339
|
-
none: false
|
340
320
|
requirements:
|
341
|
-
- -
|
321
|
+
- - '>='
|
342
322
|
- !ruby/object:Gem::Version
|
343
323
|
version: '0'
|
344
324
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
345
|
-
none: false
|
346
325
|
requirements:
|
347
|
-
- -
|
326
|
+
- - '>='
|
348
327
|
- !ruby/object:Gem::Version
|
349
328
|
version: '0'
|
350
329
|
requirements: []
|
351
330
|
rubyforge_project:
|
352
|
-
rubygems_version:
|
331
|
+
rubygems_version: 2.0.6
|
353
332
|
signing_key:
|
354
|
-
specification_version:
|
333
|
+
specification_version: 4
|
355
334
|
summary: Ruby client library for Microsoft Skydrive
|
356
335
|
test_files:
|
357
336
|
- spec/skydrive/album_spec.rb
|
@@ -366,5 +345,6 @@ test_files:
|
|
366
345
|
- spec/skydrive/operations_spec.rb
|
367
346
|
- spec/skydrive/photo_spec.rb
|
368
347
|
- spec/skydrive/user_spec.rb
|
348
|
+
- spec/skydrive/video_spec.rb
|
369
349
|
- spec/spec_helper.rb
|
370
350
|
has_rdoc:
|