resque-tabber 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,2 @@
1
+ pkg
2
+ nbproject
@@ -0,0 +1,18 @@
1
+ resque-tabber
2
+ =============
3
+
4
+ Now that it's super-simple to mount Sinatra apps inside our Rails apps, there's
5
+ a lot of people running their resque-web interface inside their app. Cool stuff
6
+ indeed. The trick is, once you're in resque-web, there's no way to get out.
7
+ It's a lot like the Hotel California.
8
+
9
+ Resque-tabber creates a easy way to add a tab to the resque-web interface that
10
+ links to whatever you want. This allows you to link back to your app however
11
+ you like.
12
+
13
+ Usage:
14
+
15
+ require 'resque-tabber'
16
+ Resque::Tabber.add_tab('My New Tab', '/my/url')
17
+
18
+ That's it.
@@ -0,0 +1,40 @@
1
+ $LOAD_PATH.unshift 'lib'
2
+
3
+ desc "Build a gem"
4
+ task :gem => [ :gemspec, :build ]
5
+
6
+ begin
7
+ begin
8
+ require 'jeweler'
9
+ rescue LoadError
10
+ puts "Jeweler not available. Install it with: "
11
+ puts "gem install jeweler"
12
+ end
13
+
14
+ require 'resque-tabber'
15
+
16
+ Jeweler::Tasks.new do |gemspec|
17
+ gemspec.name = "resque-tabber"
18
+ gemspec.summary = "Adds an arbitrary tab to resque-web which goes wherever you want"
19
+ gemspec.description = gemspec.summary
20
+ gemspec.email = "bvandenbos@gmail.com"
21
+ gemspec.homepage = "http://github.com/bvandenbos/resque-tabber"
22
+ gemspec.authors = ["Ben VandenBos"]
23
+ gemspec.version = Resque::Tabber::Version
24
+
25
+ gemspec.add_dependency "resque"
26
+ gemspec.add_development_dependency "jeweler"
27
+ gemspec.add_development_dependency "mocha"
28
+ end
29
+ end
30
+
31
+
32
+ desc "Push a new version to Gemcutter"
33
+ task :publish => [ :gemspec, :build ] do
34
+ require 'resque-tabber'
35
+ system "git tag v#{Resque::Tabber::Version}"
36
+ system "git push origin v#{Resque::Tabber::Version}"
37
+ system "git push origin master"
38
+ system "gem push pkg/resque-tabber-#{Resque::Tabber::Version}.gem"
39
+ system "git clean -fd"
40
+ end
@@ -0,0 +1,37 @@
1
+
2
+ require 'resque'
3
+ require 'resque/server'
4
+
5
+ module Resque
6
+
7
+ module Tabber
8
+
9
+ Version = '0.0.1'
10
+
11
+ class << self
12
+
13
+ def add_tab(tab_name, tab_url)
14
+ sinatra_url = url(tab_name)
15
+
16
+ # Add a tab
17
+ ::Resque::Server.class_eval %{
18
+ get "#{sinatra_url}" do
19
+ redirect "#{tab_url}"
20
+ end
21
+ }
22
+
23
+ # Create the action to redirect
24
+ Resque::Server.tabs << tab_name
25
+ end
26
+
27
+ private
28
+
29
+ def url(name)
30
+ '/' + name.to_s.downcase
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+
37
+ end
@@ -0,0 +1,50 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{resque-tabber}
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 = ["Ben VandenBos"]
12
+ s.date = %q{2010-07-16}
13
+ s.description = %q{Adds an arbitrary tab to resque-web which goes wherever you want}
14
+ s.email = %q{bvandenbos@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "README.md"
17
+ ]
18
+ s.files = [
19
+ ".gitignore",
20
+ "README.md",
21
+ "Rakefile",
22
+ "lib/resque-tabber.rb",
23
+ "resque-tabber.gemspec"
24
+ ]
25
+ s.homepage = %q{http://github.com/bvandenbos/resque-tabber}
26
+ s.rdoc_options = ["--charset=UTF-8"]
27
+ s.require_paths = ["lib"]
28
+ s.rubygems_version = %q{1.3.7}
29
+ s.summary = %q{Adds an arbitrary tab to resque-web which goes wherever you want}
30
+
31
+ if s.respond_to? :specification_version then
32
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
33
+ s.specification_version = 3
34
+
35
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
36
+ s.add_runtime_dependency(%q<resque>, [">= 0"])
37
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
38
+ s.add_development_dependency(%q<mocha>, [">= 0"])
39
+ else
40
+ s.add_dependency(%q<resque>, [">= 0"])
41
+ s.add_dependency(%q<jeweler>, [">= 0"])
42
+ s.add_dependency(%q<mocha>, [">= 0"])
43
+ end
44
+ else
45
+ s.add_dependency(%q<resque>, [">= 0"])
46
+ s.add_dependency(%q<jeweler>, [">= 0"])
47
+ s.add_dependency(%q<mocha>, [">= 0"])
48
+ end
49
+ end
50
+
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: resque-tabber
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Ben VandenBos
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-07-16 00:00:00 -07:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: resque
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: jeweler
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :development
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: mocha
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ type: :development
62
+ version_requirements: *id003
63
+ description: Adds an arbitrary tab to resque-web which goes wherever you want
64
+ email: bvandenbos@gmail.com
65
+ executables: []
66
+
67
+ extensions: []
68
+
69
+ extra_rdoc_files:
70
+ - README.md
71
+ files:
72
+ - .gitignore
73
+ - README.md
74
+ - Rakefile
75
+ - lib/resque-tabber.rb
76
+ - resque-tabber.gemspec
77
+ has_rdoc: true
78
+ homepage: http://github.com/bvandenbos/resque-tabber
79
+ licenses: []
80
+
81
+ post_install_message:
82
+ rdoc_options:
83
+ - --charset=UTF-8
84
+ require_paths:
85
+ - lib
86
+ required_ruby_version: !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 0
94
+ version: "0"
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
104
+ requirements: []
105
+
106
+ rubyforge_project:
107
+ rubygems_version: 1.3.7
108
+ signing_key:
109
+ specification_version: 3
110
+ summary: Adds an arbitrary tab to resque-web which goes wherever you want
111
+ test_files: []
112
+