blacklight-oembed 0.0.1 → 0.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 211931b0cdb41733c7a529ab07d4572921cc14ee
4
- data.tar.gz: 2b6ec428af9919ae26b07e85cb60a29d94a830fe
3
+ metadata.gz: 7c5f0dcab275875e50d436e29e825e8a3f97fc7b
4
+ data.tar.gz: 28c6ba94fed961104b93b5231785d4ead1b1ab68
5
5
  SHA512:
6
- metadata.gz: aa1956739ff28d2c74ffae1117dc54c0f6e4de61d763b6fb6391eaef29f122601222152535a77d428f5c592ef506a69de6102a05d637fbdd6f86dfe0fcf60db8
7
- data.tar.gz: 67b7032a9a09af0c4f570d606a339acc6c9f7bc08dea8e883a4875159da667cf7c97a7a37e1f2e41a249109d20f9bf054d83b0b73879266dbdb265344f4af1ac
6
+ metadata.gz: f3409a00f0b28fe9b0f50468c63808cb32a73e245436772a727803486c2245b436c27fdce182475824c88fe823c3c63dbee9a9be06e354db6c90d953c98fef48
7
+ data.tar.gz: e9cfa06132ee45d72f3cd17e2711957486dd25466d7d2698f92ce0edc5042f8f71ab9c1809c75604b39893fdfc2638b25e6b5ec679f3b1313b9a7600becc1ce8
@@ -0,0 +1,20 @@
1
+ (function(){
2
+ $.fn.oEmbed = function() {
3
+
4
+ return this.each(function(){
5
+ var $embedViewer = $(this);
6
+ var $embedURL = $embedViewer.data('embed-url');
7
+ init();
8
+
9
+ function init(){
10
+ $.getJSON($embedURL, function(data){
11
+ if (data === null){
12
+ return;
13
+ }
14
+ $embedViewer.html(data.html);
15
+ });
16
+ }
17
+ });
18
+ };
19
+
20
+ })(jQuery);
@@ -0,0 +1,18 @@
1
+ module Blacklight::Oembed
2
+ class EmbedController < ActionController::Metal
3
+ def show
4
+ self.content_type = "application/json"
5
+ self.response_body = { html: get_embed_content(params[:url]) }.to_json
6
+ end
7
+
8
+ private
9
+
10
+ def get_embed_content url
11
+ begin
12
+ OEmbed::Providers.get(url).html.html_safe
13
+ rescue OEmbed::NotFound
14
+ link_to I18n.t(:'blacklight_oembed.catalog.view'), url
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,15 +1,25 @@
1
1
  module Blacklight::Oembed
2
2
  module OembedHelper
3
+
3
4
  def render_oembed_tag document
4
5
  url = document.first(blacklight_config.show.oembed_field)
5
6
 
6
7
  return if url.blank?
7
8
 
9
+ send Blacklight::Oembed::Engine.config.render_helper, url
10
+ end
11
+
12
+ private
13
+ def render_oembed_tag_embed url
8
14
  begin
9
15
  OEmbed::Providers.get(url).html.html_safe
10
16
  rescue OEmbed::NotFound
11
17
  link_to t(:'blacklight_oembed.catalog.view'), url
12
18
  end
13
19
  end
20
+
21
+ def render_oembed_tag_async url
22
+ content_tag :div, "", data: { embed_url: blacklight_oembed_engine.embed_url(url: url) }
23
+ end
14
24
  end
15
25
  end
data/config/routes.rb CHANGED
@@ -0,0 +1,3 @@
1
+ Blacklight::Oembed::Engine.routes.draw do
2
+ get 'embed' => 'blacklight/oembed/embed#show', as: 'embed'
3
+ end
@@ -3,10 +3,8 @@ require 'blacklight'
3
3
  module Blacklight
4
4
  module Oembed
5
5
  class Engine < Rails::Engine
6
-
7
- initializer "oembed.initialize" do
8
- OEmbed::Providers.register_all
9
- end
6
+
7
+ Blacklight::Oembed::Engine.config.render_helper = :render_oembed_tag_async
10
8
 
11
9
  end
12
10
  end
@@ -1,5 +1,5 @@
1
1
  module Blacklight
2
2
  module Oembed
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -10,6 +10,13 @@ module BlacklightOembed
10
10
  copy_file "blacklight_oembed.js", "app/assets/javascripts/blacklight_oembed.js"
11
11
  end
12
12
 
13
+ def inject_routes
14
+ route "mount Blacklight::Oembed::Engine, at: 'oembed'"
15
+ end
16
+
17
+ def inject_oembed_configuration
18
+ copy_file "oembed_providers.rb", "config/initializers/oembed_providers.rb"
19
+ end
13
20
 
14
21
  def configuration
15
22
  inject_into_file 'app/controllers/catalog_controller.rb', after: "configure_blacklight do |config|" do
@@ -0,0 +1,5 @@
1
+ //= require 'blacklight_oembed/jquery.oembed.js'
2
+
3
+ Blacklight.onLoad(function() {
4
+ $('[data-embed-url]').oEmbed();
5
+ });
@@ -0,0 +1,3 @@
1
+ require 'oembed'
2
+
3
+ OEmbed::Providers.register_all
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight-oembed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
@@ -219,6 +219,8 @@ files:
219
219
  - LICENSE
220
220
  - README.md
221
221
  - Rakefile
222
+ - app/assets/javascripts/blacklight_oembed/jquery.oembed.js
223
+ - app/controllers/blacklight/oembed/embed_controller.rb
222
224
  - app/helpers/blacklight/oembed/oembed_helper.rb
223
225
  - app/views/catalog/_oembed_default.html.erb
224
226
  - blacklight-oembed.gemspec
@@ -231,6 +233,7 @@ files:
231
233
  - lib/generators/blacklight_oembed/install_generator.rb
232
234
  - lib/generators/blacklight_oembed/templates/blacklight_oembed.css.scss
233
235
  - lib/generators/blacklight_oembed/templates/blacklight_oembed.js
236
+ - lib/generators/blacklight_oembed/templates/oembed_providers.rb
234
237
  - spec/spec_helper.rb
235
238
  - spec/test_app_templates/lib/generators/test_app_generator.rb
236
239
  homepage: https://github.com/sul-dlss/blacklight-oembed