onebox 1.5.43 → 1.5.44

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
  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}