geeklets2 0.0.1

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.
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+
6
+ # Add dependencies to develop your gem here.
7
+ # Include everything needed to run rake, tests, features, etc.
8
+ group :development do
9
+ gem "shoulda", ">= 0"
10
+ gem "bundler", "~> 1.0.0"
11
+ gem "jeweler", "~> 1.5.2"
12
+ gem "rcov", ">= 0"
13
+ gem "mime"
14
+ gem "ruby-gmail"
15
+ gem "crack"
16
+ gem "trollop"
17
+ end
@@ -0,0 +1,42 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activesupport (3.0.4)
5
+ crack (0.1.8)
6
+ git (1.2.5)
7
+ i18n (0.5.0)
8
+ jeweler (1.5.2)
9
+ bundler (~> 1.0.0)
10
+ git (>= 1.2.5)
11
+ rake
12
+ mail (2.2.15)
13
+ activesupport (>= 2.3.6)
14
+ i18n (>= 0.4.0)
15
+ mime-types (~> 1.16)
16
+ treetop (~> 1.4.8)
17
+ mime (0.1)
18
+ mime-types (1.16)
19
+ polyglot (0.3.1)
20
+ rake (0.8.7)
21
+ rcov (0.9.9)
22
+ ruby-gmail (0.2.1)
23
+ mail (>= 2.2.1)
24
+ shared-mime-info
25
+ shared-mime-info (0.1)
26
+ shoulda (2.11.3)
27
+ treetop (1.4.9)
28
+ polyglot (>= 0.3.1)
29
+ trollop (1.16.2)
30
+
31
+ PLATFORMS
32
+ ruby
33
+
34
+ DEPENDENCIES
35
+ bundler (~> 1.0.0)
36
+ crack
37
+ jeweler (~> 1.5.2)
38
+ mime
39
+ rcov
40
+ ruby-gmail
41
+ shoulda
42
+ trollop
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Nic Haynes
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,18 @@
1
+ = geeklets
2
+
3
+ A collection of Geektool scripts wrapped in a gem.
4
+
5
+ == Included
6
+
7
+ 1. +airport+ (network currently connected)
8
+ 2. +growl+ (growl notifications)
9
+ 3. +ipaddress+ (Internal Ethernet & Airport)
10
+ 4. +network+ (In/Out activity)
11
+ 5. +up+ (System uptime)
12
+ 6. +weather+ (Current weater)
13
+
14
+ == Copyright
15
+
16
+ Copyright (c) 2011 Nic Haynes. See LICENSE.txt for
17
+ further details.
18
+
@@ -0,0 +1,56 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "geeklets2"
16
+ gem.homepage = "http://github.com/nicinabox/geeklets"
17
+ gem.license = "MIT"
18
+ gem.summary = %Q{A collection of Geektool scripts wrapped in a gem.}
19
+ gem.description = %Q{A collection of Geektool scripts wrapped in a gem.}
20
+ gem.email = "nic@nicinabox.com"
21
+ gem.authors = ["Nic Haynes"]
22
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
23
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
25
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
26
+ gem.add_runtime_dependency 'ruby-gmail', '> 0.1'
27
+ gem.add_runtime_dependency 'trollop', '> 0.1'
28
+ gem.add_runtime_dependency 'crack', '> 0.1'
29
+ end
30
+ Jeweler::RubygemsDotOrgTasks.new
31
+
32
+ require 'rake/testtask'
33
+ Rake::TestTask.new(:test) do |test|
34
+ test.libs << 'lib' << 'test'
35
+ test.pattern = 'test/**/test_*.rb'
36
+ test.verbose = true
37
+ end
38
+
39
+ require 'rcov/rcovtask'
40
+ Rcov::RcovTask.new do |test|
41
+ test.libs << 'test'
42
+ test.pattern = 'test/**/test_*.rb'
43
+ test.verbose = true
44
+ end
45
+
46
+ task :default => :test
47
+
48
+ require 'rake/rdoctask'
49
+ Rake::RDocTask.new do |rdoc|
50
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
51
+
52
+ rdoc.rdoc_dir = 'rdoc'
53
+ rdoc.title = "geeklets #{version}"
54
+ rdoc.rdoc_files.include('README*')
55
+ rdoc.rdoc_files.include('lib/**/*.rb')
56
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ require 'active_support/inflector'
3
+ airport = %x(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I).split("\n")
4
+ info = []
5
+ airport.each do |a|
6
+ a.strip!
7
+ info << a.split(/: /)
8
+ end
9
+ puts "Network: #{info[12].last}"
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ require 'trollop'
3
+ require 'gmail'
4
+
5
+ opts = Trollop::options do
6
+ opt :user, "Username", :required => true, :type => String
7
+ opt :pass, "Password", :required => true, :type => String
8
+ end
9
+
10
+ gmail = Gmail.new(opts[:user], opts[:pass])
11
+ puts "#{gmail.inbox.count(:unread)} unread"
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env ruby
2
+ require 'trollop'
3
+
4
+ opts = Trollop::options do
5
+ opt :message, "Message to display", :required => true, :type => String
6
+ opt :sticky, "Stays on screen until dismissed", :default => false
7
+ opt :priority, "Priority -2,-1,0,1,2", :type => Integer, :default => 0
8
+ opt :low, "priority [-1]"
9
+ opt :moderate, "priority [1]"
10
+ opt :normal, "priority [0]", :default => true
11
+ opt :high, "priority [2]"
12
+ opt :emergency, "priority [3]"
13
+ opt :title, "Used as the Growl message title.", :default => "Notification"
14
+ opt :application, "Used by Growl to manage a set of message configurations.", :default => "Shell Script Growl Message"
15
+ opt :icon, "Display this application's icon", :default => "Terminal.app"
16
+ opt :address, "Address to send notifications to"
17
+ opt :install, "Remote install of Growl", :default => "growl"
18
+ end
19
+
20
+ # Setup priority rules
21
+ if opts[:emergency]
22
+ opts[:title] = "Emergency Priority"
23
+ opts[:sticky] = "yes"
24
+ opts[:priority] = 3
25
+ end
26
+ if opts[:high]
27
+ opts[:title] = "High Priority"
28
+ opts[:sticky] = "yes"
29
+ opts[:priority] = 2
30
+ end
31
+ if opts[:moderate]
32
+ opts[:title] = "Moderate Priority"
33
+ opts[:sticky] = "yes"
34
+ opts[:priority] = 1
35
+ end
36
+ if opts[:nomral]
37
+ opts[:title] = "Normal Priority"
38
+ opts[:sticky] = "yes"
39
+ opts[:priority] = 0
40
+ end
41
+ if opts[:low]
42
+ opts[:title] = "Low Priority"
43
+ opts[:priority] = -1
44
+ end
45
+ if opts[:sticky]
46
+ opts[:sticky] = "yes"
47
+ else
48
+ opts[:sticky] = "no"
49
+ end
50
+
51
+ # Send message
52
+ def growl opts
53
+ script = <<-EOD
54
+ tell application "GrowlHelperApp"
55
+ -- Make a list of all the notification types that this script will ever send:
56
+ set the allNotificationsList to {"#{opts[:application]}"}
57
+
58
+ -- Make a list of the notifications that will be enabled by default.
59
+ -- Those not enabled by default can be enabled later in the 'Applications'
60
+ -- tab of the growl prefpane.
61
+ set the enabledNotificationsList to {"#{opts[:application]}"}
62
+
63
+ -- Register our script with growl. You can optionally (as here) set a
64
+ -- default icon for this script's notifications.
65
+ register as application "#{opts[:application]}" all notifications allNotificationsList default notifications enabledNotificationsList icon of application "#{opts[:icon]}"
66
+
67
+ -- Send a Notification...
68
+ notify with name "#{opts[:application]}" title "#{opts[:title]}" description "#{opts[:message]}" application name "#{opts[:application]}" sticky #{opts[:sticky]} priority #{opts[:priority]}
69
+
70
+ end tell
71
+ EOD
72
+
73
+ %x(/usr/bin/osascript <<-GROWL\n#{script}\nGROWL)
74
+ end
75
+
76
+ # Remote message
77
+ uname = %x(uname)
78
+ case uname
79
+ when "Linux" || "Windows_NT"
80
+ %x(ssh #{opts[:address]} '#{opts[:install]} #{opts})
81
+ else
82
+ growl opts
83
+ end
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ en0 = %x(ifconfig en0 | grep "inet" | grep -v 127.0.0.1).split(/\n/)
4
+ en1 = %x(ifconfig en1 | grep "inet" | grep -v 127.0.0.1).split(/\n/)
5
+
6
+ unless en0.empty?
7
+ en0.each do |e|
8
+ e.strip!
9
+ end
10
+ ip = en0[1].split(/ /)
11
+ en0 = "Ethernet: #{ip[1]}"
12
+ else
13
+ en0 = "Ethernet: INACTIVE\n"
14
+ end
15
+
16
+ unless en1.empty?
17
+ en1.each do |e|
18
+ e.strip!
19
+ end
20
+ ip = en1[1].split(/ /)
21
+ output = "Airport: #{ip[1]}\n#{en0}"
22
+ else
23
+ output = "Airport: INACTIVE\n#{en0}"
24
+ end
25
+
26
+ puts output
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # get the current number of bytes in and bytes out
4
+ def bytes
5
+ b_in = %x(netstat -ib | grep -e "en1" -m 1 | awk '{print $7}').chomp.to_i
6
+ b_out = %x(netstat -ib | grep -e "en1" -m 1 | awk '{print $10}').chomp.to_i
7
+ bytes = [b_in, b_out]
8
+ end
9
+
10
+ orig_bytes = bytes()
11
+
12
+ #wait one second
13
+ sleep 1
14
+
15
+ # get the number of bytes in and out one second later
16
+ curr_bytes = bytes()
17
+
18
+ # find the difference between bytes in and out during that one second
19
+ subin = curr_bytes[0] - orig_bytes[0]
20
+ subout = curr_bytes[1] - orig_bytes[1]
21
+
22
+
23
+ # convert bytes to kilobytes
24
+ kbin = subin/1024
25
+ kbout = subout/1024
26
+
27
+ # print the results
28
+ puts "In: #{kbin} kbps"
29
+ puts "Out: #{kbout} kbps"
data/bin/up ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ %x(uptime).gsub(/([0-9] days)/) { |d| puts d }
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ require 'trollop'
3
+ require 'crack'
4
+
5
+ opts = Trollop::options do
6
+ opt :zip, "Zip code", :type => Integer, :required => true
7
+ opt :units, "Units (C or F)", :default => "F"
8
+ end
9
+
10
+ weather_xml = %x(curl --silent "http://xml.weather.yahoo.com/forecastrss?p=#{opts[:zip]}&u=#{opts[:units]}")
11
+ weather = Crack::XML.parse(weather_xml)
12
+
13
+ condition = weather["rss"]["channel"]["item"]["yweather:condition"]
14
+
15
+ puts "#{condition["text"]}, #{condition["temp"]}#{opts[:units].upcase}"
@@ -0,0 +1,92 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{geeklets}
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Nic Haynes"]
12
+ s.date = %q{2011-02-13}
13
+ s.description = %q{A collection of Geektool scripts wrapped in a gem.}
14
+ s.email = %q{nic@nicinabox.com}
15
+ s.executables = ["airport", "gmail", "growl", "ipaddress", "network", "up", "weather"]
16
+ s.extra_rdoc_files = [
17
+ "LICENSE.txt",
18
+ "README.rdoc"
19
+ ]
20
+ s.files = [
21
+ ".document",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "bin/airport",
29
+ "bin/gmail",
30
+ "bin/growl",
31
+ "bin/ipaddress",
32
+ "bin/network",
33
+ "bin/up",
34
+ "bin/weather",
35
+ "geeklets.gemspec",
36
+ "lib/geeklets.rb",
37
+ "test/helper.rb",
38
+ "test/test_geeklets.rb"
39
+ ]
40
+ s.homepage = %q{http://github.com/nicinabox/geeklets}
41
+ s.licenses = ["MIT"]
42
+ s.require_paths = ["lib"]
43
+ s.rubygems_version = %q{1.5.2}
44
+ s.summary = %q{A collection of Geektool scripts wrapped in a gem.}
45
+ s.test_files = [
46
+ "test/helper.rb",
47
+ "test/test_geeklets.rb"
48
+ ]
49
+
50
+ if s.respond_to? :specification_version then
51
+ s.specification_version = 3
52
+
53
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
55
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
56
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
57
+ s.add_development_dependency(%q<rcov>, [">= 0"])
58
+ s.add_development_dependency(%q<mime>, [">= 0"])
59
+ s.add_development_dependency(%q<ruby-gmail>, [">= 0"])
60
+ s.add_development_dependency(%q<crack>, [">= 0"])
61
+ s.add_development_dependency(%q<trollop>, [">= 0"])
62
+ s.add_runtime_dependency(%q<ruby-gmail>, ["> 0.1"])
63
+ s.add_runtime_dependency(%q<trollop>, ["> 0.1"])
64
+ s.add_runtime_dependency(%q<crack>, ["> 0.1"])
65
+ else
66
+ s.add_dependency(%q<shoulda>, [">= 0"])
67
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
68
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
69
+ s.add_dependency(%q<rcov>, [">= 0"])
70
+ s.add_dependency(%q<mime>, [">= 0"])
71
+ s.add_dependency(%q<ruby-gmail>, [">= 0"])
72
+ s.add_dependency(%q<crack>, [">= 0"])
73
+ s.add_dependency(%q<trollop>, [">= 0"])
74
+ s.add_dependency(%q<ruby-gmail>, ["> 0.1"])
75
+ s.add_dependency(%q<trollop>, ["> 0.1"])
76
+ s.add_dependency(%q<crack>, ["> 0.1"])
77
+ end
78
+ else
79
+ s.add_dependency(%q<shoulda>, [">= 0"])
80
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
81
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
82
+ s.add_dependency(%q<rcov>, [">= 0"])
83
+ s.add_dependency(%q<mime>, [">= 0"])
84
+ s.add_dependency(%q<ruby-gmail>, [">= 0"])
85
+ s.add_dependency(%q<crack>, [">= 0"])
86
+ s.add_dependency(%q<trollop>, [">= 0"])
87
+ s.add_dependency(%q<ruby-gmail>, ["> 0.1"])
88
+ s.add_dependency(%q<trollop>, ["> 0.1"])
89
+ s.add_dependency(%q<crack>, ["> 0.1"])
90
+ end
91
+ end
92
+
File without changes
@@ -0,0 +1,18 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+ require 'shoulda'
12
+
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
+ require 'geeklets'
16
+
17
+ class Test::Unit::TestCase
18
+ end
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class TestGeeklets < Test::Unit::TestCase
4
+ should "probably rename this file and start testing for real" do
5
+ flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,204 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: geeklets2
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Nic Haynes
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-02-13 00:00:00 -06:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: shoulda
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ type: :development
25
+ prerelease: false
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 1.0.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: jeweler
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.2
46
+ type: :development
47
+ prerelease: false
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: rcov
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: *id004
60
+ - !ruby/object:Gem::Dependency
61
+ name: mime
62
+ requirement: &id005 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: *id005
71
+ - !ruby/object:Gem::Dependency
72
+ name: ruby-gmail
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: *id006
82
+ - !ruby/object:Gem::Dependency
83
+ name: crack
84
+ requirement: &id007 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: "0"
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: *id007
93
+ - !ruby/object:Gem::Dependency
94
+ name: trollop
95
+ requirement: &id008 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: "0"
101
+ type: :development
102
+ prerelease: false
103
+ version_requirements: *id008
104
+ - !ruby/object:Gem::Dependency
105
+ name: ruby-gmail
106
+ requirement: &id009 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">"
110
+ - !ruby/object:Gem::Version
111
+ version: "0.1"
112
+ type: :runtime
113
+ prerelease: false
114
+ version_requirements: *id009
115
+ - !ruby/object:Gem::Dependency
116
+ name: trollop
117
+ requirement: &id010 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">"
121
+ - !ruby/object:Gem::Version
122
+ version: "0.1"
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: *id010
126
+ - !ruby/object:Gem::Dependency
127
+ name: crack
128
+ requirement: &id011 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ">"
132
+ - !ruby/object:Gem::Version
133
+ version: "0.1"
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: *id011
137
+ description: A collection of Geektool scripts wrapped in a gem.
138
+ email: nic@nicinabox.com
139
+ executables:
140
+ - airport
141
+ - gmail
142
+ - growl
143
+ - ipaddress
144
+ - network
145
+ - up
146
+ - weather
147
+ extensions: []
148
+
149
+ extra_rdoc_files:
150
+ - LICENSE.txt
151
+ - README.rdoc
152
+ files:
153
+ - .document
154
+ - Gemfile
155
+ - Gemfile.lock
156
+ - LICENSE.txt
157
+ - README.rdoc
158
+ - Rakefile
159
+ - VERSION
160
+ - bin/airport
161
+ - bin/gmail
162
+ - bin/growl
163
+ - bin/ipaddress
164
+ - bin/network
165
+ - bin/up
166
+ - bin/weather
167
+ - geeklets.gemspec
168
+ - lib/geeklets.rb
169
+ - test/helper.rb
170
+ - test/test_geeklets.rb
171
+ has_rdoc: true
172
+ homepage: http://github.com/nicinabox/geeklets
173
+ licenses:
174
+ - MIT
175
+ post_install_message:
176
+ rdoc_options: []
177
+
178
+ require_paths:
179
+ - lib
180
+ required_ruby_version: !ruby/object:Gem::Requirement
181
+ none: false
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ hash: 2666888570036141308
186
+ segments:
187
+ - 0
188
+ version: "0"
189
+ required_rubygems_version: !ruby/object:Gem::Requirement
190
+ none: false
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: "0"
195
+ requirements: []
196
+
197
+ rubyforge_project:
198
+ rubygems_version: 1.5.2
199
+ signing_key:
200
+ specification_version: 3
201
+ summary: A collection of Geektool scripts wrapped in a gem.
202
+ test_files:
203
+ - test/helper.rb
204
+ - test/test_geeklets.rb