diff_news 0.9.0 → 0.9.1
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 +4 -4
- data/lib/diff_news.rb +3 -1
- data/lib/news_service/20min.rb +41 -0
- data/lib/news_service/faz.rb +41 -0
- data/lib/service.rb +8 -0
- data/lib/version.info +1 -1
- data/test/file_store_test.rb +0 -7
- data/test/news_service_test.rb +0 -11
- data/test/service_test.rb +2 -1
- metadata +44 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8af61cd67710d931daa198086b53a0a83c9ee30c
|
4
|
+
data.tar.gz: 314fca9d8005c2518db2f8153b3be35ea73d302c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4514c9d1b844a1cd07be91f628400f79ff6b677ee2ee385d56128cd4c5d66b7500d31662a64e8da371aea43500571e776fd473267907918b77dc78fa7a8cdbbb
|
7
|
+
data.tar.gz: 1f19c74d232df2236c783f63144c06ff3884813f93645d683c9adfafa916eed865cbb910cda848784247c0be7f896b689874664dbd2a8d2d06b4b8896c5d14d8
|
data/lib/diff_news.rb
CHANGED
@@ -7,6 +7,8 @@ $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unless $LOAD_PATH.i
|
|
7
7
|
require 'service'
|
8
8
|
require 'default_history'
|
9
9
|
require 'file_history'
|
10
|
+
require 'news_service/mock'
|
11
|
+
require 'news_service/20min'
|
12
|
+
require 'news_service/faz'
|
10
13
|
require 'news_service/tagesanzeiger'
|
11
14
|
require 'news_service/nzz'
|
12
|
-
require 'news_service/mock'
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'service'
|
2
|
+
|
3
|
+
module DiffNews
|
4
|
+
|
5
|
+
class ZwanzigMinunten < Service
|
6
|
+
def initialize url
|
7
|
+
super url
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.provider
|
11
|
+
'20min.ch'
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.valid_url
|
15
|
+
/^https?:\/\/(www.)?20min.ch/
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
def title
|
20
|
+
normalize_text(strip_html(@doc.css("h1").first))
|
21
|
+
rescue
|
22
|
+
''
|
23
|
+
end
|
24
|
+
|
25
|
+
def teaser
|
26
|
+
normalize_text(strip_html(@doc.css("h3").first))
|
27
|
+
rescue
|
28
|
+
''
|
29
|
+
end
|
30
|
+
|
31
|
+
def text
|
32
|
+
normalize_text(strip_html(@doc.css(".story_text").first))
|
33
|
+
rescue
|
34
|
+
''
|
35
|
+
end
|
36
|
+
|
37
|
+
register_service
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'service'
|
2
|
+
|
3
|
+
module DiffNews
|
4
|
+
|
5
|
+
class FAZ < Service
|
6
|
+
def initialize url
|
7
|
+
super url
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.provider
|
11
|
+
'faz.net'
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.valid_url
|
15
|
+
/^https?:\/\/(www.)?faz.net/
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
def title
|
20
|
+
normalize_text(strip_html(@doc.css("h2").first))
|
21
|
+
rescue
|
22
|
+
''
|
23
|
+
end
|
24
|
+
|
25
|
+
def teaser
|
26
|
+
'TODO'
|
27
|
+
rescue
|
28
|
+
''
|
29
|
+
end
|
30
|
+
|
31
|
+
def text
|
32
|
+
normalize_text(strip_html(@doc.css(".FAZArtikelText").first))
|
33
|
+
rescue
|
34
|
+
''
|
35
|
+
end
|
36
|
+
|
37
|
+
register_service
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
data/lib/service.rb
CHANGED
@@ -18,9 +18,17 @@ module DiffNews
|
|
18
18
|
@@services = []
|
19
19
|
@@store_class = DefaultHistory
|
20
20
|
|
21
|
+
def self.services
|
22
|
+
@@services
|
23
|
+
end
|
24
|
+
|
21
25
|
def provider
|
22
26
|
self.class.provider
|
23
27
|
end
|
28
|
+
|
29
|
+
def encoding
|
30
|
+
@doc.encoding
|
31
|
+
end
|
24
32
|
|
25
33
|
def current_revision
|
26
34
|
return @history.revisions.last
|
data/lib/version.info
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.1
|
data/test/file_store_test.rb
CHANGED
@@ -8,11 +8,4 @@ class FileStoreTest < Minitest::Test
|
|
8
8
|
mock = DiffNews::Service.create 'mock_me'
|
9
9
|
end
|
10
10
|
|
11
|
-
def tagi_history
|
12
|
-
DiffNews::Service::store_class = DiffNews::FileHistory
|
13
|
-
tagi = DiffNews::Service.create 'http://www.tagesanzeiger.ch/sport/tennis/aufschlag-smash-und-tschuess/story/10062709'
|
14
|
-
|
15
|
-
assert_equal 1, tagi.history.revisions.count
|
16
|
-
end
|
17
|
-
|
18
11
|
end
|
data/test/news_service_test.rb
CHANGED
@@ -12,15 +12,4 @@ class NewsServiceTest < Minitest::Test
|
|
12
12
|
assert_equal "Mock Title", service.current_revision.title
|
13
13
|
end
|
14
14
|
|
15
|
-
def test_tagi_history
|
16
|
-
DiffNews::Service::store_class = DiffNews::DefaultHistory
|
17
|
-
tagi = DiffNews::Service.create 'http://www.tagesanzeiger.ch/sport/tennis/aufschlag-smash-und-tschuess/story/10062709'
|
18
|
-
assert_equal 1, tagi.history.revisions.count
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_nzz_history
|
22
|
-
DiffNews::Service::store_class = DiffNews::DefaultHistory
|
23
|
-
nzz = DiffNews::Service.create 'https://www.nzz.ch/finanzen/abgang-eines-wichtigen-softwarespezialisten-die-tesla-aktie-hat-derzeit-gegenwind-ld.1304770'
|
24
|
-
assert_equal 1, nzz.history.revisions.count
|
25
|
-
end
|
26
15
|
end
|
data/test/service_test.rb
CHANGED
@@ -5,7 +5,8 @@ class ServiceTest < Minitest::Test
|
|
5
5
|
def test_create_providers
|
6
6
|
providers = {
|
7
7
|
'http://www.tagesanzeiger.ch/sport/tennis/aufschlag-smash-und-tschuess/story/10062709' => 'tagesanzeiger.ch',
|
8
|
-
'https://www.nzz.ch/international/europa/abstimmung-im-eu-parlament-xxx-fuer-beitrittsverhandlungen-mit-der-tuerkei-ld.1304606' => 'nzz.ch'
|
8
|
+
'https://www.nzz.ch/international/europa/abstimmung-im-eu-parlament-xxx-fuer-beitrittsverhandlungen-mit-der-tuerkei-ld.1304606' => 'nzz.ch',
|
9
|
+
'http://www.20min.ch/digital/news/story/Wi-Fi-Luecke-gefaehrdet-Millionen-von-Handys-12672249' => '20min.ch',
|
9
10
|
}
|
10
11
|
|
11
12
|
providers.each do |url, provider|
|
metadata
CHANGED
@@ -1,15 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diff_news
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Bruderer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: uuidtools
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.1.5
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.1'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 2.1.5
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: nokgiri
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.8'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.8.0
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.8'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.8.0
|
13
53
|
- !ruby/object:Gem::Dependency
|
14
54
|
name: bundler
|
15
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,6 +139,8 @@ files:
|
|
99
139
|
- lib/default_history.rb
|
100
140
|
- lib/diff_news.rb
|
101
141
|
- lib/file_history.rb
|
142
|
+
- lib/news_service/20min.rb
|
143
|
+
- lib/news_service/faz.rb
|
102
144
|
- lib/news_service/mock.rb
|
103
145
|
- lib/news_service/nzz.rb
|
104
146
|
- lib/news_service/tagesanzeiger.rb
|