rss2mail 0.4.0 → 0.4.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: fdea9e96f8edf94d5ee97696867166ba486f9782
4
- data.tar.gz: 8ed7b8c15cb8efe8b3fbb7faca729801b77e81e8
3
+ metadata.gz: 017417bfb43b6f08d3d3c796a060ea0acf87f5de
4
+ data.tar.gz: 7f7368f9f3d2bf056d4252fbf79cf1c24b4f27ef
5
5
  SHA512:
6
- metadata.gz: 469f61866f232d6f8112f5d858e872931015f6c77fb859aac281f83f55a35fe714901fc63f37033ef0cd005cfba0e1730a2507746ba058d7da9beca08175abe7
7
- data.tar.gz: 4d69774ae5c80083fdb056079ffcc4e6f058854af32284e99df3086a19d973355aebaff2377449591b80fd22903f7810568b9a2e78ba22cdb6ad1bb1077cca1f
6
+ metadata.gz: 437ecbd3b9f6bb2fb5a1087f0ee8f3bc0371531216c3e5bcd9d6725d0690fc22da8447215de6b2d6adfa89b6bd7c2629ef923bef8b2b4a65866fb2fc117600f5
7
+ data.tar.gz: c896efbe7131abe1ba37a88a1ec9af9cd6c9fb4bac427aea5a4a483953f8cccc953a6926474b2ed4b18b742ac7f0e89b5b87d1e837935b7b6d91c649afc9bd5d
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to rss2mail version 0.4.0
5
+ This documentation refers to rss2mail version 0.4.1
6
6
 
7
7
 
8
8
  == DESCRIPTION
@@ -13,10 +13,9 @@ recipients. See <tt>example/</tt> directory for a sample configuration file.
13
13
 
14
14
  == LINKS
15
15
 
16
- <b></b>
17
- Documentation:: http://blackwinter.github.com/rss2mail
18
- Source code:: http://github.com/blackwinter/rss2mail
19
- RubyGem:: http://rubygems.org/gems/rss2mail
16
+ Documentation:: https://blackwinter.github.io/rss2mail/
17
+ Source code:: https://github.com/blackwinter/rss2mail
18
+ RubyGem:: https://rubygems.org/gems/rss2mail
20
19
 
21
20
 
22
21
  == AUTHORS
data/Rakefile CHANGED
@@ -13,7 +13,10 @@ begin
13
13
  :license => %q{AGPL-3.0},
14
14
  :homepage => :blackwinter,
15
15
  :extra_files => FileList['templates/*'].to_a,
16
- :dependencies => %w[nokogiri simple-rss sinatra unidecoder] << ['ruby-nuggets', '>= 0.9.6']
16
+ :dependencies => %w[
17
+ cyclops nokogiri ruby-nuggets safe_yaml
18
+ simple-rss sinatra unidecoder
19
+ ]
17
20
  }
18
21
  }}
19
22
  rescue LoadError => err
data/lib/rss2mail/app.rb CHANGED
@@ -26,14 +26,14 @@
26
26
  ###############################################################################
27
27
  #++
28
28
 
29
- require 'yaml'
30
29
  require 'sinatra'
31
30
  require 'rss2mail/util'
31
+ require 'safe_yaml/load'
32
32
 
33
33
  use Rack::Auth::Basic do |user, pass|
34
34
  @auth ||= begin
35
35
  file = File.join(settings.root, 'auth.yaml')
36
- File.readable?(file) ? YAML.load_file(file) : {}
36
+ File.readable?(file) ? SafeYAML.load_file(file) : {}
37
37
  end
38
38
 
39
39
  @auth[user] == pass
@@ -74,7 +74,8 @@ def prepare
74
74
  user = request.env['REMOTE_USER'] or error(400)
75
75
 
76
76
  @feeds_file = File.join(settings.root, 'feeds.d', "#{user}.yaml")
77
- @feeds = File.readable?(@feeds_file) ? YAML.load_file(@feeds_file) : {}
77
+ @feeds = File.readable?(@feeds_file) ?
78
+ SafeYAML.load_file(@feeds_file, :deserialize_symbols => true) : {}
78
79
  @targets = @feeds.keys.sort_by { |t, _| t.to_s }
79
80
  end
80
81
 
data/lib/rss2mail/cli.rb CHANGED
@@ -24,24 +24,23 @@
24
24
  ###############################################################################
25
25
  #++
26
26
 
27
- require 'nuggets/cli'
28
-
27
+ require 'cyclops'
29
28
  require 'rss2mail'
30
29
 
31
30
  module RSS2Mail
32
31
 
33
- class CLI < Nuggets::CLI
32
+ class CLI < Cyclops
34
33
 
