adhoc-generators 0.0.1 → 0.0.3

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.
Files changed (24) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +33 -2
  3. data/lib/generators/adhoc/portfolio/portfolio_generator.rb +138 -5
  4. data/lib/generators/adhoc/portfolio/templates/actions/create.rb +8 -0
  5. data/lib/generators/adhoc/portfolio/templates/actions/destroy.rb +5 -0
  6. data/lib/generators/adhoc/portfolio/templates/actions/edit.rb +3 -0
  7. data/lib/generators/adhoc/portfolio/templates/actions/index.rb +3 -0
  8. data/lib/generators/adhoc/portfolio/templates/actions/new.rb +3 -0
  9. data/lib/generators/adhoc/portfolio/templates/actions/show.rb +3 -0
  10. data/lib/generators/adhoc/portfolio/templates/actions/update.rb +8 -0
  11. data/lib/generators/adhoc/portfolio/templates/controller.rb +3 -0
  12. data/lib/generators/adhoc/portfolio/templates/helper.rb +2 -0
  13. data/lib/generators/adhoc/portfolio/templates/migration.rb +16 -0
  14. data/lib/generators/adhoc/portfolio/templates/model.rb +3 -0
  15. data/lib/generators/adhoc/portfolio/templates/views/_form.html.erb +10 -0
  16. data/lib/generators/adhoc/portfolio/templates/views/edit.html.erb +14 -0
  17. data/lib/generators/adhoc/portfolio/templates/views/index.html.erb +29 -0
  18. data/lib/generators/adhoc/portfolio/templates/views/new.html.erb +7 -0
  19. data/lib/generators/adhoc/portfolio/templates/views/show.html.erb +20 -0
  20. metadata +80 -12
  21. data/lib/generators/adhoc/portfolio/templates/portfolio.rb +0 -3
  22. data/rails_generators/adhoc_generators/USAGE +0 -4
  23. data/rails_generators/adhoc_generators/adhoc_portfolio_generator.rb +0 -31
  24. data/rails_generators/adhoc_generators/templates/portfolio.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ecd61034fbfb286f22756000efb81a1e4443f55
4
- data.tar.gz: 2d2801f8b2e9eef058b2a8dfc4754b3b674b2677
3
+ metadata.gz: 079b8f53f307e99e274f7b852b21ac5e5d354ff1
4
+ data.tar.gz: 18e9ef14a4ef66cb7af79cee03db69946795413b
5
5
  SHA512:
6
- metadata.gz: 3120597e08a37ca508c9e24a2c9f32e3624ca2fd20bfa57453e4e4e70f5a9bbab52d6290983842d99326de31caa476db1a412aeb861ea2812a63e17fc216cf0c
7
- data.tar.gz: 9116ace0d0cf1aa6b09a1e9d47b342419730a2c4e49abec000a270f2c41a4df0222866fdf94c57c75d3cea9185342b9f67f9dfdee2fdb7a0895b329c1b3d1b26
6
+ metadata.gz: 184c3bbfca90659bdcbc345e36a84142736edbc50ad87438c19819d9acf3c246942fa9cf848db47f42528b7f154578fe2647a7a12a1ad96d452d7e4e23568ed4
7
+ data.tar.gz: 355ebf3d01a900c03b59f4ffb45a64e05a5411a40c75cac26b855bd387a23c49afb4be7d5506fd390f64a394e80ef97cb9b874d753a3d38ee3cb370f2a0cf6ac
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- adhoc-generators (0.0.6)
4
+ adhoc-generators (0.0.2)
5
5
  rails (~> 4.0.0)
6
6
 
7
7
  GEM
@@ -33,16 +33,30 @@ GEM
33
33
  tzinfo (~> 0.3.37)
34
34
  arel (4.0.0)
35
35
  atomic (1.1.13)
36
+ bcrypt-ruby (3.1.2)
36
37
  builder (3.1.4)
38
+ cucumber (1.3.6)
39
+ builder (>= 2.1.2)
40
+ diff-lcs (>= 1.1.3)
41
+ gherkin (~> 2.12.0)
42
+ multi_json (~> 1.7.5)
43
+ multi_test (>= 0.0.2)
44
+ diff-lcs (1.2.4)
37
45
  erubis (2.7.0)
46
+ gherkin (2.12.1)
47
+ multi_json (~> 1.3)
38
48
  hike (1.2.3)
39
49
  i18n (0.6.5)
40
50
  mail (2.5.4)
41
51
  mime-types (~> 1.16)
