autometal-growl 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt ADDED
@@ -0,0 +1,4 @@
1
+ === 0.0.1 2010-09-16
2
+
3
+ * 1 major enhancement:
4
+ * Initial release
data/Manifest.txt ADDED
@@ -0,0 +1,15 @@
1
+ History.txt
2
+ Manifest.txt
3
+ PostInstall.txt
4
+ README.rdoc
5
+ Rakefile
6
+ autometal-growl.gemspec
7
+ bin/install_growl
8
+ lib/growl.rb
9
+ script/console
10
+ script/destroy
11
+ script/generate
12
+ shellscripts/growl
13
+ tasks/install.rake
14
+ test/test_growl.rb
15
+ test/test_helper.rb
data/PostInstall.txt ADDED
@@ -0,0 +1,7 @@
1
+
2
+ Thanks for installing growl.
3
+
4
+ Please run +sudo install_growl+ to complete the installation
5
+
6
+ For more information, see http://humbuckercode.co.uk/licks/gems/growl
7
+
data/README.rdoc ADDED
@@ -0,0 +1,56 @@
1
+ = autometal-growl
2
+
3
+ * http://github.com/Achillefs/growl
4
+ * http://humbuckercode.co.uk/licks/gems/growl
5
+
6
+ == DESCRIPTION:
7
+
8
+ Creates a Growl notification with a custom title and body.
9
+
10
+ === Available options:
11
+ :sticky: Make a sticky notification. Default is false
12
+ :title: Notification title. Defaults to 'Script Notification'
13
+
14
+ === Example
15
+ %W[rubygems growl].each { |r| require r }
16
+ msg = "1 inch man - Gimme more"
17
+ notification = Autometal::Growl.new(msg, :title => "Welcome to Sky Valley")
18
+ notification.transmit!
19
+
20
+ == REQUIREMENTS:
21
+
22
+ Depends on Bob Harris' growl Shell script http://hints.macworld.com/dlfiles/growl_sh.txt
23
+
24
+ == INSTALL:
25
+
26
+ sudo gem install growl
27
+
28
+ After installation, please run:
29
+ sudo install_growl
30
+
31
+ This will install the required shellscript
32
+
33
+ == LICENSE:
34
+
35
+ (The MIT License)
36
+
37
+ Copyright (c) 2010 Achillefs Charmpilas
38
+
39
+ Permission is hereby granted, free of charge, to any person obtaining
40
+ a copy of this software and associated documentation files (the
41
+ 'Software'), to deal in the Software without restriction, including
42
+ without limitation the rights to use, copy, modify, merge, publish,
43
+ distribute, sublicense, and/or sell copies of the Software, and to
44
+ permit persons to whom the Software is furnished to do so, subject to
45
+ the following conditions:
46
+
47
+ The above copyright notice and this permission notice shall be
48
+ included in all copies or substantial portions of the Software.
49
+
50
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
51
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
52
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
53
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
54
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
55
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
56
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,22 @@
1
+ require 'rubygems'
2
+ gem 'hoe', '>= 2.1.0'
3
+ require 'hoe'
4
+ require 'fileutils'
5
+ require './lib/growl'
6
+
7
+ Hoe.plugin :newgem
8
+ # Hoe.plugin :website
9
+ # Hoe.plugin :cucumberfeatures
10
+
11
+ # Generate all the Rake tasks
12
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
13
+ $hoe = Hoe.spec 'autometal-growl' do
14
+ self.developer 'Achillefs Charmpilas', 'ac@humbuckercode.co.uk'
15
+ self.post_install_message = File.read("PostInstall.txt")
16
+ self.rubyforge_name = self.name # TODO this is default value
17
+ end
18
+
19
+ require 'newgem/tasks'
20
+ Dir['tasks/**/*.rake'].each { |t| load t }
21
+
22
+ task :default => [:install, :test]
@@ -0,0 +1,47 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{autometal-growl}
5
+ s.version = "1.0.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Achillefs Charmpilas"]
9
+ s.date = %q{2010-09-16}
10
+ s.default_executable = %q{install_growl}
11
+ s.description = %q{Creates a Growl notification with a custom title and body.}
12
+ s.email = ["ac@humbuckercode.co.uk"]
13
+ s.executables = ["install_growl"]
14
+ s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt"]
15
+ s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "bin/install_growl", "lib/growl.rb", "script/console", "script/destroy", "script/generate", "shellscripts/growl", "tasks/install.rake", "test/test_growl.rb", "test/test_helper.rb"]
16
+ s.homepage = %q{http://github.com/Achillefs/growl}
17
+ s.post_install_message = %q{
18
+ Thanks for installing growl.
19
+
20
+ Please run +sudo install_growl+ to complete the installation
21
+
22
+ For more information, see http://humbuckercode.co.uk/licks/gems/growl
23
+
24
+ }
25
+ s.rdoc_options = ["--main", "README.rdoc"]
26
+ s.require_paths = ["lib"]
27
+ s.rubyforge_project = %q{autometal-growl}
28
+ s.rubygems_version = %q{1.3.7}
29
+ s.summary = %q{Creates a Growl notification with a custom title and body.}
30
+ s.test_files = ["test/test_growl.rb", "test/test_helper.rb"]
31
+
32
+ if s.respond_to? :specification_version then
33
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
34
+ s.specification_version = 3
35
+
36
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
37
+ s.add_development_dependency(%q<rubyforge>, [">= 2.0.4"])
38
+ s.add_development_dependency(%q<hoe>, [">= 2.6.2"])
39
+ else
40
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
41
+ s.add_dependency(%q<hoe>, [">= 2.6.2"])
42
+ end
43
+ else
44
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
45
+ s.add_dependency(%q<hoe>, [">= 2.6.2"])
46
+ end
47
+ end
data/bin/install_growl ADDED
@@ -0,0 +1,15 @@
1
+ #! /usr/bin/env ruby
2
+ puts "Checking for existing +growl+ installation..."
3
+ test_cmd = %[G_TITLE="Autometal::Growl" growl -nosticky "+growl+ correctly installed and executable."]
4
+ result = system test_cmd
5
+ unless result
6
+ File.open(File.join("/","usr","local","bin","growl"),"w") do |f|
7
+ f.puts File.read("./shellscripts/growl")
8
+ f.chmod 0755
9
+ end
10
+ system test_cmd
11
+ puts "Installation complete."
12
+ else
13
+ puts "+growl+ is present, exiting."
14
+ end
15
+ puts "Done."
data/lib/growl.rb ADDED
@@ -0,0 +1,43 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+
4
+ module Autometal # :nodoc:
5
+ class GrowlException < Exception # :nodoc:
6
+ def initialize
7
+ raise "Something went wrong. Make sure +growl+ is in your path by running +sudo install_growl+"
8
+ end
9
+ end
10
+
11
+ # Creates a Growl notification with a custom title and body.
12
+ # Depends on Bob Harris' growl Shell script +http://hints.macworld.com/dlfiles/growl_sh.txt+
13
+ # You will need to download, install, make executable and include the script path in your path.
14
+ #
15
+ # Refer to +http://hints.macworld.com/dlfiles/growl_sh.txt+ for installation details
16
+ #
17
+ # = Available options:
18
+ # :sticky: Make a sticky notification. Default is false
19
+ # :title: Notification title. Defaults to 'Script Notification'
20
+ #
21
+ # = Example
22
+ # notification = Autometal::Growl.new(msg, :title => "Welcome to Sky Valley")
23
+ # notification.transmit!
24
+ class Growl
25
+ VERSION = "1.0.0"
26
+ attr_accessor :body, :sticky, :title
27
+ def initialize body, opts = {}
28
+ raise ArgumentError.new("Please provide a notification body") if [nil, false, ""].include?(body)
29
+ @title = opts.delete(:title) || "Script notification"
30
+ @body = body
31
+ @sticky = opts[:sticky] == nil ? true : opts.delete(:sticky)
32
+ end
33
+
34
+ def transmit!
35
+ response = execute_shell_command
36
+ raise Autometal::GrowlException.new unless response
37
+ end
38
+ private
39
+ def execute_shell_command
40
+ system %[G_TITLE="#{title}" growl #{sticky ? "-sticky" : "-nosticky"} "#{body}"]
41
+ end
42
+ end
43
+ end
data/script/console ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ # File: script/console
3
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
+
5
+ libs = " -r irb/completion"
6
+ # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
+ # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/growl.rb'}"
9
+ puts "Loading growl gem"
10
+ exec "#{irb} #{libs} --simple-prompt"
data/script/destroy ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/destroy'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/generate ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/generate'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Generate.new.run(ARGV)
@@ -0,0 +1,241 @@
1
+ #!/bin/sh
2
+ #-----------------------------------------------------------------------------
3
+ # growl - Send the a message to Mac OS X Growl <http://growl.info> via a
4
+ # Unix shell script.
5
+ #
6
+ # And if this is a Linux or Windows_NT box, use ssh to forward the
7
+ # growl notice to my Mac OS X workstation (taking advantage of
8
+ # previously exchanged ssh so no additional authentication is
9
+ # needed).
10
+ #
11
+ # This script should be somewhere in your PATH. I like to use
12
+ # $HOME/bin for personal scripts, and /usr/local/bin for system
13
+ # wide scripts, with appropriate entries added to PATH. The script
14
+ # needs to be executable:
15
+ #
16
+ # chmod +x $HOME/bin/growl
17
+ #
18
+ # The basics for the Growl Applescript came from the Growl
19
+ # documentation at:
20
+ # <http://growl.info/documentation/applescript-support.php>
21
+ #-----------------------------------------------------------------------------
22
+ # Bob Harris - 2-Jun-2007
23
+ #-----------------------------------------------------------------------------
24
+
25
+
26
+ #--- usage -------------------------------------------------------------------
27
+ usage()
28
+ {
29
+ echo 1>&2 ""
30
+ echo 1>&2 "Usage: growl [options] \"message to display\""
31
+ echo 1>&2 ""
32
+ echo 1>&2 " -sticky - Stays on screen until dismissed [Default]."
33
+ echo 1>&2 " -nosticky - Goes away after several seconds."
34
+ echo 1>&2 " -priority n - Priority -2,-1,0,1,2 [Default: 0]"
35
+ echo 1>&2 " -verylow - priority [-2]"
36
+ echo 1>&2 " -moderate - priority [-1]"
37
+ echo 1>&2 " -normal - priority [0] [Default]"
38
+ echo 1>&2 " -high - priority [1]"
39
+ echo 1>&2 " -emergency - priority [2]"
40
+ echo 1>&2 ""
41
+ echo 1>&2 " Interesting environment variables:"
42
+ echo 1>&2 " G_TITLE - Used as the Growl message title."
43
+ echo 1>&2 " G_APPLICATION_NAME - Used by Growl to manage a set of"
44
+ echo 1>&2 " G_WITH_NAME message configurations."
45
+ echo 1>&2 " See System Preferences -> Growl"
46
+ echo 1>&2 " G_ALL_NAMES - Used to specify 'ALL' the possible"
47
+ echo 1>&2 " G_WITH_NAME values this"
48
+ echo 1>&2 " G_APPLICATION_NAME will ever use."
49
+ echo 1>&2 " Specify something like:"
50
+ echo 1>&2 " G_ALL_NAMES='\"class1\",\"class2\"'"
51
+ echo 1>&2 " export G_ALL_NAMES"
52
+ echo 1>&2 " G_WITH_NAME - Used by Growl to associate a"
53
+ echo 1>&2 " message with a set of Growl"
54
+ echo 1>&2 " notification settings, such as"
55
+ echo 1>&2 " message style and colors associated"
56
+ echo 1>&2 " with different priorities. See"
57
+ echo 1>&2 " System preferences -> Growl"
58
+ echo 1>&2 " Specify something like:"
59
+ echo 1>&2 " G_WITH_NAME='class2'"
60
+ echo 1>&2 " export G_WITH_NAME"
61
+ echo 1>&2 " If G_WITH_NAME is not in"
62
+ echo 1>&2 " G_ALL_NAMES, nothing will be"
63
+ echo 1>&2 " displayed"
64
+ echo 1>&2 " G_APPLICATION_ICON - Display this application's icon in"
65
+ echo 1>&2 " the Growl message (default is"
66
+ echo 1>&2 " Terminal.app, as this is a shell"
67
+ echo 1>&2 " script generated Growl notice)."
68
+ echo 1>&2 ""
69
+ exit 1
70
+ }
71
+
72
+
73
+ #--- defaults ----------------------------------------------------------------
74
+ defaults()
75
+ {
76
+ #
77
+ # These 2 variables are used when this script notices that it is on a Linux
78
+ # or Windows_NT system, then this script uses ssh to forward the request to
79
+ # my Mac OS X workstation. This assumes that ssh keys have been exchanged
80
+ # between the systems so that no passwords are needed. If you don't know
81
+ # what this means, then do a Google search for something like
82
+ # "ssh nopassword key" and you should turn up a number of guides for
83
+ # configuring ssh.
84
+ #
85
+ G_REMOTE="${G_REMOTE:-juggle-mac.us.oracle.com}" # assumes ssh exchanged keys
86
+ G_REMOTE_GROWL="${G_REMOTE_GROWL:-bin/growl}" # growl script remote location
87
+
88
+ #
89
+ # G_APPLICATION_NAME is the name Growl will use in the Growl System
90
+ # Preferences to provide defaults for Display, and to collect each of your
91
+ # notification classes (See G_ALL_NAMES below).
92
+ #
93
+ G_APPLICATION_NAME="${G_APPLICATION_NAME:-Shell Script Growl Message}"
94
+ #
95
+ # G_ALL_NAMES contains a list of all the notification classes to be
96
+ # associated with the G_APPLICATION_NAME. Each notification class can have
97
+ # its own default Display, Priority, and Stickness settings in the Growl
98
+ # System Preferences.
99
+ #
100
+ G_ALL_NAMES="${G_ALL_NAMES:-\"Shell Script Growl Message\",\"Growl Message\"}"
101
+ #
102
+ # The default notification class this message should use, must be in the
103
+ # G_ALL_NAMES list above.
104
+ #
105
+ G_WITH_NAME="${G_WITH_NAME:-Shell Script Growl Message}" # default notification
106
+ #
107
+ G_TITLE="${G_TITLE:-Shell Script Growl Message}" # default title
108
+ G_APPLICATION_ICON="${G_APPLICATION_ICON:-Terminal.app}" # default icon to use
109
+ G_STICKY="${G_STICKY:-yes}" # default sticky setting
110
+ G_PRIORITY="${G_PRIORITY:-0}" # default priority (normal)
111
+ }
112
+
113
+
114
+ #--- growl -------------------------------------------------------------------
115
+ # notify v : Post a notification to be displayed via Growl
116
+ # notify
117
+ # with name string : name of the notification to display
118
+ # title string : title of the notification to display
119
+ # description string : full text of the notification to display
120
+ # application name string : name of the application posting the
121
+ # notification.
122
+ # [image from location location_reference]
123
+ # : Location of the image file to use for this
124
+ # notification. Accepts aliases, paths and
125
+ # file:/// URLs.
126
+ # [icon of file location_reference]
127
+ # : Location of the file whose icon should be
128
+ # used as the image for this notification.
129
+ # Accepts aliases, paths and file:/// URLs.
130
+ # e.g. 'file:///Applications'.
131
+ # [icon of application string]
132
+ # : Name of the application whose icon should
133
+ # be used for this notification. For
134
+ # example, 'Mail.app'.
135
+ # [image Image] : TIFF Image to be used for the
136
+ # notification.
137
+ # [pictImage Picture] : PICT Image to be used for the
138
+ # notification.
139
+ # [sticky boolean] : whether or not the notification displayed
140
+ # should time out. Defaults to 'no'.
141
+ # [priority integer] : The priority of the notification, from -2
142
+ # (low) to 0 (normal) to 2 (emergency).
143
+ #
144
+ growl()
145
+ {
146
+ typeset description="$*"
147
+
148
+ osascript <<EOD
149
+ -- From <http://growl.info/documentation/applescript-support.php>
150
+ --
151
+ tell application "GrowlHelperApp"
152
+ -- Make a list of all the notification types that this script will ever send:
153
+ set the allNotificationsList to {${G_ALL_NAMES}}
154
+
155
+ -- Make a list of the notifications that will be enabled by default.
156
+ -- Those not enabled by default can be enabled later in the 'Applications'
157
+ -- tab of the growl prefpane.
158
+ set the enabledNotificationsList to {"${G_WITH_NAME}"}
159
+
160
+ -- Register our script with growl. You can optionally (as here) set a
161
+ -- default icon for this script's notifications.
162
+ register as application "${G_APPLICATION_NAME}" all notifications allNotificationsList default notifications enabledNotificationsList icon of application "${G_APPLICATION_ICON}"
163
+
164
+ -- Send a Notification...
165
+ notify with name "${G_WITH_NAME}" title "${G_TITLE}" description "${description}" application name "${G_APPLICATION_NAME}" sticky ${G_STICKY} priority ${G_PRIORITY}
166
+
167
+ end tell
168
+ EOD
169
+ }
170
+
171
+
172
+ #--- main --------------------------------------------------------------------
173
+ #{
174
+ if [[ $# = 0 ]]; then
175
+ #
176
+ # No arguments, so give the usage message.
177
+ #
178
+ usage
179
+ exit 1
180
+ fi
181
+ while [[ "X$1" = X-* ]]
182
+ do
183
+ if [[ "X$1" = X-nos* ]]; then
184
+ G_STICKY=no
185
+ elif [[ "X$1" = X-s* ]]; then
186
+ G_STICKY=yes
187
+ elif [[ "X$1" = X-p* ]]; then
188
+ G_PRIORITY="$2"
189
+ G_TITLE="${G_TITLE:-Priority $2}"
190
+ OPTIONS="$OPTIONS $1"
191
+ shift
192
+ elif [[ "X$1" = X-v* ]]; then
193
+ G_PRIORITY="-2"
194
+ G_TITLE="${G_TITLE:-Very Low Priority}"
195
+ elif [[ "X$1" = X-m* ]]; then
196
+ G_PRIORITY="-1"
197
+ G_TITLE="${G_TITLE:-Moderate Priority}"
198
+ elif [[ "X$1" = X-n* ]]; then
199
+ G_PRIORITY="0"
200
+ G_TITLE="${G_TITLE:-Normal Priority}"
201
+ elif [[ "X$1" = X-h* ]]; then
202
+ G_PRIORITY="1"
203
+ G_TITLE="${G_TITLE:-High Priority}"
204
+ elif [[ "X$1" = X-e* ]]; then
205
+ G_PRIORITY="2"
206
+ G_TITLE="${G_TITLE:-Emergency Priority}"
207
+ else
208
+ break;
209
+ fi
210
+ OPTIONS="$OPTIONS $1"
211
+ shift
212
+ done
213
+
214
+ #
215
+ # If any of the option variables have not been set yet, then apply the
216
+ # default values now.
217
+ #
218
+ defaults
219
+
220
+ UNAME=$(uname)
221
+ if [[ "$UNAME" = Darwin ]]; then
222
+ #
223
+ # I'm assuming this is one of my systems where I have Growl
224
+ # installed.
225
+ #
226
+ growl "$*"
227
+ elif [[ "$UNAME" = *Linux* || "$UNAME" = *Windows_NT* ]]; then
228
+ #
229
+ # Must be one of the development systems I work on, so lets ship
230
+ # this request to my Mac OS X workstation.
231
+ #
232
+ ssh ${G_REMOTE} ${G_REMOTE_GROWL} $OPTIONS "$*"
233
+ else
234
+ #
235
+ # I don't know what this is, so I'll just try to Growl anyway. It
236
+ # will most likely fail (no osascript would be my guess), but what
237
+ # do I have to loose at this point!
238
+ #
239
+ growl "$*"
240
+ fi
241
+ #}
@@ -0,0 +1,17 @@
1
+ desc "Install +growl+ executable script if necessary"
2
+ task :install do
3
+ puts "Checking for existing +growl+ installation..."
4
+ test_cmd = %[G_TITLE="Autometal::Growl" growl -nosticky "+growl+ correctly installed and executable."]
5
+ result = system test_cmd
6
+ unless result
7
+ File.open(File.join("/","usr","local","bin","growl"),"w") do |f|
8
+ f.puts File.read("./shellscripts/growl")
9
+ f.chmod 0755
10
+ end
11
+ system test_cmd
12
+ puts "Installation complete."
13
+ else
14
+ puts "+growl+ is present, exiting."
15
+ end
16
+ puts "Done."
17
+ end
@@ -0,0 +1,26 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestGrowl < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @notification = Autometal::Growl.new("body", :title => "Test Suite", :sticky => false)
7
+ end
8
+
9
+ def test_executable
10
+ test_cmd = %[G_TITLE="+growl+ Test suite" growl -nosticky "The executable script is in place and accessible"]
11
+ assert system(test_cmd), true
12
+ end
13
+
14
+ def test_cannot_initialize_notiication_without_body
15
+ ["",nil,false].each do |fail|
16
+ assert_raises ArgumentError do
17
+ Autometal::Growl.new(fail)
18
+ end
19
+ end
20
+ end
21
+
22
+ def test_notification_transmission
23
+ @notification.body = "Assert nothing raised on Autometal::Growl#transmit"
24
+ assert_nothing_raised { @notification.transmit! }
25
+ end
26
+ end
@@ -0,0 +1,3 @@
1
+ require 'stringio'
2
+ require 'test/unit'
3
+ require File.dirname(__FILE__) + '/../lib/growl'
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: autometal-growl
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Achillefs Charmpilas
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-09-17 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rubyforge
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 7
30
+ segments:
31
+ - 2
32
+ - 0
33
+ - 4
34
+ version: 2.0.4
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: hoe
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 19
46
+ segments:
47
+ - 2
48
+ - 6
49
+ - 2
50
+ version: 2.6.2
51
+ type: :development
52
+ version_requirements: *id002
53
+ description: Creates a Growl notification with a custom title and body.
54
+ email:
55
+ - ac@humbuckercode.co.uk
56
+ executables:
57
+ - install_growl
58
+ extensions: []
59
+
60
+ extra_rdoc_files:
61
+ - History.txt
62
+ - Manifest.txt
63
+ - PostInstall.txt
64
+ files:
65
+ - History.txt
66
+ - Manifest.txt
67
+ - PostInstall.txt
68
+ - README.rdoc
69
+ - Rakefile
70
+ - autometal-growl.gemspec
71
+ - bin/install_growl
72
+ - lib/growl.rb
73
+ - script/console
74
+ - script/destroy
75
+ - script/generate
76
+ - shellscripts/growl
77
+ - tasks/install.rake
78
+ - test/test_growl.rb
79
+ - test/test_helper.rb
80
+ has_rdoc: true
81
+ homepage: http://github.com/Achillefs/growl
82
+ licenses: []
83
+
84
+ post_install_message: |+
85
+
86
+ Thanks for installing growl.
87
+
88
+ Please run +sudo install_growl+ to complete the installation
89
+
90
+ For more information, see http://humbuckercode.co.uk/licks/gems/growl
91
+
92
+ rdoc_options:
93
+ - --main
94
+ - README.rdoc
95
+ require_paths:
96
+ - lib
97
+ required_ruby_version: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ hash: 3
103
+ segments:
104
+ - 0
105
+ version: "0"
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ hash: 3
112
+ segments:
113
+ - 0
114
+ version: "0"
115
+ requirements: []
116
+
117
+ rubyforge_project: autometal-growl
118
+ rubygems_version: 1.3.7
119
+ signing_key:
120
+ specification_version: 3
121
+ summary: Creates a Growl notification with a custom title and body.
122
+ test_files:
123
+ - test/test_growl.rb
124
+ - test/test_helper.rb