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 CHANGED
@@ -4,6 +4,7 @@ lib/jello/logger.rb
4
4
  lib/jello/mould.rb
5
5
  lib/jello/pasteboard.rb
6
6
  lib/jello.rb
7
+ moulds/fail.rb
7
8
  moulds/grabup_fixer.rb
8
9
  moulds/say.rb
9
10
  moulds/shortener.rb
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.1', 'rspec', 'rcov', 'yard', 'stringray']
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 = 65.0
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 grabup
25
- - jello shorten
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
- # Gem::Specification for Jello-3
3
- # Originally generated by Echoe
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{jello}
5
+ s.version = "4"
4
6
 
5
- --- !ruby/object:Gem::Specification
6
- name: jello
7
- version: !ruby/object:Gem::Version
8
- version: "3"
9
- platform: ruby
10
- authors:
11
- - elliottcable
12
- autorequire:
13
- bindir: bin
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
- date: 2008-10-09 00:00:00 -08:00
16
- default_executable:
17
- dependencies:
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
- extra_rdoc_files:
76
- - bin/jello
77
- - lib/jello/core_ext/kernel.rb
78
- - lib/jello/logger.rb
79
- - lib/jello/mould.rb
80
- - lib/jello/pasteboard.rb
81
- - lib/jello.rb
82
- - README.markdown
83
- files:
84
- - bin/jello
85
- - lib/jello/core_ext/kernel.rb
86
- - lib/jello/logger.rb
87
- - lib/jello/mould.rb
88
- - lib/jello/pasteboard.rb
89
- - lib/jello.rb
90
- - moulds/grabup_fixer.rb
91
- - moulds/say.rb
92
- - moulds/shortener.rb
93
- - Rakefile.rb
94
- - README.markdown
95
- - spec/jello_spec.rb
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 = 3
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 = mould.on_paste[paste]
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
@@ -0,0 +1,3 @@
1
+ Jello::Mould.new do |paste|
2
+ raise 'FAIL'
3
+ end
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\.]+\.)?([\w\d]+)\.[\w]{2,4}/ )[1]
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
- reply = open(shortener).read
53
- short = JSON.parse reply
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: "3"
4
+ version: "4"
5
5
  platform: ruby
6
6
  authors:
7
7
  - elliottcable
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- date: 2008-10-09 01:00:00 -07:00
12
- default_executable:
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: 3.0.1
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