diff_news 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|