42
52
  treetop (~> 1.4.8)
53
+ metaclass (0.0.1)
43
54
  mime-types (1.25)
44
55
  minitest (4.7.5)
56
+ mocha (0.14.0)
57
+ metaclass (~> 0.0.1)
45
58
  multi_json (1.7.9)
59
+ multi_test (0.0.2)
46
60
  polyglot (0.3.3)
47
61
  rack (1.5.2)
48
62
  rack-test (0.6.2)
@@ -61,6 +75,17 @@ GEM
61
75
  rake (>= 0.8.7)
62
76
  thor (>= 0.18.1, < 2.0)
63
77
  rake (10.1.0)
78
+ rspec-core (2.14.5)
79
+ rspec-expectations (2.14.2)
80
+ diff-lcs (>= 1.1.3, < 2.0)
81
+ rspec-mocks (2.14.3)
82
+ rspec-rails (2.14.0)
83
+ actionpack (>= 3.0)
84
+ activesupport (>= 3.0)
85
+ railties (>= 3.0)
86
+ rspec-core (~> 2.14.0)
87
+ rspec-expectations (~> 2.14.0)
88
+ rspec-mocks (~> 2.14.0)
64
89
  sprockets (2.10.0)
65
90
  hike (~> 1.2)
66
91
  multi_json (~> 1.0)
@@ -71,6 +96,8 @@ GEM
71
96
  activesupport (>= 3.0)
72
97
  sprockets (~> 2.8)
73
98
  sqlite3 (1.3.8)
99
+ sqlite3-ruby (1.3.3)
100
+ sqlite3 (>= 1.3.3)
74
101
  thor (0.18.1)
75
102
  thread_safe (0.1.2)
76
103
  atomic
@@ -85,4 +112,8 @@ PLATFORMS
85
112
 
86
113
  DEPENDENCIES
87
114
  adhoc-generators!
88
- sqlite3
115
+ bcrypt-ruby (~> 3.1.2)
116
+ cucumber (~> 1.3.6)
117
+ mocha (~> 0.14.0)
118
+ rspec-rails (~> 2.14.0)
119
+ sqlite3-ruby (~> 1.3.3)
@@ -5,21 +5,154 @@ require 'rails/generators/generated_attribute'
5
5
  module Adhoc
6
6
  module Generators
7
7
  class PortfolioGenerator < Base
8
- argument :class_name, type: :string, default: 'portfolio', banner: 'portfolio_name'
8
+ include Rails::Generators::Migration
9
+ no_tasks { attr_accessor :name }
9
10
 
10
- def create_config
11
- template "portfolio.rb", "app/models/#{file_name}.rb"
11
+ argument :name, type: :string, default: 'Portfolio', banner: 'PortfolioBanner'
12
+
13
+ class_option :namespace_model,
14
+ desc: 'If the resource is namespaced, include the model in the namespace.',
15
+ type: :boolean
16
+
17
+ def initialize(*args, &block)
18
+ super
19
+ print_usage unless name.underscore =~ /^[a-z][a-z0-9_\/]+$/
20
+ @namespace_model = options.namespace_model?
21
+
22
+ %w[title:string summary:string description:string service_id:integer].each do |arg|
23
+ @attributes << Rails::Generators::GeneratedAttribute.new(*arg.split(':'))
24
+ end
25
+
26
+ end
27
+
28
+
29
+ def create_model
30
+ template 'model.rb', "app/models/#{file_name}.rb"
12
31
  end
13
32
 
33
+
34
+ def create_migration
35
+ migration_template 'migration.rb', "db/migrate/create_#{plural_name.gsub('/', '_')}.rb"
36
+ end
37
+
38
+
39
+ def create_controller
40
+ template 'controller.rb', "app/controllers/#{plural_name}_controller.rb"
41
+ template 'helper.rb', "app/helpers/#{plural_name}_helper.rb"
42
+
43
+ controller_actions.each do |action|
44
+ template "views/#{action}.html.erb", "app/views/#{plural_name}/#{action}.html.erb"
45
+ end
46
+
47
+ if form_partial?
48
+ template "views/_form.html.erb", "app/views/#{plural_name}/_form.html.erb"
49
+ end
50
+
51
+ namespaces = plural_name.split('/')
52
+ resource = namespaces.pop
53
+ route namespaces.reverse.inject("resources :#{resource}") { |acc, namespace|
54
+ "namespace(:#{namespace}){ #{acc} }"
55
+ }
56
+ end
57
+
58
+
14
59
  private
