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