rcr-notify 0.1.1 → 0.1.2

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.
@@ -1,8 +1,22 @@
1
- = runcoderun-notifier
1
+ h1. rcr-notify: Growl notification for run>code>run
2
2
 
3
- Description goes here.
3
+ h2. Installation
4
4
 
5
- == Note on Patches/Pull Requests
5
+ * Install "Growl":http://growl.info/
6
+ * In the network tab of growl settings, check
7
+ ** Listen for incoming notifications AND
8
+ ** Allow remote application registration
9
+ * Install the gem: @sudo gem install rcr-notify@
10
+
11
+ h2. Running
12
+
13
+ @rcr-notify -u <rcr username>&@
14
+
15
+ See @rcr-notify --help@ for more options.
16
+
17
+ h3. That's it!
18
+
19
+ h2. Note on Patches/Pull Requests
6
20
 
7
21
  * Fork the project.
8
22
  * Make your feature addition or bug fix.
@@ -13,6 +27,6 @@ Description goes here.
13
27
  bump version in a commit by itself I can ignore when I pull)
14
28
  * Send me a pull request. Bonus points for topic branches.
15
29
 
16
- == Copyright
30
+ h2. Copyright
17
31
 
18
32
  Copyright (c) 2009 Jacob Rothstein. See LICENSE for details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
data/bin/rcr-notify CHANGED
@@ -2,13 +2,14 @@
2
2
  require File.instance_eval{expand_path(join(dirname(__FILE__), '..', 'lib', 'rcr-notify'))}
3
3
 
4
4
  notifier = RcrNotify::Notifier.new
5
+ STDOUT.sync = true
5
6
 
6
7
  OptionParser.new do |opts|
7
8
  opts.banner = "Usage: #{$0} [options]"
8
9
  opts.instance_eval do
9
10
  on("-u", "--user USERNAME", "Runcoderun Username") {|u| notifier.settings[:username] = u }
10
- on("-i", "--interval INTERVAL", "Polling interval in seconds (default: 30)") do |i|
11
- notifier.settings[:interval] = i.to_i
11
+ on("-i", "--interval INTERVAL", Numeric, "Polling interval in seconds (default: 30)") do |i|
12
+ notifier.settings[:interval] = i
12
13
  end
13
14
  on_tail("--help", "This message") {puts opts; exit}
14
15
  end
@@ -20,6 +21,11 @@ unless notifier.settings[:username]
20
21
  end
21
22
 
22
23
  loop do
23
- notifier.poll
24
- sleep notifier.settings[:interval]
24
+ begin
25
+ notifier.poll
26
+ sleep notifier.settings[:interval]
27
+ rescue Interrupt
28
+ puts "\nTerminated #{Time.now}"
29
+ exit
30
+ end
25
31
  end
data/lib/rcr-notify.rb CHANGED
@@ -14,6 +14,7 @@ module RcrNotify
14
14
  end
15
15
 
16
16
  def poll
17
+ print '.'
17
18
  data = JSON::parse open(url).read
18
19
 
19
20
  projects = data["user"]["projects"].inject({}) do |hash, project|
@@ -34,7 +35,7 @@ module RcrNotify
34
35
  def notify_for(name, last_time, this_time)
35
36
  return if this_time['commit'] == last_time['commit']
36
37
 
37
- commit_message = "\"#{this_time['commit_message']}\"\n" +
38
+ commit_message = "#{this_time['commit_message']}\n" +
38
39
  "\t\t—#{this_time['author_name']}"
39
40
 
40
41
  title = if success?(this_time)
@@ -47,7 +48,7 @@ module RcrNotify
47
48
  end
48
49
 
49
50
  def success?(hash)
50
- hash["status"] == "success"
51
+ hash && hash["status"] == "success"
51
52
  end
52
53
 
53
54
  def url
@@ -56,6 +57,7 @@ module RcrNotify
56
57
 
57
58
  def notify(title, body, success)
58
59
  type = success ? 'success' : 'failure'
60
+ puts "\n\n#{title} (#{type})\n#{body}\n\n"
59
61
  @growl.notify type, title, body
60
62
  end
61
63
  end
data/rcr-notify.gemspec CHANGED
@@ -5,24 +5,24 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rcr-notify}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jacob Rothstein"]
12
- s.date = %q{2009-11-23}
12
+ s.date = %q{2009-11-30}
13
13
  s.default_executable = %q{rcr-notify}
14
14
  s.description = %q{Simple json poller with ruby-growl notification}
15
15
  s.email = %q{github@jacobrothstein.com}
16
16
  s.executables = ["rcr-notify"]
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE",
19
- "README.rdoc"
19
+ "README.textile"
20
20
  ]
21
21
  s.files = [
22
22
  ".document",
23
23
  ".gitignore",
24
24
  "LICENSE",
25
- "README.rdoc",
25
+ "README.textile",
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "bin/rcr-notify",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rcr-notify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Rothstein
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-23 00:00:00 -08:00
12
+ date: 2009-11-30 00:00:00 -08:00
13
13
  default_executable: rcr-notify
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -40,12 +40,12 @@ extensions: []
40
40
 
41
41
  extra_rdoc_files:
42
42
  - LICENSE
43
- - README.rdoc
43
+ - README.textile
44
44
  files:
45
45
  - .document
46
46
  - .gitignore
47
47
  - LICENSE
48
- - README.rdoc
48
+ - README.textile
49
49
  - Rakefile
50
50
  - VERSION
51
51
  - bin/rcr-notify