onebox 1.5.43 → 1.5.44

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: 0224a34962160e320d20498abd797e7f2bab310f
4
- data.tar.gz: 94e3f2307ca70f15135ca6af8ecb04dc4432eeca
3
+ metadata.gz: 582db3162e74f04ce27959dbef0e385e27621406
4
+ data.tar.gz: 026c67c405e0e80fb0ceb1c7553eed6c724eb170
5
5
  SHA512:
6
- metadata.gz: d25694266cb34abf1b404b49b09e408631b806f69d7f7e42ea7317e6f8a7fe38278e08333e7a34b5e1982f2ba45b460eebe5d97b0da41dbc557382884d023ba4
7
- data.tar.gz: 5cfdf2fb1968f48ad9158ca1d6b26949671e7b2c7d7134bce88993e44df060fca4a668c208417e8e484f23ae395e1777e20572e70215c5a78df2a6a99ef49e5c
6
+ metadata.gz: 1bce5e96adfaecb9ffd25c014f0e96b501e32738965b12a3fd3458b3a619dc5fe82718bfc7e6c6d4fd3de0745d97db5eda460c6e99dd50e4ec7d70b643e04e33
7
+ data.tar.gz: 37eaee6c5aab1784e5af0d6ca086de9eb9aa8c18de8bf46e59f36ec845895e406db5c3e12b334c9f5d9a57eb382e1cd21f328533938679ec10e5700fab67a228
@@ -9,7 +9,6 @@ AllCops:
9
9
  StringLiterals:
10
10
  Enabled: false
11
11
 
12
- # Limit lines to 79 characters.
13
12
  LineLength:
14
13
  Enabled: true
15
14
  Max: 180
@@ -28,4 +27,4 @@ CaseEquality:
28
27
  Enabled: false
29
28
 
30
29
  ClassVars:
31
- Enabled: false
30
+ Enabled: false
@@ -7,15 +7,14 @@ module Onebox
7
7
  include LayoutSupport
8
8
  include HTML
9
9
 
