imap_notifier 0.2.3 → 0.2.4

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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- imap_notifier (0.2.3)
4
+ imap_notifier (0.2.4)
5
5
  highline
6
6
  ruby-growl
7
7
  terminal-notifier
data/README.md CHANGED
@@ -17,8 +17,9 @@ Example ~/.imap_notifier file
17
17
  - Monitoring
18
18
  - Commits
19
19
  - Team+Status
20
- user: 'han.solo'
20
+ user: 'han.solo'
21
21
  domain: 'example.org'
22
+ server: 'imap.server.com'
22
23
  password: "1H@t3BuG$!"
23
24
  max: 10
24
25
 
@@ -43,4 +44,4 @@ Tips
43
44
  ------
44
45
 
45
46
  * User name is pulled from your environment via ```ruby ENV['USER'] ```
46
- * If the root domain of your IMAP server is the same as your email domain (i.e. imap._gmail.com_ IS the same as user@_gmail.com_) then you only need to specify the IMAP server.
47
+ * If the root domain of your IMAP server is the same as your email domain (i.e. imap._gmail.com_ IS the same as user@_gmail.com_) then you only need to specify the IMAP server.
data/bin/imap_notifier CHANGED
@@ -28,12 +28,12 @@ opt_parser = OptionParser.new do |opt|
28
28
  opts[:config] = c
29
29
  end
30
30
 
31
- opt.on('-s','--server STR', "Specify imap server.\t[Default: #{$imap_server}]") do |s|
32
- $imap_server = s
31
+ opt.on('-s','--server STR', "Specify imap server.\t[Default: #{IMAP_SERVER}]") do |s|
32
+ opts[:server] = s
33
33
  end
34
34
 
35
35
  opt.on('-d','--domain STR',
36
- "Specify email domain.\t[Default: #{$imap_server.split('.').pop(2).join('.')}]") do |d|
36
+ "Specify email domain.\t[Default: #{IMAP_SERVER.split('.').pop(2).join('.')}]") do |d|
37
37
  opts[:domain] = d.gsub(/.+\@/,'')
38
38
  end
39
39
 
data/lib/imap_notifier.rb CHANGED
@@ -12,7 +12,7 @@ SLEEP = 30
12
12
  ERRFILE = File.expand_path('~/Desktop/imap_notifier.log')
13
13
  DEBUGFILE = '/tmp/imap_notifier.debug'
14
14
  PIDFILE = '/tmp/imap_notifier.pid'
15
- $imap_server = "imap.gmail.com" # could be anything with tweaks
15
+ IMAP_SERVER = "imap.gmail.com" # could be anything with tweaks
16
16
 
17
17
  if `uname`.strip == 'Darwin'
18
18
  if (OSX_VERSION = `sw_vers -productVersion`.strip) >= '10.8'
@@ -5,6 +5,12 @@ class IMAP_Notifier
5
5
  Process.kill("SIGINT", pid)
6
6
  rescue Errno::ESRCH, Errno::ENOENT => e
7
7
  puts "#{e.message} - Exiting..."
8
+ ensure
9
+ self.delete_pid
10
+ end
11
+
12
+ def self.delete_pid
13
+ File.delete(PIDFILE) if File.exists?(PIDFILE)
8
14
  end
9
15
 
10
16
  def initialize(opts={})
@@ -29,7 +35,7 @@ class IMAP_Notifier
29
35
  @imap = nil
30
36
  rescue Exception => err
31
37
  say_goodbye(err.class.to_s) || handle_exception(err)
32
- exit
38
+ stop
33
39
  end while true
34
40
  end
35
41
 
@@ -56,7 +62,8 @@ class IMAP_Notifier
56
62
 
57
63
  def stop
58
64
  IMAP_Notifier::Alert.remove
59
- File.delete(PIDFILE) if File.exists?(PIDFILE)
65
+ self.class.delete_file
66
+ exit
60
67
  end
61
68
 
62
69
  private
@@ -65,7 +72,7 @@ class IMAP_Notifier
65
72
  end
66
73
 
67
74
  def _imap
68
- imap = Net::IMAP.new($imap_server, { :port => 993, :ssl => true } )
75
+ imap = Net::IMAP.new(@imap_server, { :port => 993, :ssl => true } )
69
76
  imap.login(@user, @password)
70
77
  @notifier.alert("#{@user} connected!", :group => @domain)
71
78
  return imap
@@ -74,7 +81,6 @@ class IMAP_Notifier
74
81
  def say_goodbye(klass)
