rackson-five 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENCE +0 -0
- data/README.mdown +18 -0
- data/Rakefile +18 -0
- data/VERSION +1 -0
- data/lib/rack/images/group.png +0 -0
- data/lib/rack/midi/want_you_back.mid +0 -0
- data/lib/rack/rackson-five.rb +46 -0
- metadata +61 -0
data/LICENCE
ADDED
File without changes
|
data/README.mdown
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# Rackson Five
|
2
|
+
|
3
|
+
Add some jackson five love into your app
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
[sudo] gem install rackson-five
|
8
|
+
|
9
|
+
## Usage
|
10
|
+
|
11
|
+
require 'rubygems'
|
12
|
+
require 'rack/rackson-five'
|
13
|
+
|
14
|
+
use Rack::RacksonFive
|
15
|
+
|
16
|
+
app = lambda {|env| [200,{'Content-Type' => "text/html"},"<html><head><title>Rackson-Five Test</title></head><body>Hello World</body><html>"]}
|
17
|
+
|
18
|
+
run app
|
data/Rakefile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "rackson-five"
|
8
|
+
gem.summary = %Q{Add some Jackson 5 love to your rack based website. It's as easy as 1-2-3}
|
9
|
+
gem.description = %Q{Embeds Jackson Five members into your rack based application}
|
10
|
+
gem.email = "ads.noob@gmail.com"
|
11
|
+
gem.homepage = "http://github.com/omgitsads/rackson-five"
|
12
|
+
gem.files = FileList["[A-Z]*","lib/**/*"]
|
13
|
+
gem.authors = ["Adam Holt"]
|
14
|
+
end
|
15
|
+
Jeweler::GemcutterTasks.new
|
16
|
+
rescue LoadError
|
17
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
18
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.1
|
Binary file
|
Binary file
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Rack
|
2
|
+
class RacksonFive < Struct.new :options
|
3
|
+
def initialize(app)
|
4
|
+
@app = app
|
5
|
+
end
|
6
|
+
|
7
|
+
def call(env)
|
8
|
+
request = Rack::Request.new(env)
|
9
|
+
if request.path_info =~ /^\/rackson-five\/(.+)$/
|
10
|
+
rackson_five_request($1)
|
11
|
+
else
|
12
|
+
jacksonify(env)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def rackson_five_request(path)
|
17
|
+
if path == "rackson-five.png"
|
18
|
+
data = ::File.open(::File.join(::File.dirname(__FILE__),"images","group.png"),"r").read
|
19
|
+
[200, {"Content-Type" => "image/png"},data]
|
20
|
+
elsif path == "rackson-five.mid"
|
21
|
+
data = ::File.open(::File.join(::File.dirname(__FILE__),"midi","want_you_back.mid"),"r").read
|
22
|
+
[200, {"Content-Type" => "audio/midi"},data]
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def jacksonify(env)
|
27
|
+
status, headers, response = @app.call(env)
|
28
|
+
if headers["Content-Type"] =~ /text\/html|application\/xhtml\+xml/
|
29
|
+
body = ""
|
30
|
+
response.each { |part| body << part }
|
31
|
+
index = body.rindex("</body>")
|
32
|
+
if index
|
33
|
+
body.insert(index, '<img src="/rackson-five/rackson-five.png" style="position:absolute; bottom:0; right:0;" /><embed src="/rackson-five/rackson-five.mid" autostart="true" loop="-1" hidden="true" />')
|
34
|
+
headers["Content-Length"] = body.length.to_s
|
35
|
+
response = [body]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
[status, headers, response]
|
39
|
+
end
|
40
|
+
|
41
|
+
def member
|
42
|
+
all_members = [:group, :micheal, :tito, :jermaine, :randy, :marlon, :jackie]
|
43
|
+
available_members = all_members - (all_members - options[:members])
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
metadata
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rackson-five
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Adam Holt
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2010-03-12 00:00:00 +00:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: Embeds Jackson Five members into your rack based application
|
17
|
+
email: ads.noob@gmail.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README.mdown
|
24
|
+
files:
|
25
|
+
- LICENCE
|
26
|
+
- README.mdown
|
27
|
+
- Rakefile
|
28
|
+
- VERSION
|
29
|
+
- lib/rack/images/group.png
|
30
|
+
- lib/rack/midi/want_you_back.mid
|
31
|
+
- lib/rack/rackson-five.rb
|
32
|
+
has_rdoc: true
|
33
|
+
homepage: http://github.com/omgitsads/rackson-five
|
34
|
+
licenses: []
|
35
|
+
|
36
|
+
post_install_message:
|
37
|
+
rdoc_options:
|
38
|
+
- --charset=UTF-8
|
39
|
+
require_paths:
|
40
|
+
- lib
|
41
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: "0"
|
46
|
+
version:
|
47
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: "0"
|
52
|
+
version:
|
53
|
+
requirements: []
|
54
|
+
|
55
|
+
rubyforge_project:
|
56
|
+
rubygems_version: 1.3.5
|
57
|
+
signing_key:
|
58
|
+
specification_version: 3
|
59
|
+
summary: Add some Jackson 5 love to your rack based website. It's as easy as 1-2-3
|
60
|
+
test_files: []
|
61
|
+
|