15
60
 
16
61
  def file_name
17
- class_name.underscore
62
+ name.underscore
18
63
  end
19
64
 
20
65
  def constant_name
21
- class_name.underscore.upcase
66
+ file_name.upcase
67
+ end
68
+
69
+ def model_name
70
+ file_name.capitalize
71
+ end
72
+
73
+ def plural_name
74
+ file_name.pluralize
75
+ end
76
+
77
+ def table_name
78
+ if name.include?('::') && @namespace_model
79
+ plural_name.gsub('/', '_')
80
+ end
81
+ end
82
+
83
+ def instance_name
84
+ file_name.gsub('/','_')
22
85
  end
86
+
87
+ def instances_name
88
+ instance_name.pluralize
89
+ end
90
+
91
+ def controller_actions
92
+ %w[index show new create edit update destroy]
93
+ end
94
+
95
+ def controller_methods(dir_name)
96
+ controller_actions.map do |action|
97
+ read_template("#{dir_name}/#{action}.rb")
98
+ end.join("\n").strip
99
+ end
100
+
101
+ def item_resource
102
+ name.underscore.gsub('/','_')
103
+ end
104
+
105
+ def items_path
106
+ if action? :index
107
+ "#{item_resource.pluralize}_path"
108
+ else
109
+ "root_path"
110
+ end
111
+ end
112
+
113
+ def item_path(options = {})
114
+ name = options[:instance_variable] ? "@#{instance_name}" : instance_name
115
+ suffix = options[:full_url] ? "url" : "path"
116
+ if options[:action].to_s == "new"
117
+ "new_#{item_resource}_#{suffix}"
118
+ elsif options[:action].to_s == "edit"
119
+ "edit_#{item_resource}_#{suffix}(#{name})"
120
+ else
121
+ if name.include?('::') && !@namespace_model
122
+ namespace = singular_name.split('/')[0..-2]
123
+ "[:#{namespace.join(', :')}, #{name}]"
124
+ else
125
+ name
126
+ end
127
+ end
128
+ end
129
+
130
+ def item_url
131
+ if action? :show
132
+ item_path(:full_url => true, :instance_variable => true)
133
+ else
134
+ items_url
135
+ end
136
+ end
137
+
138
+ def items_url
139
+ if action? :index
140
+ item_resource.pluralize + '_url'
141
+ else
142
+ "root_url"
143
+ end
144
+ end
145
+
146
+ # FIXME: Should be proxied to ActiveRecord::Generators::Base
147
+ # Implement the required interface for Rails::Generators::Migration.
148
+ def self.next_migration_number(dirname) #:nodoc:
149
+ if ActiveRecord::Base.timestamped_migrations
150
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
151
+ else
152
+ "%.3d" % (current_migration_number(dirname) + 1)
153
+ end
154
+ end
155
+
23
156
  end
24
157
  end
25
158
  end
