trackchange 0.5.4 → 0.6.0
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 +7 -0
- data/README.md +15 -1
- data/lib/trackchange/exec.rb +5 -0
- data/lib/trackchange/probe.rb +22 -0
- data/lib/trackchange/version.rb +1 -1
- data/trackchange.gemspec +1 -0
- metadata +28 -28
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7fff88084507d3bb6491075831326bd746ff5654
|
4
|
+
data.tar.gz: eafe79d242ae9951be8db6abf65ae6be16b92264
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6e39519d1ebdfb374a85a8860699cfbd0bd0eae293f01c1c10cd58f70e63170e7254c4ee51f2fca24bdae4dcda8a9a95188cf2ff780471736ff434b959ec3e5e
|
7
|
+
data.tar.gz: 8dd95fa1e90352a578ff59b4c435fed3a070606414d7fabaede742ef999b84dee2a6124321085d994b3b78be9ae2162f2eec8db9f46bfa25bd53c5181d80bc6b
|
data/README.md
CHANGED
@@ -27,6 +27,9 @@ Or install it yourself as:
|
|
27
27
|
# Set path to store RSS feed
|
28
28
|
trackchange rss <path>
|
29
29
|
|
30
|
+
# Set slack hook
|
31
|
+
trackchange slack <url>
|
32
|
+
|
30
33
|
# Add site
|
31
34
|
trackchange add <url>
|
32
35
|
|
@@ -64,7 +67,7 @@ with. (Unfortunately pandoc only works with http, not with https and
|
|
64
67
|
does not follow redirects, hence the version with curl.)
|
65
68
|
|
66
69
|
lynx -dump '%url%' | uniq | sed -e "/References/,/\s+[0-9]+\. h/d"
|
67
|
-
|
70
|
+
|
68
71
|
lynx -nolist -dump '%url%' | uniq
|
69
72
|
|
70
73
|
pandoc '%url%' -t markdown
|
@@ -75,6 +78,17 @@ does not follow redirects, hence the version with curl.)
|
|
75
78
|
|
76
79
|
phantomjs %queryscript% '%url%' '%selector%'
|
77
80
|
|
81
|
+
### slack_hook (optional)
|
82
|
+
|
83
|
+
...
|
84
|
+
|
85
|
+
### slack (optional)
|
86
|
+
|
87
|
+
Allows to change the defaults...
|
88
|
+
|
89
|
+
- channel
|
90
|
+
- username
|
91
|
+
- icon_emoji
|
78
92
|
|
79
93
|
### rss_path (optional)
|
80
94
|
|
data/lib/trackchange/exec.rb
CHANGED
data/lib/trackchange/probe.rb
CHANGED
@@ -2,6 +2,8 @@ require 'logger'
|
|
2
2
|
require 'fileutils'
|
3
3
|
require 'tempfile'
|
4
4
|
require 'rss'
|
5
|
+
require 'faraday'
|
6
|
+
require 'json'
|
5
7
|
|
6
8
|
module Trackchange
|
7
9
|
class Probe < Struct.new(:config)
|
@@ -16,6 +18,20 @@ module Trackchange
|
|
16
18
|
config.sites.each { |site| probe(site) }
|
17
19
|
end
|
18
20
|
|
21
|
+
def faraday
|
22
|
+
@faraday ||= Faraday.new do |f|
|
23
|
+
f.request :url_encoded
|
24
|
+
f.adapter Faraday.default_adapter
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def slack_defaults
|
29
|
+
{
|
30
|
+
'username' => 'trackchange',
|
31
|
+
'icon_emoji' => ':fax:'
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
19
35
|
def probe(site)
|
20
36
|
url = site[:url]
|
21
37
|
fname = url.sub(%r{https?://}, '').tr_s('/?&', '...')
|
@@ -69,6 +85,12 @@ module Trackchange
|
|
69
85
|
|
70
86
|
return if skip_notification
|
71
87
|
|
88
|
+
if slack_hook = config.slack_hook
|
89
|
+
message = slack_defaults.merge(config.slack.to_h)
|
90
|
+
message['text'] = "#{url}\n\n#{result}"
|
91
|
+
faraday.post slack_hook, payload: JSON.unparse(message)
|
92
|
+
end
|
93
|
+
|
72
94
|
if email = config.email # send email
|
73
95
|
logger.info "sending notification to #{email}"
|
74
96
|
begin
|
data/lib/trackchange/version.rb
CHANGED
data/trackchange.gemspec
CHANGED
metadata
CHANGED
@@ -1,62 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackchange
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- phil
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2018-03-29 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: cronedit
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
28
39
|
- !ruby/object:Gem::Version
|
29
40
|
version: '0'
|
30
41
|
- !ruby/object:Gem::Dependency
|
31
42
|
name: bundler
|
32
43
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
44
|
requirements:
|
35
|
-
- - ~>
|
45
|
+
- - "~>"
|
36
46
|
- !ruby/object:Gem::Version
|
37
47
|
version: '1.3'
|
38
48
|
type: :development
|
39
49
|
prerelease: false
|
40
50
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
51
|
requirements:
|
43
|
-
- - ~>
|
52
|
+
- - "~>"
|
44
53
|
- !ruby/object:Gem::Version
|
45
54
|
version: '1.3'
|
46
55
|
- !ruby/object:Gem::Dependency
|
47
56
|
name: rake
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
58
|
requirements:
|
51
|
-
- -
|
59
|
+
- - ">="
|
52
60
|
- !ruby/object:Gem::Version
|
53
61
|
version: '0'
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
65
|
requirements:
|
59
|
-
- -
|
66
|
+
- - ">="
|
60
67
|
- !ruby/object:Gem::Version
|
61
68
|
version: '0'
|
62
69
|
description: Track change of websites
|
@@ -67,7 +74,7 @@ executables:
|
|
67
74
|
extensions: []
|
68
75
|
extra_rdoc_files: []
|
69
76
|
files:
|
70
|
-
- .gitignore
|
77
|
+
- ".gitignore"
|
71
78
|
- Gemfile
|
72
79
|
- LICENSE.txt
|
73
80
|
- README.md
|
@@ -83,32 +90,25 @@ files:
|
|
83
90
|
homepage: ''
|
84
91
|
licenses:
|
85
92
|
- MIT
|
93
|
+
metadata: {}
|
86
94
|
post_install_message:
|
87
95
|
rdoc_options: []
|
88
96
|
require_paths:
|
89
97
|
- lib
|
90
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
99
|
requirements:
|
93
|
-
- -
|
100
|
+
- - ">="
|
94
101
|
- !ruby/object:Gem::Version
|
95
102
|
version: '0'
|
96
|
-
segments:
|
97
|
-
- 0
|
98
|
-
hash: -4087208790757576818
|
99
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
104
|
requirements:
|
102
|
-
- -
|
105
|
+
- - ">="
|
103
106
|
- !ruby/object:Gem::Version
|
104
107
|
version: '0'
|
105
|
-
segments:
|
106
|
-
- 0
|
107
|
-
hash: -4087208790757576818
|
108
108
|
requirements: []
|
109
109
|
rubyforge_project:
|
110
|
-
rubygems_version:
|
110
|
+
rubygems_version: 2.4.5.1
|
111
111
|
signing_key:
|
112
|
-
specification_version:
|
112
|
+
specification_version: 4
|
113
113
|
summary: Track change of websites
|
114
114
|
test_files: []
|