prototyper 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/Gemfile +3 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +9 -0
- data/bin/prototyper +45 -0
- data/lib/prototyper/version.rb +3 -0
- data/lib/prototyper.rb +14 -0
- data/lib/templates/html/.DS_Store +0 -0
- data/lib/templates/html/assets/javascripts/application.js +1 -0
- data/lib/templates/html/assets/stylesheets/application.css +48 -0
- data/lib/templates/html/index.html +15 -0
- data/lib/templates/sinatra/Gemfile +4 -0
- data/lib/templates/sinatra/Procfile +1 -0
- data/lib/templates/sinatra/app.rb +14 -0
- data/lib/templates/sinatra/assets/javascripts/application.js +12 -0
- data/lib/templates/sinatra/assets/javascripts/html5shiv.js +8 -0
- data/lib/templates/sinatra/assets/stylesheets/application.css +4 -0
- data/lib/templates/sinatra/config.ru +2 -0
- data/lib/templates/sinatra/views/index.erb +15 -0
- data/prototyper.gemspec +18 -0
- data/readme.md +69 -0
- data/test/unit/prototyper.rb +76 -0
- metadata +67 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5b1deb281f928797789b695db7512912ee670cc1
|
4
|
+
data.tar.gz: 8799ca3906b6f338724f8bd3351ecf83cc83a418
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 17ef46d46e124245a8508305b004cde5571554afb8125d7fc553b2068694a2a6b3ebb98f3d7e16460b5c52c6e5e621de2fdfb90449a3fcbd9cd3ff7645cfa775
|
7
|
+
data.tar.gz: adc583180ef55e165130344255a5916193a14f1f333af0a6cf92d025856647668c2518b8c0ef5b1f7cbbe4ca6ec544995405c6c4b63537f2dcd2b7cc09e281ad
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.gem
|
data/Gemfile
ADDED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2013 Jonathan Vingiano
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
data/bin/prototyper
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'pathname'
|
4
|
+
require 'optparse'
|
5
|
+
require 'pp'
|
6
|
+
|
7
|
+
bin_file = Pathname.new(__FILE__).realpath
|
8
|
+
|
9
|
+
$:.unshift File.expand_path("../../lib", bin_file)
|
10
|
+
|
11
|
+
require 'prototyper'
|
12
|
+
|
13
|
+
options = {}
|
14
|
+
options[:type] = :html # set default
|
15
|
+
|
16
|
+
OptionParser.new do |opts|
|
17
|
+
|
18
|
+
opts.banner = "Usage: prototyper [project_title] [options]"
|
19
|
+
|
20
|
+
opts.on("--type [TYPE]", [:sinatra, :html],
|
21
|
+
"Select scaffolding type (sinatra, html). Default is HTML.") do |t|
|
22
|
+
options[:type] = t
|
23
|
+
end
|
24
|
+
|
25
|
+
opts.on("--html",
|
26
|
+
"Generate HTML scaffolding. Shortcut for --type html") do |t|
|
27
|
+
options[:type] = :html
|
28
|
+
end
|
29
|
+
|
30
|
+
opts.on("--sinatra",
|
31
|
+
"Generate Sinatra scaffolding. Shortcut for --type sinatra.") do |t|
|
32
|
+
options[:type] = :sinatra
|
33
|
+
end
|
34
|
+
|
35
|
+
end.parse!
|
36
|
+
|
37
|
+
if ARGV.empty?
|
38
|
+
puts "Usage: prototyper [project_title] [options]"
|
39
|
+
puts ""
|
40
|
+
puts "Type prototyper --help for more instruction."
|
41
|
+
elsif Dir.exists?(Dir.pwd + "/" + ARGV.first)
|
42
|
+
puts "That directory already exists."
|
43
|
+
else
|
44
|
+
Prototyper.generate(ARGV.first, options)
|
45
|
+
end
|
data/lib/prototyper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
module Prototyper
|
4
|
+
class << self
|
5
|
+
|
6
|
+
def generate(name, opts={ :type => "html" })
|
7
|
+
dir = FileUtils.mkdir(name)
|
8
|
+
new_dir = "#{Dir.pwd}/#{name}"
|
9
|
+
FileUtils.cp_r Dir["#{Dir.pwd}/lib/templates/#{opts[:type].to_s}/*"], new_dir, :preserve => true, :verbose => true
|
10
|
+
puts "done!"
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
window.onload = {}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
@-webkit-viewport { width: device-width; }
|
2
|
+
@-moz-viewport { width: device-width; }
|
3
|
+
@-ms-viewport { width: device-width; }
|
4
|
+
@-o-viewport { width: device-width; }
|
5
|
+
@viewport { width: device-width; }
|
6
|
+
|
7
|
+
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
|
8
|
+
|
9
|
+
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
|
10
|
+
audio,canvas,video{display:inline-block}
|
11
|
+
audio:not([controls]){display:none;height:0}
|
12
|
+
[hidden],template{display:none}
|
13
|
+
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
|
14
|
+
body{margin:0}
|
15
|
+
a{background:transparent}
|
16
|
+
a:focus{outline:thin dotted}
|
17
|
+
a:active,a:hover{outline:0}
|
18
|
+
h1{font-size:2em;margin:.67em 0}
|
19
|
+
abbr[title]{border-bottom:1px dotted}
|
20
|
+
b,strong{font-weight:bold}
|
21
|
+
dfn{font-style:italic}
|
22
|
+
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
|
23
|
+
mark{background:#ff0;color:#000}
|
24
|
+
code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}
|
25
|
+
pre{white-space:pre-wrap}
|
26
|
+
q{quotes:"\201C" "\201D" "\2018" "\2019"}
|
27
|
+
small{font-size:80%}
|
28
|
+
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
|
29
|
+
sup{top:-0.5em}
|
30
|
+
sub{bottom:-0.25em}
|
31
|
+
img{border:0}
|
32
|
+
svg:not(:root){overflow:hidden}
|
33
|
+
figure{margin:0}
|
34
|
+
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
|
35
|
+
legend{border:0;padding:0}
|
36
|
+
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
|
37
|
+
button,input{line-height:normal}
|
38
|
+
button,select{text-transform:none}
|
39
|
+
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
|
40
|
+
button[disabled],html input[disabled]{cursor:default}
|
41
|
+
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
|
42
|
+
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
|
43
|
+
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
|
44
|
+
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
|
45
|
+
textarea{overflow:auto;vertical-align:top}
|
46
|
+
table{border-collapse:collapse;border-spacing:0}
|
47
|
+
|
48
|
+
/* Site Style */
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
|
+
<title>❤</title>
|
7
|
+
<link href="/assets/stylesheets/applicaiton.css" media="all" rel="stylesheet" type="text/css" />
|
8
|
+
<script src="/assets/javascripts/application.js"></script>
|
9
|
+
<!--[if lt IE 9]>
|
10
|
+
<script src="//ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
11
|
+
<![endif]-->
|
12
|
+
</head>
|
13
|
+
<body>
|
14
|
+
</body>
|
15
|
+
</html>
|
@@ -0,0 +1 @@
|
|
1
|
+
web: bundle exec rackup config.ru -p $PORT
|
@@ -0,0 +1,12 @@
|
|
1
|
+
window.requestAnimationFrame = (function(){
|
2
|
+
return window.requestAnimationFrame ||
|
3
|
+
window.webkitRequestAnimationFrame ||
|
4
|
+
window.mozRequestAnimationFrame ||
|
5
|
+
function( callback ){
|
6
|
+
window.setTimeout(callback, 1000 / 60);
|
7
|
+
};
|
8
|
+
})();
|
9
|
+
|
10
|
+
window.onload = function() {
|
11
|
+
|
12
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*
|
2
|
+
HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
3
|
+
*/
|
4
|
+
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
|
5
|
+
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
|
6
|
+
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
|
7
|
+
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
|
8
|
+
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>❤</title>
|
6
|
+
<link href="/stylesheets/application.css" media="all" rel="stylesheet" type="text/css" />
|
7
|
+
<script src="/javascripts/html5shiv.js"></script>
|
8
|
+
<script src="/javascripts/application.js"></script>
|
9
|
+
<!--[if lt IE 9]>
|
10
|
+
<script src="//ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
11
|
+
<![endif]-->
|
12
|
+
</head>
|
13
|
+
<body>
|
14
|
+
</body>
|
15
|
+
</html>
|
data/prototyper.gemspec
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.expand_path('../lib/prototyper/version', __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
|
5
|
+
s.name = 'prototyper'
|
6
|
+
s.version = Prototyper::VERSION
|
7
|
+
s.author = 'Jonathan Vingiano'
|
8
|
+
s.email = 'jgv@jonathanvingiano.com'
|
9
|
+
s.homepage = 'https://github.com/jgv/prototyper'
|
10
|
+
s.rubyforge_project = 'prototyper'
|
11
|
+
s.summary = 'Set up some boilerplate'
|
12
|
+
s.description = 'Scaffold simple projects from the command line.'
|
13
|
+
s.files = `git ls-files`.split("\n")
|
14
|
+
s.test_file = 'test/unit/prototyper.rb'
|
15
|
+
s.require_paths = ['lib', 'bin']
|
16
|
+
s.executables = ['prototyper']
|
17
|
+
|
18
|
+
end
|
data/readme.md
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# Prototyper
|
2
|
+
|
3
|
+
Prototyper is a simple commandline tool that sets up a basic web application. This gem is designed to get scaffolding a project out of the way. Currently it provides two different project types: HTML and Sinatra. The Sintara installtion provided is good to go on Heroku.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
``` bash
|
8
|
+
$ gem install prototyper
|
9
|
+
```
|
10
|
+
or in your Gemfile: `gem 'prototyper'`
|
11
|
+
|
12
|
+
## Usage
|
13
|
+
|
14
|
+
``` bash
|
15
|
+
$ prototyper coolproject
|
16
|
+
```
|
17
|
+
|
18
|
+
This will create a new HTML project relative to your working directory. It will look something like this:
|
19
|
+
|
20
|
+
```
|
21
|
+
.
|
22
|
+
├── assets
|
23
|
+
│ ├── javascripts
|
24
|
+
│ │ └── application.js
|
25
|
+
│ └── stylesheets
|
26
|
+
│ └── application.css
|
27
|
+
└── index.html
|
28
|
+
```
|
29
|
+
|
30
|
+
Instead of HTML, you may choose to scaffold a Sinatra app by passing the option `--type sinatra`. This will generate an app that looks like so:
|
31
|
+
|
32
|
+
|
33
|
+
```
|
34
|
+
.
|
35
|
+
├── Gemfile
|
36
|
+
├── Procfile
|
37
|
+
├── app.rb
|
38
|
+
├── assets
|
39
|
+
│ ├── javascripts
|
40
|
+
│ │ ├── application.js
|
41
|
+
│ │ └── html5shiv.js
|
42
|
+
│ └── stylesheets
|
43
|
+
│ └── application.css
|
44
|
+
├── config.ru
|
45
|
+
├── generator.rb
|
46
|
+
└── views
|
47
|
+
└── index.erb
|
48
|
+
```
|
49
|
+
|
50
|
+
## Options
|
51
|
+
|
52
|
+
```
|
53
|
+
$ protoyper --help
|
54
|
+
|
55
|
+
Usage: prototyper [projectname] [options]
|
56
|
+
--type [TYPE] Select scaffolding type (sinatra, html)
|
57
|
+
--html Generate HTML scaffolding
|
58
|
+
--sinatra Generate Sinatra scaffolding
|
59
|
+
```
|
60
|
+
|
61
|
+
## Tests
|
62
|
+
|
63
|
+
Run tests with minitest.
|
64
|
+
|
65
|
+
``` bash
|
66
|
+
$ rake test
|
67
|
+
```
|
68
|
+
|
69
|
+
**License: MIT**
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'minitest/unit'
|
3
|
+
require 'minitest/pride'
|
4
|
+
require 'pathname'
|
5
|
+
|
6
|
+
$:.unshift File.dirname(__FILE__) + '/../../lib'
|
7
|
+
require 'prototyper'
|
8
|
+
class TestSinatraApp < MiniTest::Test
|
9
|
+
|
10
|
+
def setup
|
11
|
+
Prototyper.generate("test_sinatra", { :type => :sinatra })
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
FileUtils.rm_rf("test_sinatra")
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_that_it_creates_a_project
|
19
|
+
assert Dir.exists?("test_sinatra")
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_that_it_creates_subdirs
|
23
|
+
assert Dir.exists?("test_sinatra/assets")
|
24
|
+
assert Dir.exists?("test_sinatra/views")
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_that_it_creates_a_sinatra_app
|
28
|
+
all_files = `find test_sinatra`.split("\n").map { |f| File.basename(f, ".*") }
|
29
|
+
%w(app
|
30
|
+
assets
|
31
|
+
javascripts
|
32
|
+
application
|
33
|
+
html5shiv
|
34
|
+
stylesheets
|
35
|
+
application
|
36
|
+
config
|
37
|
+
Gemfile
|
38
|
+
Procfile
|
39
|
+
views
|
40
|
+
index).each do |file|
|
41
|
+
assert all_files.include?(file)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
class TestHTMLApp < MiniTest::Test
|
48
|
+
|
49
|
+
def setup
|
50
|
+
Prototyper.generate("test_html")
|
51
|
+
end
|
52
|
+
|
53
|
+
def teardown
|
54
|
+
# FileUtils.rm_rf("test_html")
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_that_it_creates_a_project
|
58
|
+
assert Dir.exists?("test_html")
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_that_it_creates_subdirs
|
62
|
+
assert Dir.exists?("test_html/assets")
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_that_it_creates_necessary_files
|
66
|
+
all_files = `find test_html`.split("\n").map { |f| File.basename(f, ".*") }
|
67
|
+
%w(index
|
68
|
+
assets
|
69
|
+
javascripts
|
70
|
+
stylesheets
|
71
|
+
application).each do |file|
|
72
|
+
assert all_files.include?(file)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
metadata
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: prototyper
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jonathan Vingiano
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-10-23 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Scaffold simple projects from the command line.
|
14
|
+
email: jgv@jonathanvingiano.com
|
15
|
+
executables:
|
16
|
+
- prototyper
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- .gitignore
|
21
|
+
- Gemfile
|
22
|
+
- MIT-LICENSE
|
23
|
+
- Rakefile
|
24
|
+
- bin/prototyper
|
25
|
+
- lib/prototyper.rb
|
26
|
+
- lib/prototyper/version.rb
|
27
|
+
- lib/templates/html/.DS_Store
|
28
|
+
- lib/templates/html/assets/javascripts/application.js
|
29
|
+
- lib/templates/html/assets/stylesheets/application.css
|
30
|
+
- lib/templates/html/index.html
|
31
|
+
- lib/templates/sinatra/Gemfile
|
32
|
+
- lib/templates/sinatra/Procfile
|
33
|
+
- lib/templates/sinatra/app.rb
|
34
|
+
- lib/templates/sinatra/assets/javascripts/application.js
|
35
|
+
- lib/templates/sinatra/assets/javascripts/html5shiv.js
|
36
|
+
- lib/templates/sinatra/assets/stylesheets/application.css
|
37
|
+
- lib/templates/sinatra/config.ru
|
38
|
+
- lib/templates/sinatra/views/index.erb
|
39
|
+
- prototyper.gemspec
|
40
|
+
- readme.md
|
41
|
+
- test/unit/prototyper.rb
|
42
|
+
homepage: https://github.com/jgv/prototyper
|
43
|
+
licenses: []
|
44
|
+
metadata: {}
|
45
|
+
post_install_message:
|
46
|
+
rdoc_options: []
|
47
|
+
require_paths:
|
48
|
+
- lib
|
49
|
+
- bin
|
50
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - '>='
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
60
|
+
requirements: []
|
61
|
+
rubyforge_project: prototyper
|
62
|
+
rubygems_version: 2.0.0
|
63
|
+
signing_key:
|
64
|
+
specification_version: 4
|
65
|
+
summary: Set up some boilerplate
|
66
|
+
test_files:
|
67
|
+
- test/unit/prototyper.rb
|