@@ -0,0 +1,8 @@
1
+ def create
2
+ @<%= instance_name %> = <%= class_name %>.new(params[:<%= instance_name %>])
3
+ if @<%= instance_name %>.save
4
+ redirect_to <%= item_url %>, :notice => "Successfully created <%= class_name.underscore.humanize.downcase %>."
5
+ else
6
+ render :new
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ def destroy
2
+ @<%= instance_name %> = <%= class_name %>.find(params[:id])
3
+ @<%= instance_name %>.destroy
4
+ redirect_to <%= items_url %>, :notice => "Successfully destroyed <%= class_name.underscore.humanize.downcase %>."
5
+ end
@@ -0,0 +1,3 @@
1
+ def edit
2
+ @<%= instance_name %> = <%= class_name %>.find(params[:id])
3
+ end
@@ -0,0 +1,3 @@
1
+ def index
2
+ @<%= instances_name %> = <%= class_name %>.all
3
+ end
@@ -0,0 +1,3 @@
1
+ def new
2
+ @<%= instance_name %> = <%= class_name %>.new
3
+ end
@@ -0,0 +1,3 @@
1
+ def show
2
+ @<%= instance_name %> = <%= class_name %>.find(params[:id])
3
+ end
@@ -0,0 +1,8 @@
1
+ def update
2
+ @<%= instance_name %> = <%= class_name %>.find(params[:id])
3
+ if @<%= instance_name %>.update_attributes(params[:<%= instance_name %>])
4
+ redirect_to <%= item_url %>, :notice => "Successfully updated <%= class_name.underscore.humanize.downcase %>."
5
+ else
6
+ render :edit
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ class <%= plural_class_name %>Controller < ApplicationController
2
+ <%= controller_methods :actions %>
3
+ end
@@ -0,0 +1,2 @@
1
+ module <%= plural_class_name %>Helper
2
+ end
@@ -0,0 +1,16 @@
1
+ class Create<%= class_name.pluralize.delete('::') %> < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :<%= table_name || plural_name.split('/').last %> do |t|
4
+ <%- for attribute in attributes -%>
5
+ t.<%= attribute.type %> :<%= attribute.name %>
6
+ <%- end -%>
7
+ <%- unless options[:skip_timestamps] -%>
8
+ t.timestamps
9
+ <%- end -%>
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ drop_table :<%= table_name || plural_name.split('/').last %>
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ class <%= model_name %> < ActiveRecord::Base
2
+
3
+ end
@@ -0,0 +1,10 @@
1
+ <%%= form_for <%= item_path :instance_variable => true %> do |f| %>
2
+ <%%= f.error_messages %>
3
+ <%- for attribute in attributes -%>
4
+ <div class="field">
5
+ <%%= f.label :<%= attribute.name %> %>
6
+ <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
7
+ </div>
8
+ <%- end -%>
9
+ <div class="actions"><%%= f.submit %></div>
10
+ <%% end %>
@@ -0,0 +1,14 @@
1
+ <%% title "Edit <%= singular_name.titleize %>" %>
2
+
3
+ <%= render_form %>
4
+
5
+ <%- if actions? :show, :index -%>
6
+ <p>
7
+ <%- if action? :show -%>
8
+ <%%= link_to "Show", <%= item_path :instance_variable => true %> %> |
9
+ <%- end -%>
10
+ <%- if action? :index -%>
11
+ <%%= link_to "View All", <%= items_path %> %>
12
+ <%- end -%>
13
+ </p>
14
+ <%- end -%>
@@ -0,0 +1,29 @@
1
+ <%% title "<%= plural_name.titleize %>" %>
2
+
3
+ <table>
4
+ <tr>
5
+ <%- for attribute in attributes -%>
6
+ <th><%= attribute.human_name.titleize %></th>
7
+ <%- end -%>
8
+ </tr>
9
+ <%% for <%= instance_name %> in @<%= instances_name %> %>
10
+ <tr>
11
+ <%- for attribute in attributes -%>
12
+ <td><%%= <%= instance_name %>.<%= attribute.name %> %></td>
13
+ <%- end -%>
14
+ <%- if action? :show -%>
15
+ <td><%%= link_to "Show", <%= item_path %> %></td>
16
+ <%- end -%>
17
+ <%- if action? :edit -%>
18
+ <td><%%= link_to "Edit", <%= item_path :action => :edit %> %></td>
19
+ <%- end -%>
20
+ <%- if action? :destroy -%>
21
+ <td><%%= link_to "Destroy", <%= item_path %>, :confirm => 'Are you sure?', :method => :delete %></td>
22
+ <%- end -%>
23
+ </tr>
24
+ <%% end %>
25
+ </table>
26
+
27
+ <%- if action? :new -%>
28
+ <p><%%= link_to "New <%= singular_name.titleize %>", <%= item_path :action => :new %> %></p>
29
+ <%- end -%>
@@ -0,0 +1,7 @@
1
+ <%% title "New <%= singular_name.titleize %>" %>
2
+
3
+ <%= render_form %>
4
+
5
+ <%- if action? :index -%>
6
+ <p><%%= link_to "Back to List", <%= items_path %> %></p>
7
+ <%- end -%>
@@ -0,0 +1,20 @@
1
+ <%% title "<%= singular_name.titleize %>" %>
2
+
3
+ <%- for attribute in attributes -%>
4
+ <p>
5
+ <strong><%= attribute.human_name.titleize %>:</strong>
6
+ <%%= @<%= instance_name %>.<%= attribute.name %> %>
7
+ </p>
8
+ <%- end -%>
9
+
10
+ <p>
11
+ <%- if action? :edit -%>
12
+ <%%= link_to "Edit", <%= item_path :action => :edit, :instance_variable => true %> %> |
13
+ <%- end -%>
14
+ <%- if action? :destroy -%>
15
+ <%%= link_to "Destroy", <%= item_path :instance_variable => true %>, :confirm => 'Are you sure?', :method => :delete %> |
16
+ <%- end -%>
17
+ <%- if action? :index -%>
18
+ <%%= link_to "View All", <%= items_path %> %>
19
+ <%- end -%>
20
+ </p>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adhoc-generators
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - folklore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-05 00:00:00.000000000 Z
11
+ date: 2013-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -25,19 +25,75 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.0.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: sqlite3
28
+ name: rspec-rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 2.14.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 2.14.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: cucumber
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
32
46
  - !ruby/object:Gem::Version
