rack-generator 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +18 -0
  6. data/Rakefile +9 -0
  7. data/TODO.md +1 -0
  8. data/bin/rack-generator +4 -0
  9. data/lib/rack/generator.rb +2 -0
  10. data/lib/rack/generator/command.rb +35 -0
  11. data/lib/rack/generator/version.rb +5 -0
  12. data/lib/templates/middleware/rack-NAME/Gemfile.erb +4 -0
  13. data/lib/templates/middleware/rack-NAME/LICENSE.txt.erb +22 -0
  14. data/lib/templates/middleware/rack-NAME/README.md.erb +24 -0
  15. data/lib/templates/middleware/rack-NAME/Rakefile.erb +9 -0
  16. data/lib/templates/middleware/rack-NAME/lib/rack/NAME.rb.erb +17 -0
  17. data/lib/templates/middleware/rack-NAME/lib/rack/NAME/version.rb.erb +5 -0
  18. data/lib/templates/middleware/rack-NAME/rack-NAME.gemspec.erb +24 -0
  19. data/lib/templates/middleware/rack-NAME/test/rack_NAME_test.rb.erb +33 -0
  20. data/lib/templates/middleware/rack-NAME/test/test_helper.rb.erb +10 -0
  21. data/rack-generator.gemspec +27 -0
  22. data/test/fixtures/middleware/rack-uppercase/.gitignore +17 -0
  23. data/test/fixtures/middleware/rack-uppercase/Gemfile +4 -0
  24. data/test/fixtures/middleware/rack-uppercase/LICENSE.txt +22 -0
  25. data/test/fixtures/middleware/rack-uppercase/README.md +24 -0
  26. data/test/fixtures/middleware/rack-uppercase/Rakefile +9 -0
  27. data/test/fixtures/middleware/rack-uppercase/lib/rack/uppercase.rb +17 -0
  28. data/test/fixtures/middleware/rack-uppercase/lib/rack/uppercase/version.rb +5 -0
  29. data/test/fixtures/middleware/rack-uppercase/rack-uppercase.gemspec +24 -0
  30. data/test/fixtures/middleware/rack-uppercase/test/rack_uppercase_test.rb +33 -0
  31. data/test/fixtures/middleware/rack-uppercase/test/test_helper.rb +10 -0
  32. data/test/rack_generator_test.rb +68 -0
  33. metadata +157 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: 1a96059b2382ac1cadf817ffd35f00e0a4dd2a85
