elliottcable-jello 4 → 5

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -66,7 +66,7 @@ for more information about this):
66
66
 
67
67
  require 'jello'
68
68
 
69
- Jello::Mould.new do Jello::Pasteboard::Find |paste|
69
+ Jello::Mould.new do |paste|
70
70
  paste.gsub! /abc/, 'def'
71
71
  end
72
72
 
data/Rakefile.rb CHANGED
@@ -9,7 +9,8 @@ require 'fileutils'
9
9
  begin
10
10
  require 'echoe'
11
11
 
12
- task :package => :'package:install'
12
+ task :package => :'package:package'
13
+ task :install => :'package:install'
13
14
  task :manifest => :'package:manifest'
14
15
  namespace :package do
15
16
  Echoe.new('jello', Jello::Version) do |g|
@@ -18,7 +19,7 @@ begin
18
19
  g.email = ['Jello@elliottcable.com']
19
20
  g.summary = 'A library to watch the OS X pasteboard, and process/modify incoming pastes.'
20
21
  g.url = 'http://github.com/elliottcable/jello'
21
- g.development_dependencies = ['echoe >= 3.0.2', 'rspec', 'rcov', 'yard', 'stringray']
22
+ g.development_dependencies = ['elliottcable-echoe >= 3.0.2', 'rspec', 'rcov', 'yard', 'stringray']
22
23
  g.manifest_name = '.manifest'
23
24
  g.retain_gemspec = true
24
25
  g.rakefile_name = 'Rakefile.rb'
@@ -32,18 +33,10 @@ begin
32
33
  puts "\nThe library files are present"
33
34
  end
34
35
  end
35
-
36
- task :copy_gemspec => [:package] do
37
- pkg = Dir['pkg/*'].select {|dir| File.directory? dir}.last
38
- mv File.join(pkg, pkg.gsub(/^pkg\//,'').gsub(/\-\d+$/,'.gemspec')), './'
39
- end
40
-
41
- desc 'builds a gemspec as GitHub wants it'
42
- task :gemspec => [:package, :copy_gemspec, :clobber_package]
43
36
  end
44
37
 
45
38
  rescue LoadError
46
- desc 'You need the `echoe` gem to package Jello'
39
+ desc 'You need the `elliottcable-echoe` gem to package Jello'
47
40
  task :package
48
41
  end
49
42
 
@@ -134,7 +127,7 @@ end
134
127
 
135
128
  desc 'Check everything over before commiting'
136
129
  task :aok => [:'documentation:generate', :'documentation:open',
137
- :'package:manifest', :'package:gemspec',
130
+ :'package:manifest', :'package:package',
138
131
  :'coverage:run', :'coverage:verify', :'coverage:open']
139
132
 
140
133
  task :ci => [:'documentation:generate', :'coverage:run', :'coverage:verify']
data/bin/jello CHANGED
@@ -44,6 +44,10 @@ The follow moulds are included for your enjoyment:
44
44
  options[:period] = p
45
45
  end
46
46
 
47
+ opts.on("-D", "--[no-]daemonize", "Fork the process") do |D|
48
+ options[:daemonize] = D
49
+ end
50
+
47
51
  opts.on_tail("--help", "Show this help") do
48
52
  puts opts
49
53
  exit
@@ -58,4 +62,22 @@ ARGV.each do |mould|
58
62
  require Jello::Mould.find(mould)
59
63
  end
60
64
 
65
+ # http://github.com/chneukirchen/rack/tree/ed86dfd676dcb46e276b6906f017df514e5632f9/bin/rackup#L153-164
66
+ if options[:daemonize]
67
+ if RUBY_VERSION < "1.9"
68
+ exit if fork
69
+ Process.setsid
70
+ exit if fork
71
+ Dir.chdir "/"
72
+ File.umask 0000
73
+ STDIN.reopen "/dev/null"
74
+ STDOUT.reopen "/dev/null", "a"
75
+ STDERR.reopen "/dev/null", "a"
76
+ else
77
+ Process.daemon
78
+ end
79
+ end
80
+
81
+ $0 = "jello: #{ARGV.join ', '}"
82
+
61
83
  Jello.start! options
data/jello.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{jello}
5
- s.version = "4"
5
+ s.version = "5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["elliottcable"]
9
- s.date = %q{2008-10-13}
9
+ s.date = %q{2008-11-01}
10
10
  s.default_executable = %q{jello}
11
11
  s.description = %q{A library to watch the OS X pasteboard, and process/modify incoming pastes.}
12
12
  s.email = ["Jello@elliottcable.com"]
@@ -26,20 +26,20 @@ Gem::Specification.new do |s|
26
26
  s.specification_version = 2
27
27
 
28
28
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
- s.add_development_dependency(%q<echoe>, [">= 0", "= 3.0.2"])
29
+ s.add_development_dependency(%q<elliottcable-echoe>, [">= 0", "= 3.0.2"])
30
30
  s.add_development_dependency(%q<rspec>, [">= 0"])
31
31
  s.add_development_dependency(%q<rcov>, [">= 0"])
32
32
  s.add_development_dependency(%q<yard>, [">= 0"])
33
33
  s.add_development_dependency(%q<stringray>, [">= 0"])
34
34
  else
35
- s.add_dependency(%q<echoe>, [">= 0", "= 3.0.2"])
35
+ s.add_dependency(%q<elliottcable-echoe>, [">= 0", "= 3.0.2"])
36
36
  s.add_dependency(%q<rspec>, [">= 0"])
37
37
  s.add_dependency(%q<rcov>, [">= 0"])
38
38
  s.add_dependency(%q<yard>, [">= 0"])
39
39
  s.add_dependency(%q<stringray>, [">= 0"])
40
40
  end
41
41
  else
42
- s.add_dependency(%q<echoe>, [">= 0", "= 3.0.2"])
42
+ s.add_dependency(%q<elliottcable-echoe>, [">= 0", "= 3.0.2"])
43
43
  s.add_dependency(%q<rspec>, [">= 0"])
44
44
  s.add_dependency(%q<rcov>, [">= 0"])
45
45
  s.add_dependency(%q<yard>, [">= 0"])
data/lib/jello.rb CHANGED
@@ -3,7 +3,7 @@ require 'jello/pasteboard'
3
3
  require 'jello/mould'
4
4
 
5
5
  module Jello
6
- Version = 4
6
+ Version = 5
7
7
 
8
8
  def self.start! options = {}
9
9
  options = {:verbose => false, :period => 0.5}.merge(options)
data/moulds/shortener.rb CHANGED
@@ -56,7 +56,8 @@ Jello::Mould.new do |paste, board|
56
56
  rescue OpenURI::HTTPError => e
57
57
  short = {'url' => paste}
58
58
  end
59
- [short['url'], base].join('?')
59
+ shortened = [short['url'], base].join('?')
60
+ shortened.length < paste.length ? shortened : paste
60
61
  end
61
62
  end
62
63
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elliottcable-jello
3
3
  version: !ruby/object:Gem::Version
4
- version: "4"
4
+ version: "5"
5
5
  platform: ruby
6
6
  authors:
7
7
  - elliottcable
@@ -9,11 +9,11 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-10-13 00:00:00 -07:00
12
+ date: 2008-11-01 00:00:00 -07:00
13
13
  default_executable: jello
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: echoe
16
+ name: elliottcable-echoe
17
17
  version_requirement:
18
18
  version_requirements: !ruby/object:Gem::Requirement
19
19
  requirements: