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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b8fb36e0227389624d87173d0c0c6a1345a7f933
4
- data.tar.gz: 4fa5f28152f01432fdde5b51df1774439080024c
3
+ metadata.gz: 8af61cd67710d931daa198086b53a0a83c9ee30c
4
+ data.tar.gz: 314fca9d8005c2518db2f8153b3be35ea73d302c
5
5
  SHA512:
6
- metadata.gz: adca1f78c3bcf8fb43eab5b88fbe87117d98f4e56e30f577ab3d438dba9d78e8e5bcc8bce8092e948bcf3dca0515d379492bf6eac59b9ff7f1fffe62f54c7c2e
7
- data.tar.gz: 357f4e1087332e2ff2618ea76fa427c2e732e8cffe6e22f9743dbb94683b9456f76fb96c7abe19bcd91dee361fa3fc4529b1b8ec5d3018df212ac5e63156357a
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.0
1
+ 0.9.1
@@ -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
@@ -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.0
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-07 00:00:00.000000000 Z
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