4
+ data.tar.gz: f8b569069a87cf7f9991c21c2d7c19a8ac7b234f
5
+ !binary "U0hBNTEy":
6
+ metadata.gz: c30b98147cdd1f74767d573559e49007777b70f5919789933ad266960633d2f60eb6169e7f611ac0e8460856810843715f56238cb599e5a4e871395ea3dbed6b
7
+ data.tar.gz: e965d92164587656b299b81f7f9bca10e3206eeda175773da8be4b4d29719b2e01117c6072384359990c65a936d84aa06ded235923788e50255204ffeb63d17d
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in rack-generator.gemspec
4
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Raul Murciano http://www.raulmurciano.com
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,18 @@
1
+ # Rack::Generator
2
+
3
+ Rack middleware generator.
4
+
5
+ ## Installation
6
+
7
+ $ gem install rack-generator
8
+
9
+ ## Usage
10
+
11
+ rack-generator new my-middleware "Raul Murciano" "raul@murciano.net" "Description of my middleware"
12
+
13
+ You'll see a new `rack-my-middleware` directory, containing a few useful files:
14
+
15
+ - `lib/rack/my-middleware.rb` contains a sample middleware that upcases the response bodies of the embedding app
16
+ - `test/rack_my_middleware_test.rb` includes sample tests that you can run with `bundle exec rake`
17
+ - `rack-my-middleware.gemspec` is ready to build a gem from your middleware with `gem build rack-my-middleware.gemspec`. That will generate a `rack-my-middleware-1.0.0.gem` file that you can install locally (`gem install rack-my-middleware-1.0.0.gem`) or release with `gem push rack-my-middleware-1.0.0.gem`
18
+ - `README.md` and `LICENSE.txt` files should include your name, review them before pushing your code
@@ -0,0 +1,9 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << "test"
5
+ t.test_files = FileList['test/*_test.rb']
6
+ t.verbose = true
7
+ end
8
+
9
+ task default: :test
data/TODO.md ADDED
@@ -0,0 +1 @@
1
+ [ ] Test, trying to generate the fixtures/rack-uppercase
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../lib/rack/generator'
3
+
4
+ Rack::Generator::Command.start
@@ -0,0 +1,2 @@
1
+ require_relative './generator/command'
2
+ require_relative './generator/version'
@@ -0,0 +1,35 @@
1
+ require 'thor'
2
+ require 'active_support/inflector'
3
+ require 'pathname'
4
+
5
+ module Rack
6
+ module Generator
7
+ class Command < Thor
8
+
9
+ include Thor::Actions
10
+
11
+ desc 'middleware NAME AUTHOR EMAIL DESCRIPTION', 'Generates a new Rack middleware. E.g: rack-generator middleware "my-middleware" "Raul Murciano" "raul@murciano.net" "Description of my middleware"'
12
+ def middleware(name, author, email, description)
13
+ @name = name.gsub(/\W/,'-').underscore.dasherize.gsub(/\Arack\-/, '')
14
+ @constant = @name.gsub(/-/, '_').camelize
15
+ @author = author
16
+ @email = email
17
+ @description = description
18
+
19
+ templates_dir = Pathname.new("#{self.class.source_root}/../../templates/middleware").realpath.to_s
20
+ templates = Dir.glob("#{templates_dir}/**/*.erb")
21
+
22
+ templates.each do |template_path|
23
+ rel_path = template_path.gsub(templates_dir, '')
24
+ new_path = "#{Dir.pwd}#{rel_path}".gsub('NAME', @name).gsub(/\.erb\Z/, '')
25
+ template template_path, new_path
26
+ end
27
+ end
28
+
29
+ def self.source_root
30
+ File.dirname(__FILE__)
31
+ end
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,5 @@
1
+ module Rack
2
+ module Generator
3
+ VERSION = '1.0.0'
4
+ end
5
+ end
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in .gemspec
4
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) <%= Time.now.year %> <%= @author %>
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,24 @@
1
+ # Rack::<%= @constant %>
2
+
3
+ <%= @description %>
4
+
5
+ ## Usage
6
+
7
+ Add it to your app's `Gemfile`:
8
+
9
+ gem 'rack-<%= @name %>'
10
+
11
+ Add it to your `config.ru` file, before running your app:
12
+
13
+ use Rack::<%= @constant %>
14
+
15
+ If your app is Rails-based, you can add it in your `config/application.rb` instead:
16
+
17
+ config.middleware.use Rack::<%= @constant %>
18
+
19
+ (Read the [Rails on Rack guide](http://guides.rubyonrails.org/rails_on_rack.html) to learn more).
20
+
21
+ ## Development
22
+
23
+ Install the dependencies with `bundle install`.
24
+ Run the tests with `bundle rake`.
@@ -0,0 +1,9 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << "test"
5
+ t.test_files = FileList['test/**/*_test.rb']
6
+ t.verbose = true
7
+ end
8
+
9
+ task default: :test
@@ -0,0 +1,17 @@
1
+ require 'rack/<%= @name %>/version'
2
+
3
+ module Rack
4
+ class <%= @constant %>
5
+
6
+ def initialize(app)
7
+ @app = app
8
+ end
9
+
10
+ def call(env)
11
+ status, headers, response = @app.call(env)
12
+ response.each{ |str| str.upcase! }
13
+ [ status, headers, response ]
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ module Rack
2
+ class <%= @constant %>
3
+ VERSION = '1.0.0'
4
+ end
5
+ end
@@ -0,0 +1,24 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'rack/<%= @name %>/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "rack-<%= @name %>"
7
+ spec.version = Rack::<%= @constant %>::VERSION
8
+ spec.authors = ["<%= @author %>"]
9
+ spec.email = ["<%= @email %>"]
10
+ spec.description = %q{<%= @description %>}
11
+ spec.summary = ""
12
+ spec.homepage = ""
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_runtime_dependency "rack", "~> 1.5.2"
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rack-test"
24
+ end
@@ -0,0 +1,33 @@
1
+ require_relative "test_helper"
2
+
3
+ describe Rack::<%= @constant %> do
4
+ include Rack::Test::Methods
5
+
6
+ class HelloWorldApp
7
+ def call(env)
8
+ [ 200, {"Content-Type" => "text/html"}, ["Hello world!"] ]
9
+ end
10
+ end
11
+
12
+ def app
13
+ Rack::Builder.new do
14
+ use Rack::<%= @constant %>
15
+ run HelloWorldApp.new
16
+ end
17
+ end
18
+
19
+ it "has a version" do
20
+ assert_equal "1.0.0", Rack::<%= @constant %>::VERSION
21
+ end
22
+
23
+ it "returns successful responses" do
24
+ get "/"
25
+ assert_equal 200, last_response.status
26
+ end
27
+
28
+ it "returns uppercase responses" do
29
+ get "/"
30
+ assert_equal "HELLO WORLD!", last_response.body
31
+ end
32
+
33
+ end
@@ -0,0 +1,10 @@
1
+ ENV["RACK_ENV"] = "test"
2
+
3
+ require "bundler/setup"
4
+ Bundler.require(:default, :test)
5
+
6
+ require "minitest/autorun"
7
+ require "minitest/spec"
8
+ require "rack/test"
9
+
10
+ require_relative "../lib/rack/<%= @name %>.rb"
@@ -0,0 +1,27 @@
1
+ require "bundler/setup"
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'rack/generator/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "rack-generator"
9
+ spec.version = Rack::Generator::VERSION
10
+ spec.authors = ["Raul Murciano"]
11
+ spec.email = ["raul@murciano.net"]
12
+ spec.description = %q{Rack middleware generator}
13
+ spec.summary = ""
14
+ spec.homepage = "https://github.com/raul/rack-generator"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files`.split($\)
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_runtime_dependency "thor"
23
+ spec.add_runtime_dependency "activesupport"
24
+ spec.add_development_dependency "minitest"
25
+ spec.add_development_dependency "bundler"
26
+ spec.add_development_dependency "rake"
27
+ end
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in .gemspec
4
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Raul Murciano
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,24 @@
1
+ # Rack::Uppercase
2
+
3
+ Rack middleware which uppercases your app's responses, built as an example/demo.
4
+
5
+ ## Usage
6
+
7
+ Add it to your app's `Gemfile`:
8
+
9
+ gem 'rack-uppercase'
10
+
11
+ Add it to your `config.ru` file, before running your app:
12
+
13
+ use Rack::Uppercase
14
+
15
+ If your app is Rails-based, you can add it in your `config/application.rb` instead:
16
+
17
+ config.middleware.use Rack::Uppercase
18
+
19
+ (Read the [Rails on Rack guide](http://guides.rubyonrails.org/rails_on_rack.html) to learn more).
20
+
21
+ ## Development
22
+
23
+ Install the dependencies with `bundle install`.
24
+ Run the tests with `bundle rake`.
@@ -0,0 +1,9 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << "test"
5
+ t.test_files = FileList['test/**/*_test.rb']
6
+ t.verbose = true
7
+ end
8
+
9
+ task default: :test
@@ -0,0 +1,17 @@
1
+ require 'rack/uppercase/version'
2
+
3
+ module Rack
4
+ class Uppercase
5
+
6
+ def initialize(app)
7
+ @app = app
8
+ end
9
+
10
+ def call(env)
11
+ status, headers, response = @app.call(env)
12
+ response.each{ |str| str.upcase! }
13
+ [ status, headers, response ]
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ module Rack
2
+ class Uppercase
3
+ VERSION = '1.0.0'
4
+ end
5
+ end
@@ -0,0 +1,24 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'rack/uppercase/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "rack-uppercase"
7
+ spec.version = Rack::Uppercase::VERSION
8
+ spec.authors = ["Raul Murciano"]
9
+ spec.email = ["raul@murciano.net"]
10
+ spec.description = %q{Rack middleware which uppercases your app's responses, built as an example/demo.}
11
+ spec.summary = ""
12
+ spec.homepage = ""
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_runtime_dependency "rack", "~> 1.5.2"
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rack-test"
24
+ end
@@ -0,0 +1,33 @@
1
+ require_relative "test_helper"
2
+
3
+ describe Rack::Uppercase do
4
+ include Rack::Test::Methods
5
+
6
+ class HelloWorldApp
7
+ def call(env)
8
+ [ 200, {"Content-Type" => "text/html"}, ["Hello world!"] ]
9
+ end
10
+ end
11
+
12
+ def app
13
+ Rack::Builder.new do
14
+ use Rack::Uppercase
15
+ run HelloWorldApp.new
16
+ end
17
+ end
18
+
19
+ it "has a version" do
20
+ assert_equal "1.0.0", Rack::Uppercase::VERSION
21
+ end
22
+
23
+ it "returns successful responses" do
24
+ get "/"
25
+ assert_equal 200, last_response.status
26
+ end
27
+
28
+ it "returns uppercase responses" do
29
+ get "/"
30
+ assert_equal "HELLO WORLD!", last_response.body
31
+ end
32
+
33
+ end
@@ -0,0 +1,10 @@
1
+ ENV["RACK_ENV"] = "test"
2
+
3
+ require "bundler/setup"
4
+ Bundler.require(:default, :test)
5
+
6
+ require "minitest/autorun"
7
+ require "minitest/spec"
8
+ require "rack/test"
9
+
10
+ require_relative "../lib/rack/uppercase.rb"
@@ -0,0 +1,68 @@
1
+ require "bundler/setup"
2
+ require "minitest/autorun"
3
+ require "minitest/spec"
4
+
5
+ require_relative '../lib/rack/generator'
6
+
7
+ describe "rack-generator" do
8
+
9
+ before do
10
+ reset_tmp_dir
11
+ Dir.chdir tmp_dir
12
+ end
13
+
14
+ after do
15
+ delete_tmp_dir
16
+ end
17
+
18
+ describe "middleware" do
19
+ it "should generate an identical copy of the middleware fixtures" do
20
+ system('bundle exec ../../bin/rack-generator middleware uppercase "Raul Murciano" "raul@murciano.net" "Rack middleware which uppercases your app\'s responses, built as an example/demo."')
21
+
22
+ expected_files = files_under "#{fixtures_dir}/middleware"
23
+ generated_files = files_under tmp_dir
24
+
25
+ missing_files = expected_files - generated_files
26
+ extra_files = generated_files - expected_files
27
+
28
+ assert missing_files.empty?, "Missing files: #{missing_files}"
29
+ assert extra_files.empty?, "Files generated but not expected: #{extra_files}"
30
+
31
+ expected_files.select{ |f| File.file?(f) }.each do |f|
32
+ assert_equal generated_content(f), expected_content("middleware/#{f}")
33
+ end
34
+ end
35
+ end
36
+
37
+ def files_under(dir)
38
+ Dir.glob("#{dir}/**/*").select { |f| File.file?(f) }.map{ |path| path.gsub("#{dir}/", '') }
39
+ end
40
+
41
+ def generated_content(path)
42
+ filepath = File.join tmp_dir, path
43
+ File.open(filepath) { |file| file.read }
44
+ end
45
+
46
+ def expected_content(path)
47
+ filepath = File.join fixtures_dir, path
48
+ File.open(filepath) { |file| file.read }
49
+ end
50
+
51
+ def fixtures_dir
52
+ File.join File.dirname(__FILE__), 'fixtures'
53
+ end
54
+
55
+ def reset_tmp_dir
56
+ delete_tmp_dir if File.directory?(tmp_dir)
57
+ FileUtils.mkdir_p tmp_dir
58
+ end
59
+
60
+ def delete_tmp_dir
61
+ FileUtils.rm_r tmp_dir
62
+ end
63
+
64
+ def tmp_dir
65
+ File.join File.dirname(__FILE__), 'tmp'
66
+ end
67
+
68
+ end
metadata ADDED
@@ -0,0 +1,157 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rack-generator
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Raul Murciano
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Rack middleware generator
84
+ email:
85
+ - raul@murciano.net
86
+ executables:
87
+ - rack-generator
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - .gitignore
92
+ - Gemfile
93
+ - LICENSE.txt
94
+ - README.md
95
+ - Rakefile
96
+ - TODO.md
97
+ - bin/rack-generator
98
+ - lib/rack/generator.rb
99
+ - lib/rack/generator/command.rb
100
+ - lib/rack/generator/version.rb
101
+ - lib/templates/middleware/rack-NAME/Gemfile.erb
102
+ - lib/templates/middleware/rack-NAME/LICENSE.txt.erb
103
+ - lib/templates/middleware/rack-NAME/README.md.erb
104
+ - lib/templates/middleware/rack-NAME/Rakefile.erb
105
+ - lib/templates/middleware/rack-NAME/lib/rack/NAME.rb.erb
106
+ - lib/templates/middleware/rack-NAME/lib/rack/NAME/version.rb.erb
107
+ - lib/templates/middleware/rack-NAME/rack-NAME.gemspec.erb
108
+ - lib/templates/middleware/rack-NAME/test/rack_NAME_test.rb.erb
109
+ - lib/templates/middleware/rack-NAME/test/test_helper.rb.erb
110
+ - rack-generator.gemspec
111
+ - test/fixtures/middleware/rack-uppercase/.gitignore
112
+ - test/fixtures/middleware/rack-uppercase/Gemfile
113
+ - test/fixtures/middleware/rack-uppercase/LICENSE.txt
114
+ - test/fixtures/middleware/rack-uppercase/README.md
115
+ - test/fixtures/middleware/rack-uppercase/Rakefile
116
+ - test/fixtures/middleware/rack-uppercase/lib/rack/uppercase.rb
117
+ - test/fixtures/middleware/rack-uppercase/lib/rack/uppercase/version.rb
118
+ - test/fixtures/middleware/rack-uppercase/rack-uppercase.gemspec
119
+ - test/fixtures/middleware/rack-uppercase/test/rack_uppercase_test.rb
120
+ - test/fixtures/middleware/rack-uppercase/test/test_helper.rb
121
+ - test/rack_generator_test.rb
122
+ homepage: https://github.com/raul/rack-generator
123
+ licenses:
124
+ - MIT
125
+ metadata: {}
126
+ post_install_message:
127
+ rdoc_options: []
128
+ require_paths:
129
+ - lib
130
+ required_ruby_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ! '>='
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ requirements: []
141
+ rubyforge_project:
142
+ rubygems_version: 2.0.3
143
+ signing_key:
144
+ specification_version: 4
145
+ summary: ''
146
+ test_files:
147
+ - test/fixtures/middleware/rack-uppercase/.gitignore
148
+ - test/fixtures/middleware/rack-uppercase/Gemfile
149
+ - test/fixtures/middleware/rack-uppercase/LICENSE.txt
150
+ - test/fixtures/middleware/rack-uppercase/README.md
151
+ - test/fixtures/middleware/rack-uppercase/Rakefile
152
+ - test/fixtures/middleware/rack-uppercase/lib/rack/uppercase.rb
153
+ - test/fixtures/middleware/rack-uppercase/lib/rack/uppercase/version.rb
154
+ - test/fixtures/middleware/rack-uppercase/rack-uppercase.gemspec
155
+ - test/fixtures/middleware/rack-uppercase/test/rack_uppercase_test.rb
156
+ - test/fixtures/middleware/rack-uppercase/test/test_helper.rb
157
+ - test/rack_generator_test.rb