backtik-red-herring 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/LICENSE +22 -0
- data/Manifest.txt +16 -0
- data/PostInstall.txt +0 -0
- data/README +36 -0
- data/Rakefile +31 -0
- data/app_generators/herring/USAGE +5 -0
- data/app_generators/herring/herring_generator.rb +75 -0
- data/app_generators/herring/templates/config.ru +4 -0
- data/bin/herring +23 -0
- data/lib/herring.rb +6 -0
- data/lib/herring/herring_rack.rb +58 -0
- data/red-herring.gemspec +42 -0
- metadata +189 -0
data/History.txt
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2008 Trek Glowacki
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person
|
4
|
+
obtaining a copy of this software and associated documentation
|
5
|
+
files (the "Software"), to deal in the Software without
|
6
|
+
restriction, including without limitation the rights to use,
|
7
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
+
copies of the Software, and to permit persons to whom the
|
9
|
+
Software is furnished to do so, subject to the following
|
10
|
+
conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be
|
13
|
+
included in all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
17
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
19
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
20
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
21
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
22
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
data/Manifest.txt
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
History.txt
|
2
|
+
LICENSE
|
3
|
+
Manifest.txt
|
4
|
+
PostInstall.txt
|
5
|
+
README
|
6
|
+
Rakefile
|
7
|
+
app_generators/herring/USAGE
|
8
|
+
app_generators/herring/herring_generator.rb
|
9
|
+
app_generators/herring/templates/config.ru
|
10
|
+
bin/herring
|
11
|
+
lib/herring.rb
|
12
|
+
lib/herring/herring_rack.rb
|
13
|
+
red-herring.gemspec
|
14
|
+
script/console
|
15
|
+
script/destroy
|
16
|
+
script/generate
|
data/PostInstall.txt
ADDED
File without changes
|
data/README
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
Red Herring
|
2
|
+
These aren't formats you're looking for.
|
3
|
+
|
4
|
+
Herring is a small webrunner based on Rack. Herring is intended to stream Ruby created documents requested via HTTP without first needing to write a normal file to disk.
|
5
|
+
|
6
|
+
Installing
|
7
|
+
Herring is installed as gem.
|
8
|
+
gem sources -a http://gems.github.com
|
9
|
+
sudo gem install backtik-red-herring
|
10
|
+
|
11
|
+
Generating
|
12
|
+
You can generate a new Herring structure with the herring command
|
13
|
+
cd /path/to/some/folder
|
14
|
+
herring some_name
|
15
|
+
|
16
|
+
|
17
|
+
Using
|
18
|
+
Herring runs atop Rack. You can run Herring with Rack's rackup command. The default port is :9292
|
19
|
+
|
20
|
+
cd /path/to/your/herring
|
21
|
+
rackup
|
22
|
+
|
23
|
+
You can now request files from Herring in your web browser:
|
24
|
+
|
25
|
+
http://localhost:9292/folder/file.format
|
26
|
+
|
27
|
+
Herring will parse certain Ruby formats and return their equivalent standard web format:
|
28
|
+
|
29
|
+
http://localhost:9292/folder/pretty.sass
|
30
|
+
will return Sass shaped css
|
31
|
+
|
32
|
+
http://localhost:9292/folder/behave.red
|
33
|
+
will return Red rendered javascript
|
34
|
+
|
35
|
+
Wha? Why?
|
36
|
+
Herring lets you use Ruby generated resources in development regardless of production environment.
|
data/Rakefile
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
%w[rubygems rake rake/clean fileutils newgem rubigen].each { |f| require f }
|
2
|
+
require File.dirname(__FILE__) + '/lib/herring'
|
3
|
+
|
4
|
+
# Generate all the Rake tasks
|
5
|
+
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
6
|
+
$hoe = Hoe.new('red-herring', Herring::VERSION) do |p|
|
7
|
+
p.developer('Trek Glowacki', 'trek.glowacki@gmail.com')
|
8
|
+
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
9
|
+
p.summary = ''
|
10
|
+
p.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
|
11
|
+
p.rubyforge_name = 'red-herring'
|
12
|
+
# p.extra_deps = [
|
13
|
+
# ['activesupport','>= 2.0.2'],
|
14
|
+
# ]
|
15
|
+
p.extra_dev_deps = [
|
16
|
+
['newgem', ">= #{::Newgem::VERSION}"],
|
17
|
+
['rack', '>= 0.4.0'],
|
18
|
+
['red', '>= 4.1.7']
|
19
|
+
]
|
20
|
+
|
21
|
+
p.clean_globs |= %w[**/.DS_Store tmp *.log]
|
22
|
+
path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
|
23
|
+
p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
|
24
|
+
p.rsync_args = '-av --delete --ignore-errors'
|
25
|
+
end
|
26
|
+
|
27
|
+
require 'newgem/tasks' # load /tasks/*.rake
|
28
|
+
Dir['tasks/**/*.rake'].each { |t| load t }
|
29
|
+
|
30
|
+
# TODO - want other tests/tasks run by default? Add them to the list
|
31
|
+
# task :default => [:spec, :features]
|
@@ -0,0 +1,75 @@
|
|
1
|
+
def nil.to_s
|
2
|
+
""
|
3
|
+
end
|
4
|
+
|
5
|
+
class HerringGenerator < RubiGen::Base
|
6
|
+
|
7
|
+
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
8
|
+
Config::CONFIG['ruby_install_name'])
|
9
|
+
|
10
|
+
default_options :author => nil
|
11
|
+
|
12
|
+
attr_reader :name
|
13
|
+
|
14
|
+
def initialize(runtime_args, runtime_options = {})
|
15
|
+
super
|
16
|
+
usage if args.empty?
|
17
|
+
@destination_root = File.expand_path(args.shift)
|
18
|
+
@name = base_name rescue ''
|
19
|
+
extract_options
|
20
|
+
end
|
21
|
+
|
22
|
+
def manifest
|
23
|
+
record do |m|
|
24
|
+
# Ensure appropriate folder(s) exists
|
25
|
+
m.directory ''
|
26
|
+
BASEDIRS.each { |path| m.directory path }
|
27
|
+
m.file 'config.ru', 'config.ru'
|
28
|
+
|
29
|
+
# Create stubs
|
30
|
+
# m.template "template.rb", "some_file_after_erb.rb"
|
31
|
+
# m.template_copy_each ["template.rb", "template2.rb"]
|
32
|
+
# m.file "file", "some_file_copied"
|
33
|
+
# m.file_copy_each ["path/to/file", "path/to/file2"]
|
34
|
+
|
35
|
+
# m.dependency "install_rubigen_scripts", [destination_root, 'herring'],
|
36
|
+
# :shebang => options[:shebang], :collision => :force
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
protected
|
41
|
+
def banner
|
42
|
+
<<-EOS
|
43
|
+
Creates a ...
|
44
|
+
|
45
|
+
USAGE: #{spec.name} name
|
46
|
+
EOS
|
47
|
+
end
|
48
|
+
|
49
|
+
def add_options!(opts)
|
50
|
+
opts.separator ''
|
51
|
+
opts.separator 'Options:'
|
52
|
+
# For each option below, place the default
|
53
|
+
# at the top of the file next to "default_options"
|
54
|
+
# opts.on("-a", "--author=\"Your Name\"", String,
|
55
|
+
# "Some comment about this option",
|
56
|
+
# "Default: none") { |options[:author]| }
|
57
|
+
opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
58
|
+
opts.on("-i", "--init", "Initialize an existing directory as a herring project") { options[:init] = true}
|
59
|
+
end
|
60
|
+
|
61
|
+
def extract_options
|
62
|
+
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
63
|
+
# Templates can access these value via the attr_reader-generated methods, but not the
|
64
|
+
# raw instance variable value.
|
65
|
+
# @author = options[:author]
|
66
|
+
end
|
67
|
+
|
68
|
+
# Installation skeleton. Intermediate directories are automatically
|
69
|
+
# created so don't sweat their absence here.
|
70
|
+
BASEDIRS = %w(
|
71
|
+
red
|
72
|
+
sass
|
73
|
+
haml
|
74
|
+
)
|
75
|
+
end
|
data/bin/herring
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rubigen'
|
5
|
+
|
6
|
+
if %w(-v --version).include? ARGV.first
|
7
|
+
puts "#{File.basename($0)} #{Herring::VERSION}"
|
8
|
+
exit(0)
|
9
|
+
end
|
10
|
+
|
11
|
+
if %w(-i --init).include? ARGV.first
|
12
|
+
require "ftools"
|
13
|
+
f = File.join(File.dirname(__FILE__), "../app_generators/herring/templates/config.ru")
|
14
|
+
File.copy(f, 'config.ru')
|
15
|
+
exit(0)
|
16
|
+
end
|
17
|
+
|
18
|
+
require 'rubigen/scripts/generate'
|
19
|
+
source = RubiGen::PathSource.new(:application,
|
20
|
+
File.join(File.dirname(__FILE__), "../app_generators"))
|
21
|
+
RubiGen::Base.reset_sources
|
22
|
+
RubiGen::Base.append_sources source
|
23
|
+
RubiGen::Scripts::Generate.new.run(ARGV, :generator => 'herring')
|
data/lib/herring.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'rack/request'
|
2
|
+
require 'rack/response'
|
3
|
+
require 'rubygems' rescue nil
|
4
|
+
require 'sass' rescue nil
|
5
|
+
require 'red'
|
6
|
+
require 'red/executable'
|
7
|
+
require 'optparse'
|
8
|
+
require 'ftools'
|
9
|
+
|
10
|
+
include Red
|
11
|
+
|
12
|
+
module Rack
|
13
|
+
class Herring
|
14
|
+
HerringRoot = ::File.join(::File.dirname(__FILE__),'..')
|
15
|
+
def call(env)
|
16
|
+
req = Request.new(env)
|
17
|
+
Red.init(::File.join(HerringRoot,req.path_info))
|
18
|
+
|
19
|
+
data, headers = case ::File.extname(req.path_info)
|
20
|
+
when '.ajax'
|
21
|
+
update_page(req.POST['red']) if req.post?
|
22
|
+
when '.red'
|
23
|
+
[translate_to_string_including_ruby(::File.read("#{HerringRoot}#{req.path_info}")), {"Content-Type" => "text/js"}]
|
24
|
+
when '.html'
|
25
|
+
[::File.read("#{HerringRoot}#{req.path_info}"), {"Content-Type" => "text/html"}]
|
26
|
+
when '.js'
|
27
|
+
[::File.read("#{HerringRoot}#{req.path_info}"), {"Content-Type" => "text/javascript"}]
|
28
|
+
when '.css'
|
29
|
+
[::File.read("#{HerringRoot}#{req.path_info}"), {"Content-Type" => "text/css"}]
|
30
|
+
when '.sass'
|
31
|
+
[Sass::Engine.new(::File.read("#{HerringRoot}#{req.path_info}")).render, {"Content-Type" => "text/css"}]
|
32
|
+
when '.ico'
|
33
|
+
['', {"Content-Type" => "image/ico"}]
|
34
|
+
when '.gif', '.jpg', '.png'
|
35
|
+
[::File.read("#{HerringRoot}#{req.path_info}"), {"Content-Type" => "image/#{::File.extname(req.path_info)}"}]
|
36
|
+
else
|
37
|
+
['',{}]
|
38
|
+
end
|
39
|
+
|
40
|
+
res = Response.new([], 200, headers) do |r|
|
41
|
+
r.write data
|
42
|
+
end.finish
|
43
|
+
end
|
44
|
+
|
45
|
+
def update_page(red)
|
46
|
+
return if red.empty?
|
47
|
+
red.translate_to_sexp_array.red!
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
if $0 == __FILE__
|
53
|
+
require 'rack'
|
54
|
+
require 'rack/showexceptions'
|
55
|
+
Rack::Handler::WEBrick.run \
|
56
|
+
Rack::ShowExceptions.new(Rack::Lint.new(Rack::Herring.new)),
|
57
|
+
:Port => 9292
|
58
|
+
end
|
data/red-herring.gemspec
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = %q{red-herring}
|
3
|
+
s.version = "0.0.2"
|
4
|
+
|
5
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
|
+
s.authors = ["Trek Glowacki"]
|
7
|
+
s.date = %q{2008-11-11}
|
8
|
+
s.default_executable = %q{herring}
|
9
|
+
s.email = ["trek.glowacki@gmail.com"]
|
10
|
+
s.executables = ["herring"]
|
11
|
+
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt"]
|
12
|
+
s.files = [".git/COMMIT_EDITMSG", ".git/FETCH_HEAD", ".git/HEAD", ".git/ORIG_HEAD", ".git/config", ".git/description", ".git/hooks/applypatch-msg", ".git/hooks/commit-msg", ".git/hooks/post-commit", ".git/hooks/post-receive", ".git/hooks/post-update", ".git/hooks/pre-applypatch", ".git/hooks/pre-commit", ".git/hooks/pre-rebase", ".git/hooks/prepare-commit-msg", ".git/hooks/update", ".git/index", ".git/info/exclude", ".git/logs/HEAD", ".git/logs/refs/heads/61f6810", ".git/logs/refs/heads/master", ".git/logs/refs/heads/rotuka/master", ".git/logs/refs/remotes/origin/master", ".git/logs/refs/remotes/rotuka/master", ".git/objects/00/7a83323dcfad2f44fefffd66fe6556b93e829c", ".git/objects/00/b5adf658d17152004a36817ba947aedf491039", ".git/objects/05/92d43637bc74697b400c70053c6aa3521af67f", ".git/objects/08/f61505e38108bed8ee68908b2792141eaa8603", ".git/objects/12/84b8ac015b822fad824d005eb5c52d05a7591d", ".git/objects/12/b2b1d226db97216236465462f022591b4bb72b", ".git/objects/17/9818829e0e098f4c8cd07f36f319494973f4d8", ".git/objects/23/d13186cd6dbe3368c98b042f7cf3c56ce81be8", ".git/objects/24/e5198808663d7ff931f4388337e62d5b893712", ".git/objects/26/8e6ebc5f9850d25f498d622af955dedcbcd6f1", ".git/objects/29/1835b6ea2dfada873f6ba128a90d4929da3a78", ".git/objects/2a/b0c435aee6ba0e7b00cce89a65b1867137e3d1", ".git/objects/34/6ea6cd223977ea5d27f41bb3d1625a46ebd215", ".git/objects/35/c995596898d228101c78a44b5767c84712b712", ".git/objects/3c/2c6aee19c882b56ced4f14d7fa4ce160c7473e", ".git/objects/3f/5118ea777c412067c4b7773eda6154e06e3bcb", ".git/objects/40/9ddef294c487479053519bf6584f1d4cd41019", ".git/objects/43/74b44d644dd2316931dd9e664565a396995804", ".git/objects/59/951f8fcb648948ebf283d4d41ed6b8bfd3051a", ".git/objects/5b/1f2638ccbe750ca524852a1f9365cd9b892eb6", ".git/objects/5e/1c08878ae147a624631231d2d6d25fec809462", ".git/objects/61/f6810d5c1229c6ba7f8b5b1157d7d3f218a770", ".git/objects/63/645b1a2e2fb362478befad15f0d0be00d0b6a8", ".git/objects/69/df9473ea3a762df1978eabd796908e413c2bba", ".git/objects/6a/8229d6dec5cea9426992b19f0c51d9c24ca57d", ".git/objects/72/746d5b32e1c8661c0ff2f9e597e5a963cc8e2c", ".git/objects/7c/f8f8ba4f348cb7dd410fc751d66c48cb453f7c", ".git/objects/7d/0910d539874fdedee6ce7445c919a4859d7e02", ".git/objects/81/a7b9f8fa949b4827c34a5323426be1ac9bd7f8", ".git/objects/87/6168d68465599d566bcbef9e88179a9094635e", ".git/objects/8b/2bc7db2cf16a370084f8473b13c3e2afffb1eb", ".git/objects/9b/589eec9ed412b4d41cfb8628c1d0f422a676e4", ".git/objects/a3/317b2436ce91821aa271e1ab9b26503024f401", ".git/objects/ad/d145942bfffababbcff41b052c956b1d46fd18", ".git/objects/b5/169ca4d8d4492105ec5ff141ceb33bc5365538", ".git/objects/b7/8dc5b3d2d44170ef9ee6458ce30b99935b052f", ".git/objects/c0/434e52d7a457f02f39e9ca479a9fafbd71715a", ".git/objects/c0/db2b20d96de2bbf0d28345c82075ae737224b3", ".git/objects/c3/2bb4108acc1cece0fd49549d3e86eb94f10b1f", ".git/objects/c5/74412ee71b8303afb3224417d11263c41f0fba", ".git/objects/c6/5fcfbd2fb546ee16578dcfe28d4bb846552dca", ".git/objects/d3/7c5ae98fac7a48853ca831c0001d164a7d27fb", ".git/objects/d4/e8663f7b33380254906e915ade0d53652081d5", ".git/objects/da/02cd9c42ca2ed047589e38eabcc3176a0c8060", ".git/objects/dd/8675ba8fa8ccdd009337447cfafffe59f4f680", ".git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391", ".git/objects/f0/5abf860d9bb7c4bf5bdbcb48d9185e49c3cfca", ".git/objects/f4/d9d00d5daef8f721e9096da6f119a71b3bacae", ".git/objects/fb/a1a264e4c51b7d822b17cd26ab9830020ca344", ".git/objects/pack/pack-f71982f2e0f3352dff3d35c1f9f841fbe959ed33.idx", ".git/objects/pack/pack-f71982f2e0f3352dff3d35c1f9f841fbe959ed33.keep", ".git/objects/pack/pack-f71982f2e0f3352dff3d35c1f9f841fbe959ed33.pack", ".git/refs/heads/61f6810", ".git/refs/heads/master", ".git/refs/heads/rotuka/master", ".git/refs/remotes/origin/HEAD", ".git/refs/remotes/origin/master", ".git/refs/remotes/rotuka/master", "History.txt", "LICENSE", "Manifest.txt", "PostInstall.txt", "README", "Rakefile", "app_generators/herring/USAGE", "app_generators/herring/herring_generator.rb", "app_generators/herring/templates/config.ru", "bin/herring", "lib/herring.rb", "lib/herring/herring_rack.rb", "red-herring.gemspec", "script/console", "script/destroy", "script/generate"]
|
13
|
+
s.has_rdoc = true
|
14
|
+
s.post_install_message = %q{PostInstall.txt}
|
15
|
+
s.rdoc_options = ["--main", "README"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.rubyforge_project = %q{red-herring}
|
18
|
+
s.rubygems_version = %q{1.2.0}
|
19
|
+
s.summary = %q{}
|
20
|
+
|
21
|
+
if s.respond_to? :specification_version then
|
22
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
23
|
+
s.specification_version = 2
|
24
|
+
|
25
|
+
if current_version >= 3 then
|
26
|
+
s.add_development_dependency(%q<newgem>, [">= 1.0.6"])
|
27
|
+
s.add_development_dependency(%q<rack>, [">= 0.4.0"])
|
28
|
+
s.add_development_dependency(%q<red>, [">= 4.1.7"])
|
29
|
+
s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
|
30
|
+
else
|
31
|
+
s.add_dependency(%q<newgem>, [">= 1.0.6"])
|
32
|
+
s.add_dependency(%q<rack>, [">= 0.4.0"])
|
33
|
+
s.add_dependency(%q<red>, [">= 4.1.7"])
|
34
|
+
s.add_dependency(%q<hoe>, [">= 1.8.0"])
|
35
|
+
end
|
36
|
+
else
|
37
|
+
s.add_dependency(%q<newgem>, [">= 1.0.6"])
|
38
|
+
s.add_dependency(%q<rack>, [">= 0.4.0"])
|
39
|
+
s.add_dependency(%q<red>, [">= 4.1.7"])
|
40
|
+
s.add_dependency(%q<hoe>, [">= 1.8.0"])
|
41
|
+
end
|
42
|
+
end
|
metadata
ADDED
@@ -0,0 +1,189 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: backtik-red-herring
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Trek Glowacki
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-11-11 00:00:00 -08:00
|
13
|
+
default_executable: herring
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: newgem
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.0.6
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: rack
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 0.4.0
|
32
|
+
version:
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: red
|
35
|
+
version_requirement:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 4.1.7
|
41
|
+
version:
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: hoe
|
44
|
+
version_requirement:
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 1.8.0
|
50
|
+
version:
|
51
|
+
description:
|
52
|
+
email:
|
53
|
+
- trek.glowacki@gmail.com
|
54
|
+
executables:
|
55
|
+
- herring
|
56
|
+
extensions: []
|
57
|
+
|
58
|
+
extra_rdoc_files:
|
59
|
+
- History.txt
|
60
|
+
- Manifest.txt
|
61
|
+
- PostInstall.txt
|
62
|
+
files:
|
63
|
+
- .git/COMMIT_EDITMSG
|
64
|
+
- .git/FETCH_HEAD
|
65
|
+
- .git/HEAD
|
66
|
+
- .git/ORIG_HEAD
|
67
|
+
- .git/config
|
68
|
+
- .git/description
|
69
|
+
- .git/hooks/applypatch-msg
|
70
|
+
- .git/hooks/commit-msg
|
71
|
+
- .git/hooks/post-commit
|
72
|
+
- .git/hooks/post-receive
|
73
|
+
- .git/hooks/post-update
|
74
|
+
- .git/hooks/pre-applypatch
|
75
|
+
- .git/hooks/pre-commit
|
76
|
+
- .git/hooks/pre-rebase
|
77
|
+
- .git/hooks/prepare-commit-msg
|
78
|
+
- .git/hooks/update
|
79
|
+
- .git/index
|
80
|
+
- .git/info/exclude
|
81
|
+
- .git/logs/HEAD
|
82
|
+
- .git/logs/refs/heads/61f6810
|
83
|
+
- .git/logs/refs/heads/master
|
84
|
+
- .git/logs/refs/heads/rotuka/master
|
85
|
+
- .git/logs/refs/remotes/origin/master
|
86
|
+
- .git/logs/refs/remotes/rotuka/master
|
87
|
+
- .git/objects/00/7a83323dcfad2f44fefffd66fe6556b93e829c
|
88
|
+
- .git/objects/00/b5adf658d17152004a36817ba947aedf491039
|
89
|
+
- .git/objects/05/92d43637bc74697b400c70053c6aa3521af67f
|
90
|
+
- .git/objects/08/f61505e38108bed8ee68908b2792141eaa8603
|
91
|
+
- .git/objects/12/84b8ac015b822fad824d005eb5c52d05a7591d
|
92
|
+
- .git/objects/12/b2b1d226db97216236465462f022591b4bb72b
|
93
|
+
- .git/objects/17/9818829e0e098f4c8cd07f36f319494973f4d8
|
94
|
+
- .git/objects/23/d13186cd6dbe3368c98b042f7cf3c56ce81be8
|
95
|
+
- .git/objects/24/e5198808663d7ff931f4388337e62d5b893712
|
96
|
+
- .git/objects/26/8e6ebc5f9850d25f498d622af955dedcbcd6f1
|
97
|
+
- .git/objects/29/1835b6ea2dfada873f6ba128a90d4929da3a78
|
98
|
+
- .git/objects/2a/b0c435aee6ba0e7b00cce89a65b1867137e3d1
|
99
|
+
- .git/objects/34/6ea6cd223977ea5d27f41bb3d1625a46ebd215
|
100
|
+
- .git/objects/35/c995596898d228101c78a44b5767c84712b712
|
101
|
+
- .git/objects/3c/2c6aee19c882b56ced4f14d7fa4ce160c7473e
|
102
|
+
- .git/objects/3f/5118ea777c412067c4b7773eda6154e06e3bcb
|
103
|
+
- .git/objects/40/9ddef294c487479053519bf6584f1d4cd41019
|
104
|
+
- .git/objects/43/74b44d644dd2316931dd9e664565a396995804
|
105
|
+
- .git/objects/59/951f8fcb648948ebf283d4d41ed6b8bfd3051a
|
106
|
+
- .git/objects/5b/1f2638ccbe750ca524852a1f9365cd9b892eb6
|
107
|
+
- .git/objects/5e/1c08878ae147a624631231d2d6d25fec809462
|
108
|
+
- .git/objects/61/f6810d5c1229c6ba7f8b5b1157d7d3f218a770
|
109
|
+
- .git/objects/63/645b1a2e2fb362478befad15f0d0be00d0b6a8
|
110
|
+
- .git/objects/69/df9473ea3a762df1978eabd796908e413c2bba
|
111
|
+
- .git/objects/6a/8229d6dec5cea9426992b19f0c51d9c24ca57d
|
112
|
+
- .git/objects/72/746d5b32e1c8661c0ff2f9e597e5a963cc8e2c
|
113
|
+
- .git/objects/7c/f8f8ba4f348cb7dd410fc751d66c48cb453f7c
|
114
|
+
- .git/objects/7d/0910d539874fdedee6ce7445c919a4859d7e02
|
115
|
+
- .git/objects/81/a7b9f8fa949b4827c34a5323426be1ac9bd7f8
|
116
|
+
- .git/objects/87/6168d68465599d566bcbef9e88179a9094635e
|
117
|
+
- .git/objects/8b/2bc7db2cf16a370084f8473b13c3e2afffb1eb
|
118
|
+
- .git/objects/9b/589eec9ed412b4d41cfb8628c1d0f422a676e4
|
119
|
+
- .git/objects/a3/317b2436ce91821aa271e1ab9b26503024f401
|
120
|
+
- .git/objects/ad/d145942bfffababbcff41b052c956b1d46fd18
|
121
|
+
- .git/objects/b5/169ca4d8d4492105ec5ff141ceb33bc5365538
|
122
|
+
- .git/objects/b7/8dc5b3d2d44170ef9ee6458ce30b99935b052f
|
123
|
+
- .git/objects/c0/434e52d7a457f02f39e9ca479a9fafbd71715a
|
124
|
+
- .git/objects/c0/db2b20d96de2bbf0d28345c82075ae737224b3
|
125
|
+
- .git/objects/c3/2bb4108acc1cece0fd49549d3e86eb94f10b1f
|
126
|
+
- .git/objects/c5/74412ee71b8303afb3224417d11263c41f0fba
|
127
|
+
- .git/objects/c6/5fcfbd2fb546ee16578dcfe28d4bb846552dca
|
128
|
+
- .git/objects/d3/7c5ae98fac7a48853ca831c0001d164a7d27fb
|
129
|
+
- .git/objects/d4/e8663f7b33380254906e915ade0d53652081d5
|
130
|
+
- .git/objects/da/02cd9c42ca2ed047589e38eabcc3176a0c8060
|
131
|
+
- .git/objects/dd/8675ba8fa8ccdd009337447cfafffe59f4f680
|
132
|
+
- .git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
133
|
+
- .git/objects/f0/5abf860d9bb7c4bf5bdbcb48d9185e49c3cfca
|
134
|
+
- .git/objects/f4/d9d00d5daef8f721e9096da6f119a71b3bacae
|
135
|
+
- .git/objects/fb/a1a264e4c51b7d822b17cd26ab9830020ca344
|
136
|
+
- .git/objects/pack/pack-f71982f2e0f3352dff3d35c1f9f841fbe959ed33.idx
|
137
|
+
- .git/objects/pack/pack-f71982f2e0f3352dff3d35c1f9f841fbe959ed33.keep
|
138
|
+
- .git/objects/pack/pack-f71982f2e0f3352dff3d35c1f9f841fbe959ed33.pack
|
139
|
+
- .git/refs/heads/61f6810
|
140
|
+
- .git/refs/heads/master
|
141
|
+
- .git/refs/heads/rotuka/master
|
142
|
+
- .git/refs/remotes/origin/HEAD
|
143
|
+
- .git/refs/remotes/origin/master
|
144
|
+
- .git/refs/remotes/rotuka/master
|
145
|
+
- History.txt
|
146
|
+
- LICENSE
|
147
|
+
- Manifest.txt
|
148
|
+
- PostInstall.txt
|
149
|
+
- README
|
150
|
+
- Rakefile
|
151
|
+
- app_generators/herring/USAGE
|
152
|
+
- app_generators/herring/herring_generator.rb
|
153
|
+
- app_generators/herring/templates/config.ru
|
154
|
+
- bin/herring
|
155
|
+
- lib/herring.rb
|
156
|
+
- lib/herring/herring_rack.rb
|
157
|
+
- red-herring.gemspec
|
158
|
+
- script/console
|
159
|
+
- script/destroy
|
160
|
+
- script/generate
|
161
|
+
has_rdoc: true
|
162
|
+
homepage:
|
163
|
+
post_install_message: PostInstall.txt
|
164
|
+
rdoc_options:
|
165
|
+
- --main
|
166
|
+
- README
|
167
|
+
require_paths:
|
168
|
+
- lib
|
169
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: "0"
|
174
|
+
version:
|
175
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: "0"
|
180
|
+
version:
|
181
|
+
requirements: []
|
182
|
+
|
183
|
+
rubyforge_project: red-herring
|
184
|
+
rubygems_version: 1.2.0
|
185
|
+
signing_key:
|
186
|
+
specification_version: 2
|
187
|
+
summary: ""
|
188
|
+
test_files: []
|
189
|
+
|