10
-
10
+ always_https
11
11
  matches_regexp(/^https?:\/\/(?:www)\.amazon\.(?<tld>com|ca|de|it|es|fr|co\.jp|co\.uk|cn|in|com\.br)\//)
12
12
 
13
13
  def url
14
14
  if match && match[:id]
15
- _url = URI("http://www.amazon.#{tld}/gp/aw/d/" + URI::encode(match[:id]))
16
- _url.scheme = URI(@url).scheme
17
- return _url.to_s
15
+ return "https://www.amazon.#{tld}/gp/aw/d/#{URI::encode(match[:id])}"
18
16
  end
17
+
19
18
  @url
20
19
  end
21
20
 
@@ -6,10 +6,11 @@ module Onebox
6
6
  include JSON
7
7
 
8
8
  def self.domains
9
- %w(stackexchange stackoverflow superuser serverfault askubuntu)
9
+ %w(stackexchange.com stackoverflow.com superuser.com serverfault.com askubuntu.com stackapps.com mathoverflow.net)
10
+ .map { |domain| Regexp.escape(domain) }
10
11
  end
11
12
 
12
- matches_regexp /^https?:\/\/(?:(?:(?<subsubdomain>\w*)\.)?(?<subdomain>\w*)\.)?(?<domain>#{domains.join('|')})\.com\/(?:questions|q)\/(?<question>\d*)/
13
+ matches_regexp /^https?:\/\/(?:(?:(?<subsubdomain>\w*)\.)?(?<subdomain>\w*)\.)?(?<domain>#{domains.join('|')})\/((?:questions|q)\/(?<question_id>\d*)(\/.*\/(?<answer_id1>\d*))?|(a\/(?<answer_id2>\d*)))/
13
14
 
14
15
  def always_https?
15
16
  uri.host.split('.').length <= 3
@@ -23,7 +24,14 @@ module Onebox
23
24
 
24
25
  def url
25
26
  domain = URI(@url).host
26
- "https://api.stackexchange.com/2.1/questions/#{match[:question]}?site=#{domain}"
27
+ question_id = match[:question_id]
28
+ answer_id = match[:answer_id2] || match[:answer_id1]
29
+
30
+ if answer_id
31
+ "https://api.stackexchange.com/2.2/answers/#{answer_id}?site=#{domain}&filter=!.FjueITQdx6-Rq3Ue9PWG.QZ2WNdW"
32
+ else
33
+ "https://api.stackexchange.com/2.2/questions/#{question_id}?site=#{domain}&filter=!5-duuxrJa-iw9oVvOA(JNimB5VIisYwZgwcfNI"
34
+ end
27
35
  end
28
36
 
29
37
  def data
@@ -32,9 +40,11 @@ module Onebox
32
40
  result = raw['items'][0]
33
41
  if result
34
42
  result['creation_date'] =
35
- Time.at(result['creation_date'].to_i).strftime("%I:%M%p - %d %b %y")
43
+ Time.at(result['creation_date'].to_i).strftime("%I:%M%p - %d %b %y")
36
44
 
37
45
  result['tags'] = result['tags'].take(4).join(', ')
46
+ result['is_answer'] = result.key?('answer_id')
47
+ result['is_question'] = result.key?('question_id')
38
48
  end
39
49
  @data = result
40
50
  end
@@ -130,7 +130,8 @@ module Onebox
130
130
  wonderhowto.com
131
131
  wsj.com
132
132
  zappos.com
133
- zillow.com)
133
+ zillow.com
134
+ change.org)
134
135
  end
135
136
 
136
137
  # Often using the `html` attribute is not what we want, like for some blogs that
@@ -1,3 +1,3 @@
1
1
  module Onebox
2
- VERSION = "1.5.43"
2
+ VERSION = "1.5.44"
3
3
  end
@@ -0,0 +1 @@
1
+ {"items":[{"tags":["c","deobfuscation"],"owner":{"profile_image":"https://www.gravatar.com/avatar/4af3541c00d591e9a518b9c0b3b1190a?s=128&d=identicon&r=PG","display_name":"dasblinkenlight","link":"http://stackoverflow.com/users/335858/dasblinkenlight"},"last_activity_date":1461433376,"creation_date":1375356813,"answer_id":17992906,"link":"http://stackoverflow.com/questions/17992553/concept-behind-these-four-lines-of-tricky-c-code/17992906#17992906","title":"Concept behind these four lines of tricky C code"}],"has_more":false,"quota_max":300,"quota_remaining":291}
@@ -0,0 +1 @@
1
+ {"items":[{"tags":["c","deobfuscation"],"owner":{"profile_image":"https://www.gravatar.com/avatar/a19d396231d67d604c92866b90fe723d?s=128&d=identicon&r=PG","display_name":"codeslayer1","link":"http://stackoverflow.com/users/2547190/codeslayer1"},"last_activity_date":1461433376,"creation_date":1375355768,"question_id":17992553,"link":"http://stackoverflow.com/questions/17992553/concept-behind-these-four-lines-of-tricky-c-code","title":"Concept behind these four lines of tricky C code"}],"has_more":false,"quota_max":300,"quota_remaining":292}
@@ -2,8 +2,8 @@ require "spec_helper"
2
2
 
3
3
  describe Onebox::Engine::AmazonOnebox do
4
4
  before(:all) do
5
- @link = "http://www.amazon.com/Knit-Noro-Accessories-Colorful-Little/dp/193609620X"
6
- @uri = "http://www.amazon.com/gp/aw/d/193609620X"
5
+ @link = "https://www.amazon.com/Knit-Noro-Accessories-Colorful-Little/dp/193609620X"
6
+ @uri = "https://www.amazon.com/gp/aw/d/193609620X"
7
7
  end
8
8
 
9
9
  include_context "engines"
@@ -14,47 +14,47 @@ describe Onebox::Engine::AmazonOnebox do
14
14
  def check_link(tdl, link)
15
15
  onebox_cls = Onebox::Matcher.new(link).oneboxed
16
16
  expect(onebox_cls).to_not be(nil)
17
- expect(onebox_cls.new(link).url).to include("http://www.amazon.#{tdl}")
17
+ expect(onebox_cls.new(link).url).to include("https://www.amazon.#{tdl}")
18
18
  end
19
19
 
20
20
  it "matches canadian domains" do
21
- check_link("ca", "http://www.amazon.ca/Too-Much-Happiness-Alice-Munro-ebook/dp/B0031TZ98K/")
21
+ check_link("ca", "https://www.amazon.ca/Too-Much-Happiness-Alice-Munro-ebook/dp/B0031TZ98K/")
22
22
  end
23
23
 
24
24
  it "matches german domains" do
25
- check_link("de", "http://www.amazon.de/Buddenbrooks-Verfall-einer-Familie-Roman/dp/3596294312/")
25
+ check_link("de", "https://www.amazon.de/Buddenbrooks-Verfall-einer-Familie-Roman/dp/3596294312/")
26
26
  end
27
27
 
28
28
  it "matches uk domains" do
29
- check_link("co.uk", "http://www.amazon.co.uk/Pygmalion-George-Bernard-Shaw/dp/1420925237/")
29
+ check_link("co.uk", "https://www.amazon.co.uk/Pygmalion-George-Bernard-Shaw/dp/1420925237/")
30
30
  end
31
31
 
32
32
  it "matches japanese domains" do
33
- check_link("co.jp", "http://www.amazon.co.jp/%E9%9B%AA%E5%9B%BD-%E6%96%B0%E6%BD%AE%E6%96%87%E5%BA%AB-%E3%81%8B-1-1-%E5%B7%9D%E7%AB%AF-%E5%BA%B7%E6%88%90/dp/4101001014/")
33
+ check_link("co.jp", "https://www.amazon.co.jp/%E9%9B%AA%E5%9B%BD-%E6%96%B0%E6%BD%AE%E6%96%87%E5%BA%AB-%E3%81%8B-1-1-%E5%B7%9D%E7%AB%AF-%E5%BA%B7%E6%88%90/dp/4101001014/")
34
34
  end
35
35
 
36
36
  it "matches chinese domains" do
37
- check_link("cn", "http://www.amazon.cn/%E5%AD%99%E5%AD%90%E5%85%B5%E6%B3%95-%E5%AD%99%E8%86%91%E5%85%B5%E6%B3%95-%E5%AD%99%E6%AD%A6/dp/B0011C40FC/")
37
+ check_link("cn", "https://www.amazon.cn/%E5%AD%99%E5%AD%90%E5%85%B5%E6%B3%95-%E5%AD%99%E8%86%91%E5%85%B5%E6%B3%95-%E5%AD%99%E6%AD%A6/dp/B0011C40FC/")
38
38
  end
39
39
 
40
40
  it "matches french domains" do
41
- check_link("fr", "http://www.amazon.fr/Les-Mots-autres-%C3%A9crits-autobiographiques/dp/2070114147/")
41
+ check_link("fr", "https://www.amazon.fr/Les-Mots-autres-%C3%A9crits-autobiographiques/dp/2070114147/")
42
42
  end
43
43
 
44
44
  it "matches italian domains" do
45
- check_link("it", "http://www.amazon.it/Tutte-poesie-Salvatore-Quasimodo/dp/8804520477/")
45
+ check_link("it", "https://www.amazon.it/Tutte-poesie-Salvatore-Quasimodo/dp/8804520477/")
46
46
  end
47
47
 
48
48
  it "matches spanish domains" do
49
- check_link("es", "http://www.amazon.es/familia-Pascual-Duarte-Camilo-Jos%C3%A9-ebook/dp/B00EJRTKTW/")
49
+ check_link("es", "https://www.amazon.es/familia-Pascual-Duarte-Camilo-Jos%C3%A9-ebook/dp/B00EJRTKTW/")
50
50
  end
51
51
 
52
52
  it "matches brasilian domains" do
53
- check_link("com.br", "http://www.amazon.com.br/A-p%C3%A1tria-chuteiras-Nelson-Rodrigues-ebook/dp/B00J2B414Y/")
53
+ check_link("com.br", "https://www.amazon.com.br/A-p%C3%A1tria-chuteiras-Nelson-Rodrigues-ebook/dp/B00J2B414Y/")
54
54
  end
55
55
 
56
56
  it "matches indian domains" do
57
- check_link("in", "http://www.amazon.in/Fireflies-Rabindranath-Tagore/dp/9381523169/")
57
+ check_link("in", "https://www.amazon.in/Fireflies-Rabindranath-Tagore/dp/9381523169/")
58
58
  end
59
59
 
60
60
  end
@@ -65,7 +65,7 @@ describe Onebox::Engine::AmazonOnebox do
65
65
  .to eq("https://www.amazon.fr/gp/aw/d/B01BYD0TZM")
66
66
 
67
67
  expect(described_class.new("http://www.amazon.fr/gp/product/B01BYD0TZM").url)
68
- .to eq("http://www.amazon.fr/gp/aw/d/B01BYD0TZM")
68
+ .to eq("https://www.amazon.fr/gp/aw/d/B01BYD0TZM")
69
69
  end
70
70
  end
71
71
 
@@ -3,7 +3,7 @@ require "spec_helper"
3
3
  describe Onebox::Engine::JSON do
4
4
  before(:all) do
5
5
  @link = "http://stackoverflow.com"
6
- fake(@link, response("stackexchange"))
6
+ fake(@link, response("stackexchange-question"))
7
7
  end
8
8
  before(:each) { Onebox.options.cache.clear }
9
9
 
@@ -1,17 +1,97 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe Onebox::Engine::StackExchangeOnebox do
4
- before(:all) do
5
- @link = "http://stackoverflow.com/questions/17992553/concept-behind-these-four-lines-of-tricky-c-code"
6
- fake("https://api.stackexchange.com/2.1/questions/17992553?site=stackoverflow.com", response(described_class.onebox_name))
4
+ describe 'domains' do
5
+ [
6
+ 'stackoverflow.com', 'meta.stackoverflow.com',
7
+ 'superuser.com', 'meta.superuser.com',
8
+ 'serverfault.com', 'meta.serverfault.com',
9
+ 'askubuntu.com', 'meta.askubuntu.com',
10
+ 'mathoverflow.net', 'meta.mathoverflow.net',
11
+ 'money.stackexchange.com', 'meta.money.stackexchange.com',
12
+ 'stackapps.com'
13
+ ].each do |domain|
14
+ it "matches question with short URL on #{domain}" do
15
+ expect(described_class === URI("http://#{domain}/q/55495")).to eq(true)
16
+ end
17
+
18
+ it "matches question with long URL on #{domain}" do
19
+ expect(described_class === URI("http://#{domain}/questions/55495/title-of-question")).to eq(true)
20
+ end
21
+
22
+ it "matches answer with short URL on #{domain}" do
23
+ expect(described_class === URI("http://#{domain}/a/55503")).to eq(true)
24
+ end
25
+
26
+ it "matches question with long URL on #{domain}" do
27
+ expect(described_class === URI("http://#{domain}/questions/55495/title-of-question/55503#55503")).to eq(true)
28
+ end
29
+ end
30
+
31
+ it "doesn't match question on example.com" do
32
+ expect(described_class === URI('http://example.com/q/4711')).to eq(false)
33
+ end
34
+
35
+ it "doesn't match answer on example.com" do
36
+ expect(described_class === URI('http://example.com/a/4711')).to eq(false)
37
+ end
38
+ end
39
+
40
+ {
41
+ 'long URL' => 'http://stackoverflow.com/questions/17992553/concept-behind-these-four-lines-of-tricky-c-code',
42
+ 'short URL'=> 'http://stackoverflow.com/q/17992553'
43
+ }.each do |name, url|
44
+ describe "question with #{name}" do
45
+ before(:all) do
46
+ @link = url
47
+ fake('https://api.stackexchange.com/2.2/questions/17992553?site=stackoverflow.com&filter=!5-duuxrJa-iw9oVvOA(JNimB5VIisYwZgwcfNI', response('stackexchange-question'))
48
+ end
49
+
50
+ include_context 'engines'
51
+ it_behaves_like 'an engine'
52
+
53
+ describe '#to_html' do
54
+ it 'includes question title' do
55
+ expect(html).to include('Concept behind these four lines of tricky C code')
56
+ end
57
+
58
+ it "includes 'asked by'" do
59
+ expect(html).to include('asked by')
60
+ end
61
+
62
+ it "doesn't include 'answered by'" do
63
+ expect(html).not_to include('answered by')
64
+ end
65
+ end
66
+ end
7
67
  end
8
68
 
9
- include_context "engines"
10
- it_behaves_like "an engine"
69
+ {
70
+ 'long URL' => 'http://stackoverflow.com/questions/17992553/concept-behind-these-four-lines-of-tricky-c-code/17992906#17992906',
71
+ 'short URL'=> 'http://stackoverflow.com/a/17992906'
72
+ }.each do |name, url|
73
+ describe "answer with #{name}" do
74
+ before(:all) do
75
+ @link = url
76
+ fake('https://api.stackexchange.com/2.2/answers/17992906?site=stackoverflow.com&filter=!.FjueITQdx6-Rq3Ue9PWG.QZ2WNdW', response('stackexchange-answer'))
77
+ end
78
+
79
+ include_context 'engines'
80
+ it_behaves_like 'an engine'
81
+
82
+ describe '#to_html' do
83
+ it 'includes question title' do
84
+ expect(html).to include('Concept behind these four lines of tricky C code')
85
+ end
86
+
87
+ it "includes 'answered by'" do
88
+ expect(html).to include('answered by')
89
+ end
11
90
 
12
- describe "#to_html" do
13
- it "includes question" do
14
- expect(html).to include("Concept behind these four lines of tricky C++ code")
91
+ it "doesn't include 'asked by'" do
92
+ expect(html).not_to include('asked by')
93
+ end
94
+ end
15
95
  end
16
96
  end
17
- end
97
+ end
@@ -3,13 +3,13 @@ require "spec_helper"
3
3
  describe Onebox::Preview do
4
4
 
5
5
  before do
6
- fake("http://www.amazon.com/product", response("amazon"))
7
- FakeWeb.register_uri(:get, "http://www.amazon.com/404-url", status: 404)
8
- FakeWeb.register_uri(:get, "http://www.amazon.com/500-url", status: 500)
9
- FakeWeb.register_uri(:get, "http://www.amazon.com/error-url", status: 500)
10
- FakeWeb.register_uri(:get, "http://www.amazon.com/timeout-url", exception: Timeout::Error)
11
- FakeWeb.register_uri(:get, "http://www.amazon.com/http-error", exception: Net::HTTPError)
12
- FakeWeb.register_uri(:get, "http://www.amazon.com/error-connecting", exception: Errno::ECONNREFUSED)
6
+ fake("https://www.amazon.com/product", response("amazon"))
7
+ FakeWeb.register_uri(:get, "https://www.amazon.com/404-url", status: 404)
8
+ FakeWeb.register_uri(:get, "https://www.amazon.com/500-url", status: 500)
9
+ FakeWeb.register_uri(:get, "https://www.amazon.com/error-url", status: 500)
10
+ FakeWeb.register_uri(:get, "https://www.amazon.com/timeout-url", exception: Timeout::Error)
11
+ FakeWeb.register_uri(:get, "https://www.amazon.com/http-error", exception: Net::HTTPError)
12
+ FakeWeb.register_uri(:get, "https://www.amazon.com/error-connecting", exception: Errno::ECONNREFUSED)
13
13
  end
14
14
 
15
15
  let(:preview_url) { "http://www.amazon.com/product" }
@@ -3,11 +3,18 @@ require "spec_helper"
3
3
  describe Onebox do
4
4
 
5
5
  before do
6
- fake("http://www.amazon.com", response("amazon"))
6
+ fake("https://www.amazon.com/product", response("amazon"))
7
7
  end
8
8
 
9
9
  describe ".preview" do
10
10
  let(:url) { "http://www.amazon.com/product" }
11
+
12
+ let(:https_url) do
13
+ uri = URI(url)
14
+ uri.scheme = 'https'
15
+ uri.to_s
16
+ end
17
+
11
18
  it "creates a cache that responds as expected" do
12
19
  preview = Onebox.preview(url)
13
20
  cache = preview.cache
@@ -18,13 +25,13 @@ describe Onebox do
18
25
  preview = Onebox.preview(url)
19
26
  preview.to_s
20
27
  cache = preview.cache
21
- expect(cache.key?(url)).to eq(true)
28
+ expect(cache.key?(https_url)).to eq(true)
22
29
  end
23
30
 
24
31
  it "replaces the cache if the cache is expired" do
25
32
  preview = Onebox.preview(url, cache: Moneta.new(:Memory, expires: 100_000, serializer: :json))
26
33
  cache = preview.cache
27
- expect(cache.fetch(url)).to be(nil)
34
+ expect(cache.fetch(https_url)).to be(nil)
28
35
  end
29
36
  end
30
37
 
@@ -1,6 +1,6 @@
1
1
  <aside class="onebox {{subname}}">
2
2
  <header class="source">
3
- <a href="{{{link}}}">
3
+ <a href="{{{link}}}" target='_blank' >
4
4
  {{#repository_path}}{{repository_path}}{{/repository_path}}
5
5
  {{^repository_path}}{{domain}}{{/repository_path}}
6
6
  </a>
@@ -1,6 +1,6 @@
1
1
  <img src="{{image}}" class="thumbnail"/>
2
2
 
3
- <h3><a href='{{link}}'>{{title}}</a></h3>
3
+ <h3><a href='{{link}}' target='_blank'>{{title}}</a></h3>
4
4
  {{#by_info}}<b>{{by_info}}</b>{{/by_info}}
5
5
  <p>{{description}}</p>
6
- <p><strong>{{price}}<strong></p>
6
+ <p><strong>{{price}}</strong></p>
@@ -1,5 +1,5 @@
1
1
  <img src="{{image}}" class="thumbnail"/>
2
2
 
3
- <h3><a href='{{{link}}}'>{{title}}</a></h3>
3
+ <h3><a href='{{{link}}}' target='_blank'>{{title}}</a></h3>
4
4
 
5
5
  <p>{{description}}</p>
@@ -12,7 +12,9 @@
12
12
  </div>
13
13
 
14
14
  <div class="date">
15
- asked by <a href="{{owner.link}}" target="_blank">
15
+ {{#is_question}}asked by{{/is_question}}
16
+ {{#is_answer}}answered by{{/is_answer}}
17
+ <a href="{{owner.link}}" target="_blank">
16
18
  {{owner.display_name}}
17
19
  </a>
18
20
  on <a href="{{link}}" target="_blank">{{creation_date}}</a>
@@ -1,6 +1,6 @@
1
1
  {{#avatar}}<img src="{{avatar}}" class="thumbnail">{{/avatar}}
2
2
  <h4>
3
- <a href='{{link}}'>
3
+ <a href='{{link}}' target='_blank'>
4
4
  {{title}}
5
5
  </a>
6
6
  </h4>
@@ -1,5 +1,5 @@
1
1
  {{#image}}<img src="{{image}}" class="thumbnail"/>{{/image}}
2
2
 
3
- <h3><a href='{{{link}}}'>{{title}}</a></h3>
3
+ <h3><a href='{{{link}}}' target="_blank">{{title}}</a></h3>
4
4
 
5
5
  <p>{{description}}</p>
@@ -1,5 +1,5 @@
1
1
  {{#image}}<img src="{{image}}" class="thumbnail"/>{{/image}}
2
2
 
3
- <h3><a href='{{{link}}}'>{{title}}</a></h3>
3
+ <h3><a href='{{{link}}}' target='_blank'>{{title}}</a></h3>
4
4
 
5
5
  <p>{{description}}</p>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onebox
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.43
4
+ version: 1.5.44
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joanna Zeta
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-07-13 00:00:00.000000000 Z
13
+ date: 2016-08-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: multi_json
@@ -354,7 +354,8 @@ files:
354
354
  - spec/fixtures/pubmed-xml.response
355
355
  - spec/fixtures/pubmed.response
356
356
  - spec/fixtures/slides.response
357
- - spec/fixtures/stackexchange.response
357
+ - spec/fixtures/stackexchange-answer.response
358
+ - spec/fixtures/stackexchange-question.response
358
359
  - spec/fixtures/steamstorewidget.response
359
360
  - spec/fixtures/twitterstatus.response
360
361
  - spec/fixtures/video.response
@@ -454,7 +455,8 @@ test_files:
454
455
  - spec/fixtures/pubmed-xml.response
455
456
  - spec/fixtures/pubmed.response
456
457
  - spec/fixtures/slides.response
457
- - spec/fixtures/stackexchange.response
458
+ - spec/fixtures/stackexchange-answer.response
459
+ - spec/fixtures/stackexchange-question.response
458
460
  - spec/fixtures/steamstorewidget.response
459
461
  - spec/fixtures/twitterstatus.response
460
462
  - spec/fixtures/video.response
@@ -495,4 +497,3 @@ test_files:
495
497
  - spec/lib/onebox_spec.rb
496
498
  - spec/spec_helper.rb
497
499
  - spec/support/html_spec_helper.rb
498
- has_rdoc:
@@ -1 +0,0 @@
1
- {"items":[{"tags":["c++","c","deobfuscation"],"owner":{"reputation":860,"user_id":2547190,"user_type":"registered","profile_image":"https://www.gravatar.com/avatar/a19d396231d67d604c92866b90fe723d?s=128&d=identicon&r=PG","display_name":"detonator123","link":"http://stackoverflow.com/users/2547190/detonator123"},"is_answered":true,"view_count":12676,"protected_date":1375930784,"accepted_answer_id":17992906,"answer_count":9,"score":244,"last_activity_date":1375930729,"creation_date":1375355768,"last_edit_date":1375645180,"question_id":17992553,"link":"http://stackoverflow.com/questions/17992553/concept-behind-these-four-lines-of-tricky-c-code","title":"Concept behind these four lines of tricky C++ code"}],"has_more":false,"quota_max":300,"quota_remaining":275}