diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 7fc81e03e..a688ae0b3 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -42,6 +42,7 @@ //= require suggest //= require forms //= require valuation_spending_proposal_form +//= require embed_video var initialize_modules = function() { App.Comments.initialize(); @@ -59,6 +60,7 @@ var initialize_modules = function() { App.Suggest.initialize(); App.Forms.initialize(); App.ValuationSpendingProposalForm.initialize(); + App.EmbedVideo.initialize(); }; $(function(){ diff --git a/app/assets/javascripts/embed_video.js.coffee b/app/assets/javascripts/embed_video.js.coffee new file mode 100644 index 000000000..85c18ac8e --- /dev/null +++ b/app/assets/javascripts/embed_video.js.coffee @@ -0,0 +1,7 @@ +App.EmbedVideo = + + initialize: -> + $('#js-embedded-video').each -> + code = $(this).data("video-code") + $('#js-embedded-video').html(code) + \ No newline at end of file diff --git a/app/helpers/embed_videos_helper.rb b/app/helpers/embed_videos_helper.rb new file mode 100644 index 000000000..b53aeef21 --- /dev/null +++ b/app/helpers/embed_videos_helper.rb @@ -0,0 +1,30 @@ +module EmbedVideosHelper + + def embedded_video_code + link = @proposal.video_url + if link.match(/vimeo.*/) + server = "Vimeo" + elsif link.match(/youtu*.*/) + server = "YouTube" + end + + if server == "Vimeo" + regExp = /vimeo.*(staffpicks\/|channels\/|videos\/|video\/|\/)([^#\&\?]*).*/ + src = "https://player.vimeo.com/video/" + elsif server == "YouTube" + regExp = /youtu.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/ + src = "https://www.youtube.com/embed/" + end + + if regExp + match = link.match(regExp) + end + + if match and match[2] + '' + else + '' + end + end + +end \ No newline at end of file diff --git a/app/views/proposals/show.html.erb b/app/views/proposals/show.html.erb index 3a7434d75..a686cba36 100644 --- a/app/views/proposals/show.html.erb +++ b/app/views/proposals/show.html.erb @@ -62,7 +62,8 @@