prologue 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +110 -0
- data/LICENSE +21 -0
- data/README.md +65 -0
- data/Rakefile +2 -0
- data/bin/prologue +3 -0
- data/features/new.feature +44 -0
- data/features/support/setup.rb +1 -0
- data/lib/prologue/cli.rb +71 -0
- data/lib/prologue/version.rb +3 -0
- data/lib/prologue.rb +3 -0
- data/prologue.gemspec +27 -0
- data/templates/admin/dashboard_spec.rb +22 -0
- data/templates/admin/layout.rb +75 -0
- data/templates/admin/sass.rb +140 -0
- data/templates/admin/users.rb +140 -0
- data/templates/admin/users_spec.rb +29 -0
- data/templates/admin.rb +28 -0
- data/templates/application_layout.rb +71 -0
- data/templates/bootstrap.rb +91 -0
- data/templates/cancan.rb +104 -0
- data/templates/clean_routes.rb +8 -0
- data/templates/db.rb +1 -0
- data/templates/db_seed.rb +1 -0
- data/templates/devise/cucumber.rb +91 -0
- data/templates/devise.rb +94 -0
- data/templates/dynamic_form.rb +1 -0
- data/templates/friendly_id.rb +1 -0
- data/templates/gemfile.rb +32 -0
- data/templates/haml_generator.rb +7 -0
- data/templates/home_controller.rb +13 -0
- data/templates/jammit.rb +13 -0
- data/templates/js.rb +10 -0
- data/templates/rails_clean.rb +7 -0
- data/templates/rspec_clean.rb +3 -0
- data/templates/sass.rb +142 -0
- data/templates/sorter_lib.rb +97 -0
- data/templates/test_suite.rb +11 -0
- metadata +190 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
run 'rm Gemfile'
|
2
|
+
create_file 'Gemfile', "source 'http://rubygems.org'\n"
|
3
|
+
gem "rails", "3.0.0"
|
4
|
+
gem "sqlite3-ruby", :require => "sqlite3"
|
5
|
+
if ENV['PROLOGUE_AUTH']
|
6
|
+
gem 'devise', ">= 1.1.2"
|
7
|
+
end
|
8
|
+
if ENV['PROLOGUE_ROLES']
|
9
|
+
gem 'cancan'
|
10
|
+
end
|
11
|
+
gem "hoptoad_notifier"
|
12
|
+
gem "jammit"
|
13
|
+
gem "friendly_id", "~> 3.1"
|
14
|
+
gem "will_paginate", "~> 3.0.pre2"
|
15
|
+
gem "haml", ">= 3.0.21"
|
16
|
+
gem "rails3-generators", :group => :development
|
17
|
+
gem "hpricot", :group => :development
|
18
|
+
gem "ruby_parser", :group => :development
|
19
|
+
gem "rspec-rails", "2.0.0.beta.22", :group => [:test, :development]
|
20
|
+
gem "mocha", :group => [:test]
|
21
|
+
gem "factory_girl_rails", :group => [:test, :cucumber]
|
22
|
+
gem "faker", :group => [:test]
|
23
|
+
gem "autotest", :group => [:test]
|
24
|
+
gem "thin", :group => [:test, :cucumber, :development]
|
25
|
+
gem "cucumber", :git => "git://github.com/aslakhellesoy/cucumber.git", :group => [:cucumber]
|
26
|
+
gem "database_cleaner", :git => "git://github.com/bmabey/database_cleaner.git", :group => [:test, :cucumber]
|
27
|
+
gem "cucumber-rails", :git => "git://github.com/aslakhellesoy/cucumber-rails.git", :group => [:cucumber]
|
28
|
+
gem "capybara", "0.3.9", :group => [:cucumber]
|
29
|
+
gem "launchy", :group => [:cucumber]
|
30
|
+
gem "timecop", :group => [:test, :cucumber]
|
31
|
+
|
32
|
+
run 'bundle install'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
generate(:controller, "home index")
|
2
|
+
|
3
|
+
create_file 'app/views/home/index.html.haml' do
|
4
|
+
<<-FILE
|
5
|
+
%h1 #{app_name.humanize}
|
6
|
+
FILE
|
7
|
+
end
|
8
|
+
|
9
|
+
inject_into_file 'config/routes.rb', :after => "# root :to => \"welcome#index\"\n" do
|
10
|
+
<<-RUBY
|
11
|
+
root :to => "home#index"
|
12
|
+
RUBY
|
13
|
+
end
|
data/templates/jammit.rb
ADDED
data/templates/js.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
|
2
|
+
get "http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js", "public/javascripts/jquery.js"
|
3
|
+
get "http://github.com/rails/jquery-ujs/raw/master/src/rails.js", "public/javascripts/rails.js"
|
4
|
+
get "http://html5shiv.googlecode.com/svn/trunk/html5.js", "public/javascripts/shiv.js"
|
5
|
+
|
6
|
+
inject_into_file 'config/application.rb', :after => "# JavaScript files you want as :defaults (application.js is always included).\n" do
|
7
|
+
<<-RUBY
|
8
|
+
config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
|
9
|
+
RUBY
|
10
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
run 'rm public/index.html'
|
2
|
+
run 'rm public/images/rails.png'
|
3
|
+
run 'rm README'
|
4
|
+
run 'touch README'
|
5
|
+
run 'rm public/favicon.ico'
|
6
|
+
get "http://www.quickleft.com/favicon.ico", "public/images/favicon.ico"
|
7
|
+
# get "http://www.quickleft.com/ati.png", "public/images/ati.png"
|
data/templates/sass.rb
ADDED
@@ -0,0 +1,142 @@
|
|
1
|
+
run 'mkdir public/stylesheets/sass'
|
2
|
+
|
3
|
+
create_file 'public/stylesheets/sass/main.scss' do
|
4
|
+
<<-FILE
|
5
|
+
@mixin layout_base {
|
6
|
+
@include reset;
|
7
|
+
@include container;
|
8
|
+
@include user_nav;
|
9
|
+
@include main_nav;
|
10
|
+
//uncomment for a handy layout guide
|
11
|
+
@include layout_guide;
|
12
|
+
}
|
13
|
+
|
14
|
+
@mixin reset {
|
15
|
+
/*
|
16
|
+
html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
|
17
|
+
v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark
|
18
|
+
html5doctor.com/html-5-reset-stylesheet/
|
19
|
+
*/
|
20
|
+
|
21
|
+
html, body, div, span, object, iframe,
|
22
|
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
23
|
+
abbr, address, cite, code,
|
24
|
+
del, dfn, em, img, ins, kbd, q, samp,
|
25
|
+
small, strong, sub, sup, var,
|
26
|
+
b, i,
|
27
|
+
dl, dt, dd, ol, ul, li,
|
28
|
+
fieldset, form, label, legend,
|
29
|
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
30
|
+
article, aside, canvas, details, figcaption, figure,
|
31
|
+
footer, header, hgroup, menu, nav, section, summary,
|
32
|
+
time, mark, audio, video {
|
33
|
+
margin:0;
|
34
|
+
padding:0;
|
35
|
+
border:0;
|
36
|
+
outline:0;
|
37
|
+
font-size:100%;
|
38
|
+
vertical-align:baseline;
|
39
|
+
background:transparent;
|
40
|
+
}
|
41
|
+
|
42
|
+
article, aside, details, figcaption, figure,
|
43
|
+
footer, header, hgroup, menu, nav, section {
|
44
|
+
display:block;
|
45
|
+
}
|
46
|
+
|
47
|
+
nav ul { list-style:none; }
|
48
|
+
|
49
|
+
blockquote, q { quotes:none; }
|
50
|
+
|
51
|
+
blockquote:before, blockquote:after,
|
52
|
+
q:before, q:after { content:''; content:none; }
|
53
|
+
|
54
|
+
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
|
55
|
+
|
56
|
+
ins { background-color:#ff9; color:#000; text-decoration:none; }
|
57
|
+
|
58
|
+
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
|
59
|
+
|
60
|
+
del { text-decoration: line-through; }
|
61
|
+
|
62
|
+
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
|
63
|
+
|
64
|
+
/* tables still need cellspacing="0" in the markup */
|
65
|
+
table { border-collapse:collapse; border-spacing:0; }
|
66
|
+
|
67
|
+
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
|
68
|
+
|
69
|
+
input, select { vertical-align:middle; }
|
70
|
+
}
|
71
|
+
|
72
|
+
@mixin clear_left {
|
73
|
+
float: left; clear: both;
|
74
|
+
}
|
75
|
+
|
76
|
+
@mixin container($container_size: 950px) {
|
77
|
+
#container {
|
78
|
+
width: $container_size;
|
79
|
+
clear:both;
|
80
|
+
padding: 0 20px;
|
81
|
+
min-height: 100%;
|
82
|
+
height: auto !important;
|
83
|
+
height: 100%;
|
84
|
+
margin: 0 auto -80px;
|
85
|
+
}
|
86
|
+
#main_header {
|
87
|
+
width: $container_size;
|
88
|
+
height: 60px;
|
89
|
+
@include clear_left;
|
90
|
+
h1 {
|
91
|
+
float: left;
|
92
|
+
padding: 20px 0 0 0;
|
93
|
+
font-size: 24px;
|
94
|
+
font-weight: bold;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
#content {
|
98
|
+
width: $container_size;
|
99
|
+
@include clear_left;
|
100
|
+
padding: 10px 0 20px 0;
|
101
|
+
}
|
102
|
+
#main_footer, #pusher {
|
103
|
+
height: 80px;
|
104
|
+
clear:both;
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
|
+
@mixin user_nav {
|
109
|
+
#user_nav {
|
110
|
+
float: right;
|
111
|
+
padding: 20px 0 0 0;
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
@mixin main_nav {
|
116
|
+
#main_nav {
|
117
|
+
width: 950px;
|
118
|
+
@include clear_left;
|
119
|
+
padding: 10px 0;
|
120
|
+
ul {
|
121
|
+
@include clear_left;
|
122
|
+
li {
|
123
|
+
float: left;
|
124
|
+
padding: 0 15px 0 0;
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
@mixin layout_guide {
|
131
|
+
#container { background-color: #e8e6e6; }
|
132
|
+
#main_header { background-color: #f7dddd; }
|
133
|
+
#main_nav { background-color: #f4ddf7; }
|
134
|
+
#content { background-color: #f2f7dd; }
|
135
|
+
#main_footer .inner { background-color: #ddf7e7; }
|
136
|
+
}
|
137
|
+
|
138
|
+
@include layout_base;
|
139
|
+
FILE
|
140
|
+
end
|
141
|
+
|
142
|
+
run 'sass public/stylesheets/sass/main.scss public/stylesheets/main.css'
|
@@ -0,0 +1,97 @@
|
|
1
|
+
create_file 'lib/sort_index.rb' do
|
2
|
+
<<-'FILE'
|
3
|
+
module SortIndex
|
4
|
+
|
5
|
+
SORT_KEY_ASC = 'asc'
|
6
|
+
SORT_KEY_DESC = 'desc'
|
7
|
+
|
8
|
+
SORT_DIRECTION_MAP = {
|
9
|
+
SORT_KEY_DESC => 'DESC',
|
10
|
+
SORT_KEY_ASC => 'ASC'
|
11
|
+
}
|
12
|
+
|
13
|
+
class Config
|
14
|
+
attr_accessor :columns
|
15
|
+
attr_accessor :default_direction
|
16
|
+
|
17
|
+
def default
|
18
|
+
return @default
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(default, columns, default_direction = nil)
|
22
|
+
@columns = columns
|
23
|
+
@default_direction = default_direction || SORT_KEY_DESC
|
24
|
+
|
25
|
+
raise "default only supports 1 pair" if default.length != 1
|
26
|
+
default.each_pair { |key, value|
|
27
|
+
@default = value
|
28
|
+
@columns[key] = value
|
29
|
+
}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
class Sortable
|
34
|
+
|
35
|
+
def initialize(params, config, index_url = nil)
|
36
|
+
@config = config
|
37
|
+
@params = params
|
38
|
+
@index_url = index_url || params[:controller]
|
39
|
+
|
40
|
+
# sets up for building the sql order by
|
41
|
+
@sort_direction = SORT_DIRECTION_MAP[@params[:sort_direction]] || @config.default_direction
|
42
|
+
@sort_by = @config.columns[@params[:sort_by]] || @config.default
|
43
|
+
end
|
44
|
+
|
45
|
+
def order
|
46
|
+
specified_sort_by || "#{@sort_by} #{@sort_direction}"
|
47
|
+
end
|
48
|
+
|
49
|
+
def header_link(sort_key, display, sortable = true, element_id = '')
|
50
|
+
|
51
|
+
if @config.columns[sort_key].nil? and sortable then
|
52
|
+
raise "Sort key of '#{sort_key}' not found. Check your controllers SortIndex::Config variable"
|
53
|
+
end
|
54
|
+
|
55
|
+
id_attr = ""
|
56
|
+
if element_id != '' then
|
57
|
+
id_attr = "id=\"#{element_id}\""
|
58
|
+
end
|
59
|
+
|
60
|
+
class_attr = ""
|
61
|
+
if @config.columns[sort_key] == @sort_by then
|
62
|
+
class_attr = " class='current-sort-#{@sort_direction.downcase}'"
|
63
|
+
end
|
64
|
+
|
65
|
+
a_href = "<a#{class_attr} href=\"/#{@index_url}?sort_by=#{sort_key}&sort_direction=#{next_direction}\" title=\"#{display}\" #{id_attr}>#{display}</a>"
|
66
|
+
if sortable == false then
|
67
|
+
a_href = "<span>#{display}</span>"
|
68
|
+
end
|
69
|
+
|
70
|
+
return "#{a_href}".html_safe
|
71
|
+
end
|
72
|
+
|
73
|
+
def next_direction
|
74
|
+
sort_direction = SORT_KEY_ASC
|
75
|
+
if (@params[:sort_direction].nil?) then
|
76
|
+
sort_direction = (@sort_direction == SORT_KEY_ASC) ? SORT_KEY_DESC : SORT_KEY_ASC
|
77
|
+
elsif (@params[:sort_direction] == SORT_KEY_ASC) then
|
78
|
+
sort_direction = SORT_KEY_DESC
|
79
|
+
end
|
80
|
+
return sort_direction
|
81
|
+
end
|
82
|
+
|
83
|
+
def specified_sort_by
|
84
|
+
sort = @config.columns[@params[:sort_by]]
|
85
|
+
return nil if sort.nil?
|
86
|
+
return sort.split(',').map {|order_criteria| "#{order_criteria} #{@sort_direction}"}.join(',')
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
FILE
|
91
|
+
end
|
92
|
+
|
93
|
+
inject_into_file 'config/application.rb', :after => "# Custom directories with classes and modules you want to be autoloadable.\n" do
|
94
|
+
<<-'FILE'
|
95
|
+
config.autoload_paths += %W(#{config.root}/lib)
|
96
|
+
FILE
|
97
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
run 'rails generate rspec:install'
|
2
|
+
run 'rails generate cucumber:install --capybara --rspec'
|
3
|
+
inject_into_file 'config/application.rb', :after => "# Configure the default encoding used in templates for Ruby 1.9.\n" do
|
4
|
+
<<-RUBY
|
5
|
+
config.generators do |g|
|
6
|
+
g.test_framework :rspec
|
7
|
+
end
|
8
|
+
RUBY
|
9
|
+
end
|
10
|
+
|
11
|
+
run 'mkdir spec/factories'
|
metadata
ADDED
@@ -0,0 +1,190 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: prologue
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Quick Left
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-10-19 00:00:00 -06:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: thor
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
31
|
+
type: :runtime
|
32
|
+
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rails
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 3
|
43
|
+
- 0
|
44
|
+
- 0
|
45
|
+
version: 3.0.0
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: bundler
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
segments:
|
57
|
+
- 1
|
58
|
+
- 0
|
59
|
+
- 0
|
60
|
+
version: 1.0.0
|
61
|
+
type: :development
|
62
|
+
version_requirements: *id003
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: cucumber
|
65
|
+
prerelease: false
|
66
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
segments:
|
72
|
+
- 0
|
73
|
+
version: "0"
|
74
|
+
type: :development
|
75
|
+
version_requirements: *id004
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: aruba
|
78
|
+
prerelease: false
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
segments:
|
85
|
+
- 0
|
86
|
+
version: "0"
|
87
|
+
type: :development
|
88
|
+
version_requirements: *id005
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rspec
|
91
|
+
prerelease: false
|
92
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ~>
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
segments:
|
98
|
+
- 2
|
99
|
+
- 0
|
100
|
+
- 0
|
101
|
+
- beta
|
102
|
+
- 22
|
103
|
+
version: 2.0.0.beta.22
|
104
|
+
type: :development
|
105
|
+
version_requirements: *id006
|
106
|
+
description: Generate a Rails 3 app with application templates Quick Left uses to start their projects off right!
|
107
|
+
email:
|
108
|
+
- info@quickleft.com
|
109
|
+
executables:
|
110
|
+
- prologue
|
111
|
+
extensions: []
|
112
|
+
|
113
|
+
extra_rdoc_files: []
|
114
|
+
|
115
|
+
files:
|
116
|
+
- .gitignore
|
117
|
+
- Gemfile
|
118
|
+
- Gemfile.lock
|
119
|
+
- LICENSE
|
120
|
+
- README.md
|
121
|
+
- Rakefile
|
122
|
+
- bin/prologue
|
123
|
+
- features/new.feature
|
124
|
+
- features/support/setup.rb
|
125
|
+
- lib/prologue.rb
|
126
|
+
- lib/prologue/cli.rb
|
127
|
+
- lib/prologue/version.rb
|
128
|
+
- prologue.gemspec
|
129
|
+
- templates/admin.rb
|
130
|
+
- templates/admin/dashboard_spec.rb
|
131
|
+
- templates/admin/layout.rb
|
132
|
+
- templates/admin/sass.rb
|
133
|
+
- templates/admin/users.rb
|
134
|
+
- templates/admin/users_spec.rb
|
135
|
+
- templates/application_layout.rb
|
136
|
+
- templates/bootstrap.rb
|
137
|
+
- templates/cancan.rb
|
138
|
+
- templates/clean_routes.rb
|
139
|
+
- templates/db.rb
|
140
|
+
- templates/db_seed.rb
|
141
|
+
- templates/devise.rb
|
142
|
+
- templates/devise/cucumber.rb
|
143
|
+
- templates/dynamic_form.rb
|
144
|
+
- templates/friendly_id.rb
|
145
|
+
- templates/gemfile.rb
|
146
|
+
- templates/haml_generator.rb
|
147
|
+
- templates/home_controller.rb
|
148
|
+
- templates/jammit.rb
|
149
|
+
- templates/js.rb
|
150
|
+
- templates/rails_clean.rb
|
151
|
+
- templates/rspec_clean.rb
|
152
|
+
- templates/sass.rb
|
153
|
+
- templates/sorter_lib.rb
|
154
|
+
- templates/test_suite.rb
|
155
|
+
has_rdoc: true
|
156
|
+
homepage: http://github.com/quickleft/prologue
|
157
|
+
licenses: []
|
158
|
+
|
159
|
+
post_install_message:
|
160
|
+
rdoc_options: []
|
161
|
+
|
162
|
+
require_paths:
|
163
|
+
- lib
|
164
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
+
none: false
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
segments:
|
170
|
+
- 0
|
171
|
+
version: "0"
|
172
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
|
+
none: false
|
174
|
+
requirements:
|
175
|
+
- - ">="
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
segments:
|
178
|
+
- 1
|
179
|
+
- 3
|
180
|
+
- 6
|
181
|
+
version: 1.3.6
|
182
|
+
requirements: []
|
183
|
+
|
184
|
+
rubyforge_project: prologue
|
185
|
+
rubygems_version: 1.3.7
|
186
|
+
signing_key:
|
187
|
+
specification_version: 3
|
188
|
+
summary: prologue-0.1.0
|
189
|
+
test_files: []
|
190
|
+
|