shrine-storage-you_tube 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be1944c1ef0f898084f8ebde62e7363b142180c0
4
- data.tar.gz: 128a6104260ccdbabc5c6d46a666db4fba5a6e5f
3
+ metadata.gz: 4d147bcc0d88d5eaa13a9ee9032e63114d243fce
4
+ data.tar.gz: 63a21a77ea3efabad5443315aa09beaa4e9f4a95
5
5
  SHA512:
6
- metadata.gz: 573cb7b6fdbdf119dd4eeaa48bb1003309a9723833d5ada5c97068c2cf49dddd52543f75f6110c53525672951e87c30fa555abf8b0ce274f6a8908890e6c5192
7
- data.tar.gz: 575d76483abb6810dcfe2cffb0e46e7211e96a355a5d8516af5cb3c096d4b468a8a664e34a8083fa9d9a3add6a67d7ec765ed157a13f4dcbf851da4337c346f6
6
+ metadata.gz: de302aad85761554bb6f5e8760eafdcebdb37e703045d43eb0c1d9547648aad6be5744b298a07986e855945c22c3ec86b438a612978a1dd0a553f2abfbee7e89
7
+ data.tar.gz: b49e80263c4497a6379502de54abec03d2e1b85a007801395ef823132b69f1fcf6c92e3daf6d0d4f1fc2c931855bd46e504f28888722e40d371a1f7be4bd02d9
data/README.md CHANGED
@@ -28,6 +28,8 @@ youtube = Shrine::Storage::YouTube.new(
28
28
  channel_id: nil, # Channel ID for uploads, defaults to the user's channel
29
29
  default_privacy: :private, # one of :private, :public, or :unlisted
30
30
  upload_options: {} # may be used to set YouTube's snippet
31
+ client_options: {} # confgure the Google API client's ClientOptions
32
+ request_options: {} # confgure the Google API client's RequestOptions
31
33
  )
32
34
 
33
35
  Shrine.storages[:store] = youtube
@@ -1,7 +1,7 @@
1
1
  class Shrine
2
2
  module Storage
3
3
  class YouTube
4
- VERSION = "0.2.1"
4
+ VERSION = "0.3.0"
5
5
  end
6
6
  end
7
7
  end
@@ -21,12 +21,16 @@ class Shrine
21
21
  refresh_token:,
22
22
  channel_id: nil,
23
23
  default_privacy: :private,
24
- upload_options: {}
24
+ upload_options: {},
25
+ client_options: {},
26
+ request_options: {}
25
27
  )
26
28
  @youtube = youtube_service(
27
29
  client_id: client_id,
28
30
  client_secret: client_secret,
29
- refresh_token: refresh_token
31
+ refresh_token: refresh_token,
32
+ client_options: client_options,
33
+ request_options: request_options
30
34
  )
31
35
 
32
36
  @channel_id = channel_id
@@ -42,9 +46,10 @@ class Shrine
42
46
  @channel_id ||= find_user_channel
43
47
  end
44
48
 
45
- def upload(io, id, metadata = {}, **upload_options)
49
+ def upload(io, id, metadata = {}, **passed_upload_options)
46
50
  snippet = { title: metadata['filename'], channel_id: channel_id }
47
51
  snippet.update(upload_options)
52
+ snippet.update(passed_upload_options)
48
53
  snippet.update(metadata.delete('youtube') || {})
49
54
 
50
55
  video_data = Google::Apis::YoutubeV3::Video.new(snippet: snippet)
@@ -106,10 +111,16 @@ class Shrine
106
111
 
107
112
  protected
108
113
 
109
- def youtube_service(credentials)
110
- service = Google::Apis::YoutubeV3::YouTubeService.new
111
- service.authorization = Google::Auth::UserRefreshCredentials.new(credentials)
112
- service
114
+ def youtube_service(client_id: , client_secret: , refresh_token: , client_options: {}, request_options: {})
115
+ Google::Apis::YoutubeV3::YouTubeService.new.tap do |service|
116
+ service.authorization = Google::Auth::UserRefreshCredentials.new(
117
+ client_id: client_id,
118
+ client_secret: client_secret,
119
+ refresh_token: refresh_token
120
+ )
121
+ client_options.each { |k, v| service.client_options[k] = v }
122
+ request_options.each { |k, v| service.request_options[k] = v }
123
+ end
113
124
  end
114
125
 
115
126
  def find_user_channel
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_dependency 'shrine', '~> 2.0'
21
- spec.add_dependency 'google-api-client', '~> 0.10.1'
21
+ spec.add_dependency 'google-api-client', '~> 0.13.0'
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.10"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shrine-storage-you_tube
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reid Beels
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-05-02 00:00:00.000000000 Z
12
+ date: 2017-09-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: shrine
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 0.10.1
34
+ version: 0.13.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 0.10.1
41
+ version: 0.13.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bundler
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -161,9 +161,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
161
  version: '0'
162
162
  requirements: []
163
163
  rubyforge_project:
164
- rubygems_version: 2.5.2
164
+ rubygems_version: 2.6.11
165
165
  signing_key:
166
166
  specification_version: 4
167
167
  summary: Provides YouTube storage for the Shrine file upload framework.
168
168
  test_files: []
169
- has_rdoc: