elliottcable-jello 3 → 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/.manifest +1 -0
- data/Rakefile.rb +4 -2
- data/bin/jello +15 -2
- data/jello.gemspec +44 -124
- data/lib/jello.rb +7 -2
- data/moulds/fail.rb +3 -0
- data/moulds/shortener.rb +8 -3
- metadata +10 -10
data/.manifest
CHANGED
data/Rakefile.rb
CHANGED
@@ -18,8 +18,10 @@ begin
|
|
18
18
|
g.email = ['Jello@elliottcable.com']
|
19
19
|
g.summary = 'A library to watch the OS X pasteboard, and process/modify incoming pastes.'
|
20
20
|
g.url = 'http://github.com/elliottcable/jello'
|
21
|
-
g.development_dependencies = ['echoe >=3.0.
|
21
|
+
g.development_dependencies = ['echoe >= 3.0.2', 'rspec', 'rcov', 'yard', 'stringray']
|
22
22
|
g.manifest_name = '.manifest'
|
23
|
+
g.retain_gemspec = true
|
24
|
+
g.rakefile_name = 'Rakefile.rb'
|
23
25
|
g.ignore_pattern = /^\.git\/|^meta\/|\.gemspec/
|
24
26
|
end
|
25
27
|
|
@@ -72,7 +74,7 @@ begin
|
|
72
74
|
# release the fix as it's own gem at some point in the near future.
|
73
75
|
require 'stringray/core_ext/spec/rake/verify_rcov'
|
74
76
|
RCov::VerifyTask.new(:verify) do |t|
|
75
|
-
t.threshold =
|
77
|
+
t.threshold = 50.0
|
76
78
|
t.index_html = File.join('meta', 'coverage', 'index.html')
|
77
79
|
t.require_exact_threshold = false
|
78
80
|
end
|
data/bin/jello
CHANGED
@@ -21,8 +21,8 @@ utilized.
|
|
21
21
|
|
22
22
|
The follow moulds are included for your enjoyment:
|
23
23
|
- jello say
|
24
|
-
- jello
|
25
|
-
- jello
|
24
|
+
- jello grabup_fixer
|
25
|
+
- jello shortener
|
26
26
|
|
27
27
|
== Usage ==
|
28
28
|
`jello [options] <mould> (<mould> <mould> …)`
|
@@ -32,6 +32,10 @@ The follow moulds are included for your enjoyment:
|
|
32
32
|
options[:verbose] = v
|
33
33
|
end
|
34
34
|
|
35
|
+
opts.on("-d", "--[no-]debug", "Run extremely verbosely") do |d|
|
36
|
+
$-d = d
|
37
|
+
end
|
38
|
+
|
35
39
|
opts.on("-f", "--[no-]feedback", "Feedback on successful process") do |f|
|
36
40
|
options[:feedback] = f
|
37
41
|
end
|
@@ -39,6 +43,15 @@ The follow moulds are included for your enjoyment:
|
|
39
43
|
opts.on("-p", "--period PERIOD", "Period over which to cycle watcher process") do |p|
|
40
44
|
options[:period] = p
|
41
45
|
end
|
46
|
+
|
47
|
+
opts.on_tail("--help", "Show this help") do
|
48
|
+
puts opts
|
49
|
+
exit
|
50
|
+
end
|
51
|
+
opts.on_tail("--version", "Show version") do
|
52
|
+
puts "I'm Jello #{Jello::Version}!"
|
53
|
+
exit
|
54
|
+
end
|
42
55
|
end.parse!
|
43
56
|
|
44
57
|
ARGV.each do |mould|
|
data/jello.gemspec
CHANGED
@@ -1,128 +1,48 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
1
2
|
|
2
|
-
|
3
|
-
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{jello}
|
5
|
+
s.version = "4"
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["elliottcable"]
|
9
|
+
s.date = %q{2008-10-13}
|
10
|
+
s.default_executable = %q{jello}
|
11
|
+
s.description = %q{A library to watch the OS X pasteboard, and process/modify incoming pastes.}
|
12
|
+
s.email = ["Jello@elliottcable.com"]
|
13
|
+
s.executables = ["jello"]
|
14
|
+
s.extra_rdoc_files = ["bin/jello", "lib/jello/core_ext/kernel.rb", "lib/jello/logger.rb", "lib/jello/mould.rb", "lib/jello/pasteboard.rb", "lib/jello.rb", "README.markdown"]
|
15
|
+
s.files = ["bin/jello", "lib/jello/core_ext/kernel.rb", "lib/jello/logger.rb", "lib/jello/mould.rb", "lib/jello/pasteboard.rb", "lib/jello.rb", "moulds/fail.rb", "moulds/grabup_fixer.rb", "moulds/say.rb", "moulds/shortener.rb", "Rakefile.rb", "README.markdown", "spec/jello_spec.rb", ".manifest", "jello.gemspec"]
|
16
|
+
s.has_rdoc = true
|
17
|
+
s.homepage = %q{http://github.com/elliottcable/jello}
|
18
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Jello", "--main", "README.markdown"]
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
s.rubyforge_project = %q{jello}
|
21
|
+
s.rubygems_version = %q{1.3.0}
|
22
|
+
s.summary = %q{A library to watch the OS X pasteboard, and process/modify incoming pastes.}
|
14
23
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
- !ruby/object:Gem::Dependency
|
19
|
-
name: echoe
|
20
|
-
type: :development
|
21
|
-
version_requirement:
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 3.0.1
|
27
|
-
version:
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: rspec
|
30
|
-
type: :development
|
31
|
-
version_requirement:
|
32
|
-
version_requirements: !ruby/object:Gem::Requirement
|
33
|
-
requirements:
|
34
|
-
- - ">="
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: "0"
|
37
|
-
version:
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: rcov
|
40
|
-
type: :development
|
41
|
-
version_requirement:
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - ">="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: "0"
|
47
|
-
version:
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: yard
|
50
|
-
type: :development
|
51
|
-
version_requirement:
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: "0"
|
57
|
-
version:
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: stringray
|
60
|
-
type: :development
|
61
|
-
version_requirement:
|
62
|
-
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: "0"
|
67
|
-
version:
|
68
|
-
description: A library to watch the OS X pasteboard, and process/modify incoming pastes.
|
69
|
-
email:
|
70
|
-
- Jello@elliottcable.com
|
71
|
-
executables:
|
72
|
-
- jello
|
73
|
-
extensions: []
|
24
|
+
if s.respond_to? :specification_version then
|
25
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
26
|
+
s.specification_version = 2
|
74
27
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
- .manifest
|
97
|
-
- jello.gemspec
|
98
|
-
has_rdoc: true
|
99
|
-
homepage: http://github.com/elliottcable/jello
|
100
|
-
post_install_message:
|
101
|
-
rdoc_options:
|
102
|
-
- --line-numbers
|
103
|
-
- --inline-source
|
104
|
-
- --title
|
105
|
-
- Jello
|
106
|
-
- --main
|
107
|
-
- README.markdown
|
108
|
-
require_paths:
|
109
|
-
- lib
|
110
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
111
|
-
requirements:
|
112
|
-
- - ">="
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: "0"
|
115
|
-
version:
|
116
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
-
requirements:
|
118
|
-
- - ">="
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: "1.2"
|
121
|
-
version:
|
122
|
-
requirements: []
|
123
|
-
|
124
|
-
rubyforge_project: jello
|
125
|
-
rubygems_version: 1.3.0
|
126
|
-
specification_version: 2
|
127
|
-
summary: A library to watch the OS X pasteboard, and process/modify incoming pastes.
|
128
|
-
test_files: []
|
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"])
|
30
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
31
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
32
|
+
s.add_development_dependency(%q<yard>, [">= 0"])
|
33
|
+
s.add_development_dependency(%q<stringray>, [">= 0"])
|
34
|
+
else
|
35
|
+
s.add_dependency(%q<echoe>, [">= 0", "= 3.0.2"])
|
36
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
37
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
38
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
39
|
+
s.add_dependency(%q<stringray>, [">= 0"])
|
40
|
+
end
|
41
|
+
else
|
42
|
+
s.add_dependency(%q<echoe>, [">= 0", "= 3.0.2"])
|
43
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
44
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
45
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
46
|
+
s.add_dependency(%q<stringray>, [">= 0"])
|
47
|
+
end
|
48
|
+
end
|
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 =
|
6
|
+
Version = 4
|
7
7
|
|
8
8
|
def self.start! options = {}
|
9
9
|
options = {:verbose => false, :period => 0.5}.merge(options)
|
@@ -19,7 +19,12 @@ module Jello
|
|
19
19
|
|
20
20
|
puts "#{pasteboard.board} received: [#{initial_paste}]" if options[:verbose]
|
21
21
|
moulds.each do |mould|
|
22
|
-
modified =
|
22
|
+
modified = begin
|
23
|
+
mould.on_paste[paste]
|
24
|
+
rescue => error
|
25
|
+
puts " !!> #{error}"
|
26
|
+
nil
|
27
|
+
end
|
23
28
|
paste = modified if modified.is_a?(String)
|
24
29
|
end
|
25
30
|
|
data/moulds/fail.rb
ADDED
data/moulds/shortener.rb
CHANGED
@@ -31,7 +31,7 @@ Jello::Mould.new do |paste, board|
|
|
31
31
|
end
|
32
32
|
|
33
33
|
unless base and (base = base[1])
|
34
|
-
base = uri.host.match( /(?:[\w\d
|
34
|
+
base = uri.host.match( /(?:[\w\d\-\.]+\.)?([\w\d\-]+)\.[\w]{2,4}/ )[1]
|
35
35
|
end
|
36
36
|
|
37
37
|
base = URI::unescape(base).gsub(/\s/, '_')
|
@@ -49,8 +49,13 @@ Jello::Mould.new do |paste, board|
|
|
49
49
|
|
50
50
|
shortener.query = params.to_a.map {|a| a.join '=' }.join('&')
|
51
51
|
|
52
|
-
|
53
|
-
|
52
|
+
begin
|
53
|
+
puts " --@ [#{shortener}]" if $DEBUG
|
54
|
+
reply = open(shortener).read
|
55
|
+
short = JSON.parse reply
|
56
|
+
rescue OpenURI::HTTPError => e
|
57
|
+
short = {'url' => paste}
|
58
|
+
end
|
54
59
|
[short['url'], base].join('?')
|
55
60
|
end
|
56
61
|
end
|
metadata
CHANGED
@@ -1,29 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elliottcable-jello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "
|
4
|
+
version: "4"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- elliottcable
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
|
12
|
-
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-10-13 00:00:00 -07:00
|
13
|
+
default_executable: jello
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: echoe
|
16
|
-
type: :development
|
17
17
|
version_requirement:
|
18
18
|
version_requirements: !ruby/object:Gem::Requirement
|
19
19
|
requirements:
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: "0"
|
23
|
+
- - "="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 3.0.2
|
23
26
|
version:
|
24
27
|
- !ruby/object:Gem::Dependency
|
25
28
|
name: rspec
|
26
|
-
type: :development
|
27
29
|
version_requirement:
|
28
30
|
version_requirements: !ruby/object:Gem::Requirement
|
29
31
|
requirements:
|
@@ -33,7 +35,6 @@ dependencies:
|
|
33
35
|
version:
|
34
36
|
- !ruby/object:Gem::Dependency
|
35
37
|
name: rcov
|
36
|
-
type: :development
|
37
38
|
version_requirement:
|
38
39
|
version_requirements: !ruby/object:Gem::Requirement
|
39
40
|
requirements:
|
@@ -43,7 +44,6 @@ dependencies:
|
|
43
44
|
version:
|
44
45
|
- !ruby/object:Gem::Dependency
|
45
46
|
name: yard
|
46
|
-
type: :development
|
47
47
|
version_requirement:
|
48
48
|
version_requirements: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
@@ -53,7 +53,6 @@ dependencies:
|
|
53
53
|
version:
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
55
|
name: stringray
|
56
|
-
type: :development
|
57
56
|
version_requirement:
|
58
57
|
version_requirements: !ruby/object:Gem::Requirement
|
59
58
|
requirements:
|
@@ -83,6 +82,7 @@ files:
|
|
83
82
|
- lib/jello/mould.rb
|
84
83
|
- lib/jello/pasteboard.rb
|
85
84
|
- lib/jello.rb
|
85
|
+
- moulds/fail.rb
|
86
86
|
- moulds/grabup_fixer.rb
|
87
87
|
- moulds/say.rb
|
88
88
|
- moulds/shortener.rb
|