75
82
  return if !(klass.eql? "Interrupt")
76
83
  @notifier.alert("Goodbye!", :group => @domain)
77
- File.delete(ERRFILE) if File.exists?(ERRFILE)
78
84
  end
79
85
 
80
86
  def handle_exception(err)
@@ -1,12 +1,13 @@
1
1
  class IMAP_Notifier
2
2
  def config(opts={})
3
3
  read_conf opts
4
- @domain = opts[:domain] || $imap_server.split('.').pop(2).join('.')
5
- @user = "#{opts[:user]}@#{@domain}"
6
- @password = opts[:password] || get_password
7
- @folders = mbox_conf opts[:folders] || ['INBOX']
8
- @debug = opts[:debug] || false
9
- @max_mail = opts[:max] || MAX_MAIL
4
+ @imap_server = opts[:server] || IMAP_SERVER
5
+ @domain = opts[:domain] || @imap_server.split('.').pop(2).join('.')
6
+ @user = "#{opts[:user]}@#{@domain}"
7
+ @password = opts[:password] || get_password
8
+ @folders = mbox_conf opts[:folders] || ['INBOX']
9
+ @debug = opts[:debug] || false
10
+ @max_mail = opts[:max] || MAX_MAIL
10
11
  end
11
12
 
12
13
  private
@@ -1,3 +1,3 @@
1
1
  class IMAP_Notifier
2
- VERSION='0.2.3'
2
+ VERSION='0.2.4'
3
3
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imap_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - David Campbell
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-09-21 00:00:00.000000000 Z
12
+ date: 2014-02-04 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ! '>='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: highline
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: ruby-growl
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ! '>='
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ! '>='
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: terminal-notifier
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ! '>='
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :runtime
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ! '>='
81
92
  - !ruby/object:Gem::Version
@@ -104,26 +115,30 @@ files:
104
115
  homepage: https://github.com/dacamp/imap_notifier
105
116
  licenses:
106
117
  - MIT
107
- metadata: {}
108
118
  post_install_message:
109
119
  rdoc_options: []
110
120
  require_paths:
111
121
  - lib
112
122
  required_ruby_version: !ruby/object:Gem::Requirement
123
+ none: false
113
124
  requirements:
114
125
  - - ! '>='
115
126
  - !ruby/object:Gem::Version
116
127
  version: 1.9.2
117
128
  required_rubygems_version: !ruby/object:Gem::Requirement
129
+ none: false
118
130
  requirements:
119
131
  - - ! '>='
120
132
  - !ruby/object:Gem::Version
121
133
  version: '0'
134
+ segments:
135
+ - 0
136
+ hash: -1862814060607132887
122
137
  requirements: []
123
138
  rubyforge_project:
124
- rubygems_version: 2.0.7
139
+ rubygems_version: 1.8.23
125
140
  signing_key:
126
- specification_version: 4
141
+ specification_version: 3
127
142
  summary: Notification of new, unread email via IMAP using Ruby, Highline, Net/IMAP,
128
143
  and terminal-notifier/ruby-growl. If you're running Max OSX > 10.8, terminal-notifier
129
144
  is required, otherwise ruby-growl and Growl is required.
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- M2M4NjlmOTY0ZTUxNWRlY2JlOTUwNjY1ZDgyNGY5OTQ0YmZlNjE2YQ==
5
- data.tar.gz: !binary |-
6
- ZWE4OThiYjczOTM0MGY3YTVkN2Y4ZmFkZWQwMDI3YjEwM2M4YjQxZA==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- ZGUwMmJhNDQ2ODJlNjM0Y2UxYTRlODlmZjY4ZWZiMzNlYmFhYTE5OTg1Njhh
10
- MGQxOWQ0YmQzZjAzNmU2YTBiNzM3ODRjMzMwYjI0NmE4OGJlYWIxMzFlNzhl
11
- NDVkMzhlODAxNWEyMTA5OGU5ZWM1MGIxYTJjMmU3ZTEzZjc4OTE=
12
- data.tar.gz: !binary |-
13
- NmVkNTA3YzlmMDU5Y2IyOGJhMmQ4Y2EzOWY0MjI0N2NhMGY3N2Q3YzE2OTk2
14
- NzVhNDViZTU5Y2ViZjdjNjllMDdmZThmMGM4YjYwMTM2YzRlZDlhMmIzZDE3
15
- MzEyZGNiZDMzMmNiZjYwN2VkN2Q1OTM4MGU5M2FkZjlmOTNmODY=