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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e0007e69f0ddb8744ed98f777fe6c706f04488d07a8051654ed9f41502cc6c7
4
- data.tar.gz: 6dd58d07d91a1976a8e53e88db88707c9d9af8dbbb6e30b7b9fa44a30f03ea25
3
+ metadata.gz: 4b16e547e53edc9be84a3a08ed34040e9eb00995f0e28d5a7b724d038d905204
4
+ data.tar.gz: d6925d650bee18147b71f2f919f416a03807292cf0b528d2a22905bad33c144b
5
5
  SHA512:
6
- metadata.gz: da19962276141ae4d7df808a6766a3a3fb58b6efffa805ffe3430a1d636c8c8e817dfc99e256ecded9691f23108b067fd6af317ca7845520d94039533503587e
7
- data.tar.gz: 7d5ef5067871b2dc40bb3d7c3ebba205fb60b150019c9b5fcc713e186e65b94057b2f8ff866af097f07e345890c34e6ff806421b96647e45acbaa6d6ee4ad8c8
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', git: 'https://github.com/eitje-app/eivid_engine', branch: 'production'
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 = @response&.dig(:pictures, :sizes)&.find { |url| url[:width] == 640 && url[:height] == 360 }&.dig(:link_with_play_button)
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 (@url_sd && @url_hd && @url_thumbnail)
53
+ raise Eivid::VideoUrlsUnavailableError unless @url_thumbnail
46
54
  end
47
55
 
48
56
  def validate_url_thumbnail
@@ -3,7 +3,7 @@ module Eivid
3
3
 
4
4
  has_many :videos
5
5
 
6
- validates :external_id, presence: true #, uniqueness: true # comment out for dev only
6
+ validates :external_id, presence: true, uniqueness: true
7
7
 
8
8
  before_create :get_folder_id
9
9
 
@@ -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
 
@@ -0,0 +1,5 @@
1
+ class AddTitleToVideo < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :eivid_videos, :title, :string
4
+ end
5
+ end
data/lib/eivid/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eivid
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.5'
3
3
  end
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.1
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-03 00:00:00.000000000 Z
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