eivid 1.0.1 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -11
- data/app/controllers/eivid/videos_controller.rb +6 -1
- data/app/jobs/eivid/get_vimeo_urls_job.rb +10 -2
- data/app/models/eivid/owner.rb +1 -1
- data/app/models/eivid/video.rb +7 -0
- data/app/services/eivid/upload_service.rb +2 -2
- data/db/migrate/20210818121057_add_title_to_video.rb +5 -0
- data/lib/eivid/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b16e547e53edc9be84a3a08ed34040e9eb00995f0e28d5a7b724d038d905204
|
4
|
+
data.tar.gz: d6925d650bee18147b71f2f919f416a03807292cf0b528d2a22905bad33c144b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b49a8b85807843736d3a2617ed1134b414fbfe1dd68aeed7172f59d2105c0b8c213b0ee6d3736ee29ce2787d7e1d11bcef0b037445d7f84062d724d5926852ae
|
7
|
+
data.tar.gz: c8830d684823a77d6023168a51a6ea43101f81e4489be674f7195867b0f17c6ba06c81b9f3903f06e7db38c5ee3e9754eef5f213106fb1e5e3afba98f81247d8
|
data/README.md
CHANGED
@@ -10,18 +10,8 @@ Add the following to your application's Gemfile and run $bundle:
|
|
10
10
|
|
11
11
|
```ruby
|
12
12
|
|
13
|
-
gem 'eivid',
|
13
|
+
gem 'eivid', "1.0.0" # check the latest version on: https://rubygems.org/gems/eivid
|
14
14
|
|
15
|
-
```
|
16
|
-
Or, for development purposes, add instead:
|
17
|
-
|
18
|
-
```ruby
|
19
|
-
local_eivid_path = "/Users/jurriaanschrofer/Documents/eivid"
|
20
|
-
if ENV["RAILS_ENV"] == 'development' && Dir.glob(local_eivid_path).any?
|
21
|
-
gem 'eivid', path: local_eivid_path
|
22
|
-
else
|
23
|
-
gem 'eivid', git: 'https://github.com/eitje-app/eivid_engine', branch: 'production'
|
24
|
-
end
|
25
15
|
```
|
26
16
|
|
27
17
|
Add the following file to your app's config/initializers directory:
|
@@ -13,7 +13,7 @@ module Eivid
|
|
13
13
|
before_action :validate_video_file, only: [:upload_video]
|
14
14
|
|
15
15
|
def upload_video
|
16
|
-
record = UploadService.upload(owner: @owner, user: @user, video_file: video_params["video_file"])
|
16
|
+
record = UploadService.upload(owner: @owner, user: @user, video_file: video_params["video_file"], video_title: video_title)
|
17
17
|
render json: record
|
18
18
|
end
|
19
19
|
|
@@ -44,5 +44,10 @@ module Eivid
|
|
44
44
|
params.permit("video_file")
|
45
45
|
end
|
46
46
|
|
47
|
+
def video_title
|
48
|
+
title = video_params["video_file"].original_filename
|
49
|
+
title.include?('.') ? title.split('.')[0..-2].join('.') : title
|
50
|
+
end
|
51
|
+
|
47
52
|
end
|
48
53
|
end
|
@@ -38,11 +38,19 @@ module Eivid
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def set_url_thumbnail
|
41
|
-
@url_thumbnail =
|
41
|
+
@url_thumbnail = find_high_res_thumbnail || find_low_res_thumbnail
|
42
|
+
end
|
43
|
+
|
44
|
+
def find_high_res_thumbnail
|
45
|
+
@response&.dig(:pictures, :sizes)&.find { |url| url[:width] == 960 && url[:height] == 540 }&.dig(:link_with_play_button)
|
46
|
+
end
|
47
|
+
|
48
|
+
def find_low_res_thumbnail
|
49
|
+
@response&.dig(:pictures, :sizes)&.find { |url| url[:width] == 640 && url[:height] == 360 }&.dig(:link_with_play_button)
|
42
50
|
end
|
43
51
|
|
44
52
|
def validate_url_presence
|
45
|
-
raise Eivid::VideoUrlsUnavailableError unless
|
53
|
+
raise Eivid::VideoUrlsUnavailableError unless @url_thumbnail
|
46
54
|
end
|
47
55
|
|
48
56
|
def validate_url_thumbnail
|
data/app/models/eivid/owner.rb
CHANGED
data/app/models/eivid/video.rb
CHANGED
@@ -5,6 +5,8 @@ module Eivid
|
|
5
5
|
belongs_to :user, optional: true
|
6
6
|
has_many :video_resources
|
7
7
|
|
8
|
+
after_commit :touch_video_resources
|
9
|
+
|
8
10
|
def owner_id # required for aliassing :owner_id
|
9
11
|
super
|
10
12
|
end
|
@@ -17,5 +19,10 @@ module Eivid
|
|
17
19
|
alias_method :"#{Eivid.owner_model}", :external_owner
|
18
20
|
scope :"of_#{Eivid.owner_model}", -> (owner_id) { where(owner_id: owner_id) }
|
19
21
|
|
22
|
+
def touch_video_resources
|
23
|
+
# has_many touch implementation
|
24
|
+
video_resources.find_each { |record| record.update(updated_at: Time.now) }
|
25
|
+
end
|
26
|
+
|
20
27
|
end
|
21
28
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module Eivid::UploadService
|
2
2
|
class << self
|
3
3
|
|
4
|
-
def upload(owner:, user: nil, video_file:)
|
4
|
+
def upload(owner:, user: nil, video_file:, video_title:)
|
5
5
|
@video_file = video_file
|
6
|
-
@video_record = Eivid::Video.create(owner_id: owner.id, user_id: user&.id)
|
6
|
+
@video_record = Eivid::Video.create(owner_id: owner.id, user_id: user&.id, title: video_title)
|
7
7
|
@user = user
|
8
8
|
@file_name, @file_ext = @video_file.original_filename.split('.')
|
9
9
|
|
data/lib/eivid/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eivid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurriaan Schrofer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-08-
|
11
|
+
date: 2021-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -111,6 +111,7 @@ files:
|
|
111
111
|
- db/migrate/20210419122001_change_url_to_embedded_url.rb
|
112
112
|
- db/migrate/20210419122752_add_video_urls_to_videos.rb
|
113
113
|
- db/migrate/20210420120017_add_user_id_to_eivid_videos.rb
|
114
|
+
- db/migrate/20210818121057_add_title_to_video.rb
|
114
115
|
- lib/eivid.rb
|
115
116
|
- lib/eivid/engine.rb
|
116
117
|
- lib/eivid/version.rb
|