adhoc-generators 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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