scaffold_pico 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +39 -0
- data/bin/scaffold_pico.rb +6 -0
- data/lib/scaffold/base_generator.rb +22 -0
- data/lib/scaffold/cli.rb +110 -0
- data/lib/scaffold/controller_generator.rb +24 -0
- data/lib/scaffold/main.rb +15 -0
- data/lib/scaffold/models_generator.rb +30 -0
- data/lib/scaffold/params.rb +106 -0
- data/lib/scaffold/routes_generator.rb +29 -0
- data/lib/scaffold/template_engines/slim.rb +15 -0
- data/lib/scaffold/views_generator.rb +49 -0
- data/lib/scaffold_pico.rb +19 -0
- metadata +130 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 175c54b342e8d50e676e2bf54e99bdac1515960a
|
4
|
+
data.tar.gz: 103171fdcd24d32f815a669595c14844f226050c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: caae14c0f717591e44525c06fb141c84deab161967fbdfc444b1b25ffafb8df55e882440f50ffad0de0b907f83daed2e9e3a69f9b809db74364db52c76725948
|
7
|
+
data.tar.gz: 75e15aeb60a6209f25251f6fc68fe99a45695df11f7422b7feff236dde84d84e47bfb71c9cb627bba2a3e3d49dce1cc289abd5c904024615158def7d7ddb186e
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2016 gudata
|
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/README.rdoc
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
= scaffold_pico
|
2
|
+
|
3
|
+
ruby -I lib bin/scaffold_pico.rb --css_framework=zurb --template=slim -m user -n Admin -i :roles :company -j :roles :company --fields name:string
|
4
|
+
|
5
|
+
scaffold_pico.rb -m Admin::User -n admin/gosho -i :roles :company -j :roles :company --fields name:string
|
6
|
+
|
7
|
+
ruby -I ~/scaffold_pico/lib ~/scaffold_pico/bin/scaffold_pico.rb -m Admin::Assistant -n administation/pencho --fields first_name:string last_name:string
|
8
|
+
|
9
|
+
|
10
|
+
ruby -I ~/scaffold_pico/lib ~/scaffold_pico/bin/scaffold_pico.rb -m Company -n super_admin --fields name:string website:string active:string subscription:string contact_person:string
|
11
|
+
|
12
|
+
|
13
|
+
ruby -I ~/scaffold_pico/lib ~/scaffold_pico/bin/scaffold_pico.rb -d --css_framework=materialize \
|
14
|
+
-m Vector -n manage -b AdminController \
|
15
|
+
--fields name: featured:boolean aspect_ratio: portrait:boolean landscape:boolean imported:boolean trending:boolean width:integer height:integer transperant:boolean bw:boolean license:belongs_to group_id:integer tool:belongs_to user_id: category_id: category_display_order:integer group_display_order:integer svg:file ai:file png:file emf:file wmf:file \
|
16
|
+
--index-fields id name imported featured \
|
17
|
+
--search-fields name aspect_ratio landscape portrait imported featured trending width height transperant bw license_id group_id tool_id user_id category_id
|
18
|
+
|
19
|
+
|
20
|
+
== I18n
|
21
|
+
|
22
|
+
en.yml:
|
23
|
+
|
24
|
+
activerecord:
|
25
|
+
notices:
|
26
|
+
success:
|
27
|
+
create: Was successfully created %{model}
|
28
|
+
update: Was successfully updated %{model}
|
29
|
+
destroy: Was successfully destroyed %{model}
|
30
|
+
failed:
|
31
|
+
create: Fail creating %{model}
|
32
|
+
update: Fail updating %{model}
|
33
|
+
destroy: Fail destroing %{model}
|
34
|
+
|
35
|
+
== Copyright
|
36
|
+
|
37
|
+
Copyright (c) 2016 gudata. See LICENSE.txt for
|
38
|
+
further details.
|
39
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Scaffold
|
2
|
+
class BaseGenerator
|
3
|
+
|
4
|
+
def initialize params
|
5
|
+
@params = params
|
6
|
+
end
|
7
|
+
|
8
|
+
def objectify
|
9
|
+
OpenStruct.new(vars).instance_eval { binding }
|
10
|
+
end
|
11
|
+
|
12
|
+
# where is the root of the gem
|
13
|
+
def root
|
14
|
+
Scaffold.root
|
15
|
+
end
|
16
|
+
|
17
|
+
# the root of the templates
|
18
|
+
def templates
|
19
|
+
'lib/templates/pico/'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/scaffold/cli.rb
ADDED
@@ -0,0 +1,110 @@
|
|
1
|
+
require 'scaffold_pico'
|
2
|
+
require 'choice'
|
3
|
+
|
4
|
+
module Scaffold
|
5
|
+
class CLI
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
Choice.options do
|
9
|
+
header 'Synopsys: scaffold_pico.rb -m user -n Admin -i :roles :company -j :roles :company --fields name:string'
|
10
|
+
separator ''
|
11
|
+
header 'Specific options:'
|
12
|
+
|
13
|
+
option :debug do
|
14
|
+
short '-d'
|
15
|
+
long '--debug'
|
16
|
+
desc 'print some debug info'
|
17
|
+
end
|
18
|
+
|
19
|
+
option :namespace do
|
20
|
+
short '-n'
|
21
|
+
long '--namespace=namespace1/namespace2'
|
22
|
+
validate /\A(\w+(?:\/\w+)*)\z/
|
23
|
+
desc 'Optional namespace for the controllers. Example: -n admin/secret_area'
|
24
|
+
end
|
25
|
+
|
26
|
+
option :base_controller do
|
27
|
+
short '-b'
|
28
|
+
long '--base_controller=AdminController'
|
29
|
+
validate /((::)?([A-Z])+[a-z]*)*\z/
|
30
|
+
desc 'Optional base controller. Example: -b Admin::BaseController'
|
31
|
+
end
|
32
|
+
|
33
|
+
option :model do
|
34
|
+
short '-m'
|
35
|
+
long '--model=model'
|
36
|
+
desc 'The model. It could be with modules. Example: ModuleA::ModuleB::SomeClassName'
|
37
|
+
validate /\A(?:::)?([A-Z]\w*(?:::[A-Z]\w*)*)\z/
|
38
|
+
end
|
39
|
+
|
40
|
+
option :includes do
|
41
|
+
long '--includes=*INCLUDES'
|
42
|
+
desc 'add .includes(*includes) into the collection request, we have join also'
|
43
|
+
default []
|
44
|
+
end
|
45
|
+
|
46
|
+
option :joins do
|
47
|
+
long '--joins=*JOINS'
|
48
|
+
desc 'add .joins(*joins) into the collection request, we have includes also'
|
49
|
+
default []
|
50
|
+
end
|
51
|
+
|
52
|
+
option :fields do
|
53
|
+
long '-f'
|
54
|
+
long '--fields *FIELDS'
|
55
|
+
desc 'title:string body:text published:boolean amount:decimal tracking_id:integer:uniq '
|
56
|
+
end
|
57
|
+
|
58
|
+
option :index_fields do
|
59
|
+
long '-i'
|
60
|
+
long '--index-fields *FIELDS'
|
61
|
+
desc 'The fields you wish to see on the index page. Example: --index-fields title body published amount tracking_id'
|
62
|
+
end
|
63
|
+
|
64
|
+
option :search_fields do
|
65
|
+
long '-s'
|
66
|
+
long '--search-fields *FIELDS'
|
67
|
+
desc 'Fields on which the search will be done. Example: --search-fields title body published amount tracking_id'
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
separator ''
|
72
|
+
separator 'Defaults: '
|
73
|
+
|
74
|
+
option :template do
|
75
|
+
long '-t'
|
76
|
+
long '--template template'
|
77
|
+
default 'slim'
|
78
|
+
desc 'slim'
|
79
|
+
end
|
80
|
+
|
81
|
+
option :css_framework do
|
82
|
+
long '-c'
|
83
|
+
long '--css_framework css_framework'
|
84
|
+
default 'zurb'
|
85
|
+
desc 'zurb'
|
86
|
+
end
|
87
|
+
|
88
|
+
separator ''
|
89
|
+
separator 'Common options: '
|
90
|
+
|
91
|
+
option :help do
|
92
|
+
long '--help'
|
93
|
+
desc 'Show this message'
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
def run
|
102
|
+
if Choice[:model]
|
103
|
+
scaffold = Scaffold::Main.new(Choice.choices)
|
104
|
+
scaffold.run
|
105
|
+
else
|
106
|
+
puts "try #{$0} --help"
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Scaffold
|
2
|
+
class ControllerGenerator < Scaffold::BaseGenerator
|
3
|
+
|
4
|
+
def generate
|
5
|
+
controller_file_path = create_path(@params.controller_file_name)
|
6
|
+
|
7
|
+
puts "Creating #{controller_file_path}"
|
8
|
+
|
9
|
+
filename = File.join(root, templates, 'controller.rb.erb')
|
10
|
+
content = File.read(filename)
|
11
|
+
# http://www.stuartellis.eu/articles/erb/
|
12
|
+
content = ::ERB.new(content, nil, '-').result(@params.instance_eval{ binding })
|
13
|
+
# puts content
|
14
|
+
IO.write(controller_file_path, content)
|
15
|
+
end
|
16
|
+
|
17
|
+
def create_path file_name
|
18
|
+
controller_path = File.join(Dir.pwd, 'app', 'controllers', @params.namespaces_array)
|
19
|
+
controller_file_path = File.join(controller_path, file_name)
|
20
|
+
FileUtils.mkpath(controller_path)
|
21
|
+
controller_file_path
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Scaffold
|
2
|
+
class Main
|
3
|
+
def initialize choice
|
4
|
+
@params = Params.new(choice)
|
5
|
+
end
|
6
|
+
|
7
|
+
def run
|
8
|
+
Scaffold::ControllerGenerator.new(@params).generate
|
9
|
+
Scaffold::ModelsGenerator.new(@params).generate
|
10
|
+
Scaffold::ViewsGenerator.new(@params).generate
|
11
|
+
Scaffold::RoutesGenerator.new(@params).generate
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Scaffold
|
2
|
+
class ModelsGenerator < Scaffold::BaseGenerator
|
3
|
+
def generate
|
4
|
+
searches_path = create_searches_path
|
5
|
+
puts "Don't forget to add 'app/services' in your autoload_paths (application.rb)"
|
6
|
+
create_search_object searches_path
|
7
|
+
end
|
8
|
+
|
9
|
+
def create_search_object searches_path
|
10
|
+
source_file_name = "search.rb.erb"
|
11
|
+
target_file_name = "#{@params.resource_name.pluralize}_search.rb"
|
12
|
+
|
13
|
+
source_file_path = File.join(root, templates, source_file_name)
|
14
|
+
content = File.read(source_file_path)
|
15
|
+
|
16
|
+
content = ::ERB.new(content, nil, '-').result(@params.instance_eval{ binding })
|
17
|
+
|
18
|
+
target_file_path = File.join(searches_path, target_file_name)
|
19
|
+
IO.write(target_file_path, content)
|
20
|
+
end
|
21
|
+
|
22
|
+
def create_searches_path
|
23
|
+
searches_path = File.join(Dir.pwd, 'app', 'services', 'search', @params.namespaces_array)
|
24
|
+
FileUtils.mkpath(searches_path)
|
25
|
+
searches_path
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,106 @@
|
|
1
|
+
module Scaffold
|
2
|
+
class Params
|
3
|
+
attr_reader :resource_name, :namespaces_array, :controller_file_name, :template, :css_framework, :views_folder_name, :route_resource_name
|
4
|
+
|
5
|
+
def expand_default_types hash
|
6
|
+
hash.each_pair do |key, value|
|
7
|
+
hash[key] = 'string' if value.blank?
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def initialize choice
|
12
|
+
(@modules, @model_name) = parse_model(choice[:model]) # what came from the params (it contain namespaces)
|
13
|
+
|
14
|
+
@fields = expand_default_types(hasherize_fields(choice[:fields]))
|
15
|
+
@index_fields = choice[:index_fields].blank? ? @fields.keys : choice[:index_fields]
|
16
|
+
@search_fields = choice[:search_fields].blank? ? @fields.keys : choice[:search_fields]
|
17
|
+
|
18
|
+
@joins = choice[:joins]
|
19
|
+
@includes = choice[:includes]
|
20
|
+
@template = choice[:template]
|
21
|
+
@css_framework = choice[:css_framework]
|
22
|
+
|
23
|
+
@resource_class_name = @model_name.singularize # CompanyOwnership
|
24
|
+
# Admin::User or only User
|
25
|
+
if @modules.empty?
|
26
|
+
@modulized_resource_class_name = @resource_class_name
|
27
|
+
else
|
28
|
+
@modulized_resource_class_name = "#{@modules.join('::')}::#{@resource_class_name}"
|
29
|
+
end
|
30
|
+
|
31
|
+
# routes
|
32
|
+
@route_resource_name = @model_name.tableize # resoures :users
|
33
|
+
@namespace = choice[:namespace] # for the controllers
|
34
|
+
@base_controller = choice[:base_controller] || 'ApplicationController'
|
35
|
+
@namespaces_array = parse_namespaces_array(@namespace) # [:admin, ...?... ]
|
36
|
+
|
37
|
+
# controller
|
38
|
+
@controller_namespaces = @namespace.camelize
|
39
|
+
|
40
|
+
if @namespaces_array.blank?
|
41
|
+
@controller_class_name = "#{@model_name.pluralize}Controller"
|
42
|
+
@search_modulized_resource_class_name = "Search::#{@resource_class_name}Search"
|
43
|
+
else
|
44
|
+
@controller_class_name = "#{@controller_namespaces}::#{@model_name.pluralize}Controller"
|
45
|
+
@search_modulized_resource_class_name = "Search::#{@controller_namespaces}::#{@resource_class_name.pluralize}Search"
|
46
|
+
end
|
47
|
+
@controller_file_name = "#{@resource_class_name.tableize}_controller.rb"
|
48
|
+
|
49
|
+
@resource_name = @model_name.tableize.singularize # user for use in @user or filenames
|
50
|
+
@collection_name = @model_name.tableize # users for use in @users
|
51
|
+
|
52
|
+
# view
|
53
|
+
@views_folder_name = @model_name.tableize # users
|
54
|
+
|
55
|
+
@path_segments = @namespaces_array.map{|segment| segment.to_sym }
|
56
|
+
@new_resource_path = "[:new, #{@path_segments.map{|item| ":#{item}"}.join(", ")}, :#{@resource_name}]"
|
57
|
+
|
58
|
+
@resource_path = "[#{@path_segments.map{|item| ":#{item}"}.join(", ")}, #{@resource_name}]"
|
59
|
+
@edit_resource_path = "[:edit, #{@path_segments.map{|item| ":#{item}"}.join(", ")}, #{@resource_name}]"
|
60
|
+
|
61
|
+
@instance_resource_path = "[#{@path_segments.map{|item| ":#{item}"}.join(", ")}, @#{@resource_name}]"
|
62
|
+
@instance_edit_resource_path = "[:edit, #{@path_segments.map{|item| ":#{item}"}.join(", ")}, @#{@resource_name}]"
|
63
|
+
|
64
|
+
@collection_path = @path_segments.dup << @collection_name.to_sym
|
65
|
+
|
66
|
+
debug_info if choice[:debug]
|
67
|
+
end
|
68
|
+
|
69
|
+
def debug_info
|
70
|
+
puts "\n"
|
71
|
+
puts "Debug:"
|
72
|
+
puts "resource_class_name: #{@resource_class_name}, resource_name: #{@resource_name}, collection_name: #{@collection_name}"
|
73
|
+
puts "modulized_resource_class_name: #{@modulized_resource_class_name}"
|
74
|
+
|
75
|
+
puts "\ncontroller:"
|
76
|
+
puts "class: #{@controller_class_name}"
|
77
|
+
|
78
|
+
puts "\nroutes:"
|
79
|
+
puts "route_resource_name: #{@route_resource_name}"
|
80
|
+
puts "namespaces_array: #{@namespaces_array} (for urls helpers)"
|
81
|
+
puts "resource_path: #{@resource_path}, resource_name: #{@collection_path}"
|
82
|
+
puts "collection_path: #{@collection_path}"
|
83
|
+
puts "\n\n"
|
84
|
+
end
|
85
|
+
|
86
|
+
def parse_model model
|
87
|
+
chunks = model.split('::').select{|chunk| !chunk.empty?}
|
88
|
+
class_name = chunks.pop
|
89
|
+
[chunks, class_name]
|
90
|
+
end
|
91
|
+
|
92
|
+
def parse_namespaces_array namespace
|
93
|
+
namespace.split('/').collect{|name| name.underscore}
|
94
|
+
end
|
95
|
+
|
96
|
+
def hasherize_fields fields_array
|
97
|
+
fields = {}
|
98
|
+
fields_array.each do |field_string|
|
99
|
+
(key, value) = field_string.split(':')
|
100
|
+
fields[key] = value
|
101
|
+
end
|
102
|
+
fields
|
103
|
+
end
|
104
|
+
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Scaffold
|
2
|
+
class RoutesGenerator < Scaffold::BaseGenerator
|
3
|
+
|
4
|
+
def generate
|
5
|
+
puts "Insert something like this in routes.rb"
|
6
|
+
namespaces_count = @params.namespaces_array.count
|
7
|
+
route_string = "#{spaces(namespaces_count+2)}resources :#{@params.route_resource_name}"
|
8
|
+
|
9
|
+
@params.namespaces_array.reverse.each_with_index do |namespace, index|
|
10
|
+
route_string = namespace_block(namespace, namespaces_count - index, route_string)
|
11
|
+
end
|
12
|
+
puts route_string
|
13
|
+
end
|
14
|
+
|
15
|
+
def spaces(count)
|
16
|
+
" "*2*(count)
|
17
|
+
end
|
18
|
+
|
19
|
+
def namespace_block namespace, index, route_string
|
20
|
+
ident = spaces(index+1)
|
21
|
+
|
22
|
+
begin_namespace_line = "#{ident}namespace :#{namespace} do"
|
23
|
+
namespace = "#{ident*2}#{namespace}"
|
24
|
+
end_namespace_line = "#{ident}end"
|
25
|
+
"#{begin_namespace_line}\n#{route_string}\n#{end_namespace_line}"
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Scaffold
|
2
|
+
class ViewsGenerator < Scaffold::BaseGenerator
|
3
|
+
def generate
|
4
|
+
views_path = create_views_path
|
5
|
+
templating_engine = choose_templating_engine
|
6
|
+
print "Creating view:"
|
7
|
+
%w(index new edit show _form).each do |view_name|
|
8
|
+
print view_name, ' '
|
9
|
+
create views_path, view_name, templating_engine, css_framework
|
10
|
+
end
|
11
|
+
print "\n"
|
12
|
+
end
|
13
|
+
|
14
|
+
def create views_path, view_name, templating_engine, css_framework
|
15
|
+
source_file_name = "#{view_name}.html.#{templating_engine.extension}.erb"
|
16
|
+
target_file_name = "#{view_name}.html.#{templating_engine.extension}"
|
17
|
+
source_file_path = File.join(root, templates, 'views',
|
18
|
+
css_framework,
|
19
|
+
templating_engine.source_folder_name,
|
20
|
+
source_file_name)
|
21
|
+
content = File.read(source_file_path)
|
22
|
+
|
23
|
+
# http://www.stuartellis.eu/articles/erb/
|
24
|
+
content = ::ERB.new(content, nil, '-').result(@params.instance_eval{ binding })#.gsub(/\s+\n$/, "")
|
25
|
+
|
26
|
+
target_file_path = File.join(create_views_path, target_file_name)
|
27
|
+
IO.write(target_file_path, content)
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_views_path
|
31
|
+
views_path = File.join(Dir.pwd, 'app', 'views', @params.namespaces_array, @params.views_folder_name)
|
32
|
+
FileUtils.mkpath(views_path)
|
33
|
+
views_path
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
def choose_templating_engine
|
38
|
+
case @params.template
|
39
|
+
when 'slim'
|
40
|
+
::Scaffold::TemplateEngines::Slim.new
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def css_framework
|
45
|
+
@params.css_framework
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'active_support/inflector'
|
2
|
+
require 'active_support/core_ext/object/blank'
|
3
|
+
require 'ostruct'
|
4
|
+
require 'scaffold/main'
|
5
|
+
require 'scaffold/params'
|
6
|
+
require 'scaffold/base_generator'
|
7
|
+
require 'scaffold/controller_generator'
|
8
|
+
require 'scaffold/models_generator'
|
9
|
+
require 'scaffold/views_generator'
|
10
|
+
require 'scaffold/routes_generator'
|
11
|
+
require 'scaffold/template_engines/slim'
|
12
|
+
require 'erb'
|
13
|
+
require 'fileutils'
|
14
|
+
|
15
|
+
module Scaffold
|
16
|
+
def self.root
|
17
|
+
File.dirname __dir__
|
18
|
+
end
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: scaffold_pico
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- gudata
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-04-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
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: choice
|
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: require_all
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
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: '1.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: jeweler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.0.1
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.0.1
|
83
|
+
description: Scaffolding
|
84
|
+
email: i.bardarov@gmail.com
|
85
|
+
executables:
|
86
|
+
- scaffold_pico.rb
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files:
|
89
|
+
- LICENSE.txt
|
90
|
+
- README.rdoc
|
91
|
+
files:
|
92
|
+
- LICENSE.txt
|
93
|
+
- README.rdoc
|
94
|
+
- bin/scaffold_pico.rb
|
95
|
+
- lib/scaffold/base_generator.rb
|
96
|
+
- lib/scaffold/cli.rb
|
97
|
+
- lib/scaffold/controller_generator.rb
|
98
|
+
- lib/scaffold/main.rb
|
99
|
+
- lib/scaffold/models_generator.rb
|
100
|
+
- lib/scaffold/params.rb
|
101
|
+
- lib/scaffold/routes_generator.rb
|
102
|
+
- lib/scaffold/template_engines/slim.rb
|
103
|
+
- lib/scaffold/views_generator.rb
|
104
|
+
- lib/scaffold_pico.rb
|
105
|
+
homepage: http://github.com/gudata/scaffold_pico
|
106
|
+
licenses:
|
107
|
+
- MIT
|
108
|
+
metadata: {}
|
109
|
+
post_install_message:
|
110
|
+
rdoc_options: []
|
111
|
+
require_paths:
|
112
|
+
- lib
|
113
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - '>='
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
requirements: []
|
124
|
+
rubyforge_project:
|
125
|
+
rubygems_version: 2.4.6
|
126
|
+
signing_key:
|
127
|
+
specification_version: 4
|
128
|
+
summary: Scaffold should be simple
|
129
|
+
test_files: []
|
130
|
+
has_rdoc:
|