adhoc-generators 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/adhoc/portfolio/portfolio_generator.rb +39 -5
- data/lib/generators/adhoc/portfolio/templates/actions/create.rb +2 -2
- data/lib/generators/adhoc/portfolio/templates/actions/destroy.rb +2 -2
- data/lib/generators/adhoc/portfolio/templates/actions/edit.rb +1 -1
- data/lib/generators/adhoc/portfolio/templates/actions/index.rb +1 -1
- data/lib/generators/adhoc/portfolio/templates/actions/new.rb +1 -1
- data/lib/generators/adhoc/portfolio/templates/actions/show.rb +1 -1
- data/lib/generators/adhoc/portfolio/templates/actions/update.rb +2 -2
- data/lib/generators/adhoc/portfolio/templates/migration.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 754919abd00031ded4698235eff5f7cf5d323deb
|
4
|
+
data.tar.gz: 42a455e5fad7083b936b91328fe539d3cc853f8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff077bf96bde8106723f0f9dfc601de959b7cd26da5d6ddceb019003f08d23cf8fbbf05d819c81eb8a9b2bafd1f9c5e0b759f784b3f8dc44368ad93dfdca8a4b
|
7
|
+
data.tar.gz: bad0b54aef752a882012e7e8a5935f7000df73cabddf9e09fe3a969073e7f07d98e2877f745975e850431eda3aa37e8b5733bc2db4d84addb3565f2ee4865c26
|
@@ -6,7 +6,7 @@ module Adhoc
|
|
6
6
|
module Generators
|
7
7
|
class PortfolioGenerator < Base
|
8
8
|
include Rails::Generators::Migration
|
9
|
-
no_tasks { attr_accessor :name }
|
9
|
+
no_tasks { attr_accessor :name, :attributes }
|
10
10
|
|
11
11
|
argument :name, type: :string, default: 'Portfolio', banner: 'PortfolioBanner'
|
12
12
|
|
@@ -18,8 +18,10 @@ module Adhoc
|
|
18
18
|
super
|
19
19
|
print_usage unless name.underscore =~ /^[a-z][a-z0-9_\/]+$/
|
20
20
|
@namespace_model = options.namespace_model?
|
21
|
+
|
22
|
+
@attributes = []
|
21
23
|
|
22
|
-
|
24
|
+
['title:string', 'summary:string', 'description:string', 'service_id:integer'].each do |arg|
|
23
25
|
@attributes << Rails::Generators::GeneratedAttribute.new(*arg.split(':'))
|
24
26
|
end
|
25
27
|
|
@@ -40,7 +42,7 @@ module Adhoc
|
|
40
42
|
template 'controller.rb', "app/controllers/#{plural_name}_controller.rb"
|
41
43
|
template 'helper.rb', "app/helpers/#{plural_name}_helper.rb"
|
42
44
|
|
43
|
-
|
45
|
+
%w[index show new edit].each do |action|
|
44
46
|
template "views/#{action}.html.erb", "app/views/#{plural_name}/#{action}.html.erb"
|
45
47
|
end
|
46
48
|
|
@@ -70,6 +72,10 @@ module Adhoc
|
|
70
72
|
file_name.capitalize
|
71
73
|
end
|
72
74
|
|
75
|
+
def plural_class_name
|
76
|
+
plural_name.camelize
|
77
|
+
end
|
78
|
+
|
73
79
|
def plural_name
|
74
80
|
file_name.pluralize
|
75
81
|
end
|
@@ -89,7 +95,7 @@ module Adhoc
|
|
89
95
|
end
|
90
96
|
|
91
97
|
def controller_actions
|
92
|
-
%w[index show new create
|
98
|
+
%w[index show new edit create update destroy]
|
93
99
|
end
|
94
100
|
|
95
101
|
def controller_methods(dir_name)
|
@@ -98,6 +104,22 @@ module Adhoc
|
|
98
104
|
end.join("\n").strip
|
99
105
|
end
|
100
106
|
|
107
|
+
def read_template(relative_path)
|
108
|
+
ERB.new(File.read(find_in_source_paths(relative_path)), nil, '-').result(binding)
|
109
|
+
end
|
110
|
+
|
111
|
+
def action?(name)
|
112
|
+
controller_actions.include? name.to_s
|
113
|
+
end
|
114
|
+
|
115
|
+
def actions?(*names)
|
116
|
+
names.all? { |name| action? name }
|
117
|
+
end
|
118
|
+
|
119
|
+
def singular_name
|
120
|
+
name.underscore
|
121
|
+
end
|
122
|
+
|
101
123
|
def item_resource
|
102
124
|
name.underscore.gsub('/','_')
|
103
125
|
end
|
@@ -118,7 +140,7 @@ module Adhoc
|
|
118
140
|
elsif options[:action].to_s == "edit"
|
119
141
|
"edit_#{item_resource}_#{suffix}(#{name})"
|
120
142
|
else
|
121
|
-
if name.include?('::')
|
143
|
+
if name.include?('::')
|
122
144
|
namespace = singular_name.split('/')[0..-2]
|
123
145
|
"[:#{namespace.join(', :')}, #{name}]"
|
124
146
|
else
|
@@ -143,6 +165,18 @@ module Adhoc
|
|
143
165
|
end
|
144
166
|
end
|
145
167
|
|
168
|
+
def form_partial?
|
169
|
+
actions? :new, :edit
|
170
|
+
end
|
171
|
+
|
172
|
+
def render_form
|
173
|
+
if form_partial?
|
174
|
+
"<%= render \"form\" %>"
|
175
|
+
else
|
176
|
+
read_template("views/_form.html.rb")
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
146
180
|
# FIXME: Should be proxied to ActiveRecord::Generators::Base
|
147
181
|
# Implement the required interface for Rails::Generators::Migration.
|
148
182
|
def self.next_migration_number(dirname) #:nodoc:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
def create
|
2
|
-
@<%= instance_name %> = <%=
|
2
|
+
@<%= instance_name %> = <%= model_name %>.new(params[:<%= instance_name %>])
|
3
3
|
if @<%= instance_name %>.save
|
4
|
-
redirect_to <%= item_url %>, :notice => "Successfully created <%=
|
4
|
+
redirect_to <%= item_url %>, :notice => "Successfully created <%= model_name.underscore.humanize.downcase %>."
|
5
5
|
else
|
6
6
|
render :new
|
7
7
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
def destroy
|
2
|
-
@<%= instance_name %> = <%=
|
2
|
+
@<%= instance_name %> = <%= model_name %>.find(params[:id])
|
3
3
|
@<%= instance_name %>.destroy
|
4
|
-
redirect_to <%= items_url %>, :notice => "Successfully destroyed <%=
|
4
|
+
redirect_to <%= items_url %>, :notice => "Successfully destroyed <%= model_name.underscore.humanize.downcase %>."
|
5
5
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
def update
|
2
|
-
@<%= instance_name %> = <%=
|
2
|
+
@<%= instance_name %> = <%= model_name %>.find(params[:id])
|
3
3
|
if @<%= instance_name %>.update_attributes(params[:<%= instance_name %>])
|
4
|
-
redirect_to <%= item_url %>, :notice => "Successfully updated <%=
|
4
|
+
redirect_to <%= item_url %>, :notice => "Successfully updated <%= model_name.underscore.humanize.downcase %>."
|
5
5
|
else
|
6
6
|
render :edit
|
7
7
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class Create<%=
|
1
|
+
class Create<%= model_name.pluralize.delete('::') %> < ActiveRecord::Migration
|
2
2
|
def self.up
|
3
3
|
create_table :<%= table_name || plural_name.split('/').last %> do |t|
|
4
4
|
<%- for attribute in attributes -%>
|