blacklight-oembed 0.0.2 → 0.0.3

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: 7c5f0dcab275875e50d436e29e825e8a3f97fc7b
4
- data.tar.gz: 28c6ba94fed961104b93b5231785d4ead1b1ab68
3
+ metadata.gz: b22bb6adfd4ab4c7b6a77bd59618f52180622792
4
+ data.tar.gz: 521256885dbd5e26363f8023d85ec57aa226220a
5
5
  SHA512:
6
- metadata.gz: f3409a00f0b28fe9b0f50468c63808cb32a73e245436772a727803486c2245b436c27fdce182475824c88fe823c3c63dbee9a9be06e354db6c90d953c98fef48
7
- data.tar.gz: e9cfa06132ee45d72f3cd17e2711957486dd25466d7d2698f92ce0edc5042f8f71ab9c1809c75604b39893fdfc2638b25e6b5ec679f3b1313b9a7600becc1ce8
6
+ metadata.gz: 1ac3306498bb9acfe9cc2928e13444810309b8811a1452d9432cc749cca1b27d284acd3f6d1cb2c0746d12d955b4c1a5320b619775043afc9b07bb1228c378fa
7
+ data.tar.gz: 714124f783cbe9665afa71cbdb1afba0f9ff4fd1ba430b60c7dd9d63c6e14831180a0221c3434f780bea760fd542c3693ba63ade72919ef6306ea39c95ee7fb4
@@ -1,8 +1,8 @@
1
1
  module Blacklight::Oembed
2
2
  class EmbedController < ActionController::Metal
3
3
  def show
4
- self.content_type = "application/json"
5
- self.response_body = { html: get_embed_content(params[:url]) }.to_json
4
+ self.content_type = "application/json"
5
+ self.response_body = { html: get_embed_content(params[:url]) }.to_json
6
6
  end
7
7
 
8
8
  private
@@ -11,7 +11,8 @@ module Blacklight::Oembed
11
11
  begin
12
12
  OEmbed::Providers.get(url).html.html_safe
13
13
  rescue OEmbed::NotFound
14
- link_to I18n.t(:'blacklight_oembed.catalog.view'), url
14
+ self.status = 400
15
+ ""
15
16
  end
16
17
  end
17
18
  end
@@ -1,11 +1,14 @@
1
1
  module Blacklight::Oembed
2
2
  module OembedHelper
3
3
 
4
- def render_oembed_tag document
4
+ def render_oembed_solr_document_tag document
5
5
  url = document.first(blacklight_config.show.oembed_field)
6
-
7
6
  return if url.blank?
8
7
 
8
+ render_oembed_tag url
9
+ end
10
+
11
+ def render_oembed_tag url
9
12
  send Blacklight::Oembed::Engine.config.render_helper, url
10
13
  end
11
14
 
@@ -1,5 +1,5 @@
1
1
  module Blacklight
2
2
  module Oembed
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe Blacklight::Oembed::EmbedController do
4
+ routes { Blacklight::Oembed::Engine.routes }
5
+ describe "show" do
6
+ before do
7
+ Blacklight::Oembed::Engine.config.render_helper = :render_oembed_tag_embed
8
+ end
9
+
10
+ let :oembed_obj do
11
+ double(html: "some-markup")
12
+ end
13
+
14
+ it "should fetch oembed markup for a url" do
15
+ allow(OEmbed::Providers).to receive(:get).with('http://some/uri').and_return oembed_obj
16
+ get :show, url: 'http://some/uri'
17
+ json = JSON.parse(response.body)
18
+ expect(json["html"]).to eq "some-markup"
19
+ end
20
+
21
+ it "should gracefully fail to a view link" do
22
+ get :show, url: 'http://some/uri'
23
+ expect(response.status).to eq 400
24
+ json = JSON.parse(response.body)
25
+ expect(json["html"]).to be_blank
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,70 @@
1
+ require 'spec_helper'
2
+
3
+ describe Blacklight::Oembed::OembedHelper do
4
+ before :all do
5
+ @original_value = Blacklight::Oembed::Engine.config.render_helper
6
+ end
7
+
8
+ after :all do
9
+ Blacklight::Oembed::Engine.config.render_helper = @original_value
10
+ end
11
+
12
+ let :document do
13
+ SolrDocument.new
14
+ end
15
+
16
+ let :blacklight_config do
17
+ Blacklight::Configuration.new do |config|
18
+ config.show.oembed_field = :oembed_url_ssm
19
+ end
20
+ end
21
+
22
+ before do
23
+ allow(helper).to receive(:blacklight_config).and_return(blacklight_config)
24
+ end
25
+
26
+ it "should render nothing if no oembed url is available" do
27
+ expect(helper.render_oembed_solr_document_tag(document)).to be_blank
28
+ end
29
+
30
+ describe "async" do
31
+ before do
32
+ Blacklight::Oembed::Engine.config.render_helper = :render_oembed_tag_async
33
+ end
34
+
35
+ let :document do
36
+ SolrDocument.new oembed_url_ssm: 'http://some/uri'
37
+ end
38
+
39
+ it "should render a placeholder for oembed data" do
40
+ rendered = helper.render_oembed_solr_document_tag document
41
+ expect(rendered).to have_css "[data-embed-url]"
42
+ expect(rendered).to have_css "[data-embed-url='#{blacklight_oembed_engine.embed_url(url: "http://some/uri")}']"
43
+ end
44
+ end
45
+
46
+ describe "embed" do
47
+ before do
48
+ Blacklight::Oembed::Engine.config.render_helper = :render_oembed_tag_embed
49
+ end
50
+
51
+ let :document do
52
+ SolrDocument.new oembed_url_ssm: 'http://some/uri'
53
+ end
54
+
55
+ let :oembed_obj do
56
+ double(html: "some-markup")
57
+ end
58
+
59
+ it "should fetch oembed markup for a url" do
60
+ allow(OEmbed::Providers).to receive(:get).with('http://some/uri').and_return oembed_obj
61
+ rendered = helper.render_oembed_solr_document_tag document
62
+ expect(rendered).to eq "some-markup"
63
+ end
64
+
65
+ it "should gracefully fail to a view link" do
66
+ rendered = helper.render_oembed_solr_document_tag document
67
+ expect(rendered).to have_link "View", href: "http://some/uri"
68
+ end
69
+ end
70
+ end
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.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
@@ -234,6 +234,8 @@ files:
234
234
  - lib/generators/blacklight_oembed/templates/blacklight_oembed.css.scss
235
235
  - lib/generators/blacklight_oembed/templates/blacklight_oembed.js
236
236
  - lib/generators/blacklight_oembed/templates/oembed_providers.rb
237
+ - spec/controllers/embed_controller_spec.rb
238
+ - spec/helpers/oembed_helper_spec.rb
237
239
  - spec/spec_helper.rb
238
240
  - spec/test_app_templates/lib/generators/test_app_generator.rb
239
241
  homepage: https://github.com/sul-dlss/blacklight-oembed
@@ -261,5 +263,7 @@ signing_key:
261
263
  specification_version: 4
262
264
  summary: Oembed display for Blacklight
263
265
  test_files:
266
+ - spec/controllers/embed_controller_spec.rb
267
+ - spec/helpers/oembed_helper_spec.rb
264
268
  - spec/spec_helper.rb
265
269
  - spec/test_app_templates/lib/generators/test_app_generator.rb