35
34
  class << self
36
35
 
37
36
  def defaults
38
37
  super.merge(
39
- :files => nil,
40
- :smtp => nil,
41
- :lmtp => nil,
42
- :reload => false,
43
- :verbose => false,
44
- :debug => false
38
+ files: nil,
39
+ smtp: nil,
40
+ lmtp: nil,
41
+ reload: false,
42
+ verbose: false,
43
+ debug: false
45
44
  )
46
45
  end
47
46
 
@@ -70,7 +69,7 @@ module RSS2Mail
70
69
 
71
70
  (options.delete(:files) || default_files).each { |feeds_file|
72
71
  feeds = begin
73
- YAML.load_file(feeds_file)
72
+ SafeYAML.load_file(feeds_file, deserialize_symbols: true)
74
73
  rescue Errno::ENOENT
75
74
  warn "Feeds file not found: #{feeds_file}"
76
75
  next
@@ -94,44 +93,27 @@ module RSS2Mail
94
93
  private
95
94
 
96
95
  def opts(opts)
97
- opts.on('-d', '--directory DIRECTORY', 'Process all feeds in directory') { |dir|
96
+ opts.option(:directory__DIRECTORY, 'Process all feeds in directory') { |dir|
98
97
  quit "#{dir}: No such file or directory" unless File.directory?(dir)
99
98
  quit "#{dir}: Permission denied" unless File.readable?(dir)
100
99
 
101
100
  options[:files] = Dir[File.join(dir, '*.yaml')]
102
101
  }
103
102
 
104
- opts.separator ''
103
+ opts.separator
105
104
 
106
105
  %w[smtp lmtp].each { |type|
107
106
  klass = Transport.const_get(type.upcase)
108
107
 
109
- opts.on("-#{type[0, 1]}", "--#{type} [HOST[:PORT]]",
110
- "Send mail through #{type.upcase} server",
108
+ opts.on("-#{type[0, 1]}", "--#{type} [HOST[:PORT]]", "Send mail through #{type.upcase} server",
111
109
  "[Default host: #{klass::DEFAULT_HOST}, default port: #{klass::DEFAULT_PORT}]") { |host|
112
110
  options[type.to_sym] = host.to_s
113
111
  }
114
112
  }
115
113
 
116
- opts.separator ''
117
-
118
- opts.on('-r', '--reload', 'Reload feeds') {
119
- options[:reload] = true
120
- }
121
- end
122
-
123
- def generic_opts(opts)
124
- opts.on('-v', '--verbose', 'Be verbose') {
125
- options[:verbose] = true
126
- }
127
-
128
- opts.on('-D', '--debug', "Print debug output; don't send any mails") {
129
- options[:debug] = true
130
- }
131
-
132
- opts.separator ''
114
+ opts.separator
133
115
 
134
- super
116
+ opts.switch(:reload, 'Reload feeds')
135
117
  end
136
118
 
137
119
  def default_files
@@ -4,7 +4,7 @@ module RSS2Mail
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 4
7
- TINY = 0
7
+ TINY = 1
8
8
 
9
9
  class << self
10
10
 
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rss2mail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Wille
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-11 00:00:00.000000000 Z
11
+ date: 2014-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cyclops
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: nokogiri
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -24,6 +38,34 @@ dependencies:
24
38
  - - ">="
25
39
  - !ruby/object:Gem::Version
26
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ruby-nuggets
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: safe_yaml
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
27
69
  - !ruby/object:Gem::Dependency
28
70
  name: simple-rss
29
71
  requirement: !ruby/object:Gem::Requirement
@@ -67,19 +109,33 @@ dependencies:
67
109
  - !ruby/object:Gem::Version
68
110
  version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
- name: ruby-nuggets
112
+ name: hen
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
115
  - - ">="
74
116
  - !ruby/object:Gem::Version
75
- version: 0.9.6
76
- type: :runtime
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rake
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
77
133
  prerelease: false
78
134
  version_requirements: !ruby/object:Gem::Requirement
79
135
  requirements:
80
136
  - - ">="
81
137
  - !ruby/object:Gem::Version
82
- version: 0.9.6
138
+ version: '0'
83
139
  description: Send RSS feeds as e-mail
84
140
  email: jens.wille@gmail.com
85
141
  executables:
@@ -114,7 +170,7 @@ metadata: {}
114
170
  post_install_message:
115
171
  rdoc_options:
116
172
  - "--title"
117
- - rss2mail Application documentation (v0.4.0)
173
+ - rss2mail Application documentation (v0.4.1)
118
174
  - "--charset"
119
175
  - UTF-8
120
176
  - "--line-numbers"