33
- version: '0'
47
+ version: 1.3.6
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - '>='
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.6
55
+ - !ruby/object:Gem::Dependency
56
+ name: mocha
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.14.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
39
67
  - !ruby/object:Gem::Version
40
- version: '0'
68
+ version: 0.14.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: bcrypt-ruby
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 3.1.2
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 3.1.2
83
+ - !ruby/object:Gem::Dependency
84
+ name: sqlite3-ruby
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 1.3.3
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 1.3.3
41
97
  description: The Ad Hoc Generators of useful Rails scaffold for Portfolio
42
98
  email: mrgordanov@gmail.com
43
99
  executables: []
@@ -45,12 +101,24 @@ extensions: []
45
101
  extra_rdoc_files: []
46
102
  files:
47
103
  - lib/generators/adhoc/portfolio/portfolio_generator.rb
48
- - lib/generators/adhoc/portfolio/templates/portfolio.rb
104
+ - lib/generators/adhoc/portfolio/templates/actions/create.rb
105
+ - lib/generators/adhoc/portfolio/templates/actions/destroy.rb
106
+ - lib/generators/adhoc/portfolio/templates/actions/edit.rb
107
+ - lib/generators/adhoc/portfolio/templates/actions/index.rb
108
+ - lib/generators/adhoc/portfolio/templates/actions/new.rb
109
+ - lib/generators/adhoc/portfolio/templates/actions/show.rb
110
+ - lib/generators/adhoc/portfolio/templates/actions/update.rb
111
+ - lib/generators/adhoc/portfolio/templates/controller.rb
112
+ - lib/generators/adhoc/portfolio/templates/helper.rb
113
+ - lib/generators/adhoc/portfolio/templates/migration.rb
114
+ - lib/generators/adhoc/portfolio/templates/model.rb
115
+ - lib/generators/adhoc/portfolio/templates/views/edit.html.erb
116
+ - lib/generators/adhoc/portfolio/templates/views/index.html.erb
117
+ - lib/generators/adhoc/portfolio/templates/views/new.html.erb
118
+ - lib/generators/adhoc/portfolio/templates/views/show.html.erb
119
+ - lib/generators/adhoc/portfolio/templates/views/_form.html.erb
49
120
  - lib/generators/adhoc/portfolio/USAGE
50
121
  - lib/generators/adhoc.rb
51
- - rails_generators/adhoc_generators/adhoc_portfolio_generator.rb
52
- - rails_generators/adhoc_generators/templates/portfolio.rb
53
- - rails_generators/adhoc_generators/USAGE
54
122
  - Gemfile
55
123
  - Gemfile.lock
56
124
  - MIT-LICENSE
@@ -73,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
141
  requirements:
74
142
  - - '>='
75
143
  - !ruby/object:Gem::Version
76
- version: '0'
144
+ version: 2.0.3
77
145
  requirements: []
78
146
  rubyforge_project: adhoc-generators
79
147
  rubygems_version: 2.0.3
@@ -1,3 +0,0 @@
1
- class <%= class_name %> < ActiveRecord::Base
2
-
3
- end
@@ -1,4 +0,0 @@
1
- Examples:
2
- rails g adhoc:portfolio
3
-
4
- Model: app/model/portfolio.rb
@@ -1,31 +0,0 @@
1
- class AdhocPortfolioGenerator < Rails::Generator::Base
2
- def initialize(runtime_args, runtime_options = {})
3
- super
4
- @name = @args.first || 'portfolio'
5
- end
6
-
7
- def manifest
8
- record do |m|
9
- m.directory 'app/model'
10
-
11
- m.template "portfolio.rb", "app/models/portfolio.rb"
12
- end
13
- end
14
-
15
- def file_name
16
- @name.underscore
17
- end
18
-
19
- def constant_name
20
- @name.underscore.upcase
21
- end
22
-
23
- protected
24
- def banner
25
- <<-EOS
26
- Create portfolio model.
27
-
28
- USAGE: #{$0} #{spec.name} [config_name]
29
- EOS
30
- end
31
- end
@@ -1,3 +0,0 @@
1
- class Portfolio < ActiveRecord::Base
2
-
3
- end