medea-generators 0.1.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.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +77 -0
- data/Rakefile +2 -0
- data/lib/generators/medea/init/init_generator.rb +42 -0
- data/lib/generators/medea/init/templates/database.yml +14 -0
- data/lib/generators/medea/scaffold/USAGE +35 -0
- data/lib/generators/medea/scaffold/scaffold_generator.rb +297 -0
- data/lib/generators/medea/scaffold/templates/actions/create.rb +13 -0
- data/lib/generators/medea/scaffold/templates/actions/destroy.rb +6 -0
- data/lib/generators/medea/scaffold/templates/actions/edit.rb +3 -0
- data/lib/generators/medea/scaffold/templates/actions/index.rb +3 -0
- data/lib/generators/medea/scaffold/templates/actions/new.rb +3 -0
- data/lib/generators/medea/scaffold/templates/actions/show.rb +3 -0
- data/lib/generators/medea/scaffold/templates/actions/update.rb +9 -0
- data/lib/generators/medea/scaffold/templates/controller.rb +3 -0
- data/lib/generators/medea/scaffold/templates/fixtures.yml +9 -0
- data/lib/generators/medea/scaffold/templates/helper.rb +2 -0
- data/lib/generators/medea/scaffold/templates/model.rb +3 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/actions/create.rb +11 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/actions/destroy.rb +6 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/actions/edit.rb +4 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/actions/index.rb +4 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/actions/new.rb +4 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/actions/show.rb +4 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/actions/update.rb +11 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/controller.rb +8 -0
- data/lib/generators/medea/scaffold/templates/tests/rspec/model.rb +7 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/actions/create.rb +13 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/actions/destroy.rb +8 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/actions/edit.rb +6 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/actions/index.rb +6 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/actions/new.rb +6 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/actions/show.rb +6 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/actions/update.rb +13 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/controller.rb +5 -0
- data/lib/generators/medea/scaffold/templates/tests/shoulda/model.rb +7 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/actions/create.rb +11 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/actions/destroy.rb +6 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/actions/edit.rb +4 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/actions/index.rb +4 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/actions/new.rb +4 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/actions/show.rb +4 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/actions/update.rb +11 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/controller.rb +5 -0
- data/lib/generators/medea/scaffold/templates/tests/testunit/model.rb +7 -0
- data/lib/generators/medea/scaffold/templates/views/erb/_form.html.erb +10 -0
- data/lib/generators/medea/scaffold/templates/views/erb/edit.html.erb +14 -0
- data/lib/generators/medea/scaffold/templates/views/erb/index.html.erb +29 -0
- data/lib/generators/medea/scaffold/templates/views/erb/new.html.erb +7 -0
- data/lib/generators/medea/scaffold/templates/views/erb/show.html.erb +20 -0
- data/lib/generators/medea/scaffold/templates/views/haml/_form.html.haml +10 -0
- data/lib/generators/medea/scaffold/templates/views/haml/edit.html.haml +14 -0
- data/lib/generators/medea/scaffold/templates/views/haml/index.html.haml +25 -0
- data/lib/generators/medea/scaffold/templates/views/haml/new.html.haml +7 -0
- data/lib/generators/medea/scaffold/templates/views/haml/show.html.haml +20 -0
- data/lib/generators/medea.rb +28 -0
- data/medea-generators.gemspec +22 -0
- metadata +151 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
medea-generators (0.0.1)
|
|
5
|
+
|
|
6
|
+
GEM
|
|
7
|
+
remote: http://rubygems.org/
|
|
8
|
+
specs:
|
|
9
|
+
abstract (1.0.0)
|
|
10
|
+
actionmailer (3.0.3)
|
|
11
|
+
actionpack (= 3.0.3)
|
|
12
|
+
mail (~> 2.2.9)
|
|
13
|
+
actionpack (3.0.3)
|
|
14
|
+
activemodel (= 3.0.3)
|
|
15
|
+
activesupport (= 3.0.3)
|
|
16
|
+
builder (~> 2.1.2)
|
|
17
|
+
erubis (~> 2.6.6)
|
|
18
|
+
i18n (~> 0.4)
|
|
19
|
+
rack (~> 1.2.1)
|
|
20
|
+
rack-mount (~> 0.6.13)
|
|
21
|
+
rack-test (~> 0.5.6)
|
|
22
|
+
tzinfo (~> 0.3.23)
|
|
23
|
+
activemodel (3.0.3)
|
|
24
|
+
activesupport (= 3.0.3)
|
|
25
|
+
builder (~> 2.1.2)
|
|
26
|
+
i18n (~> 0.4)
|
|
27
|
+
activerecord (3.0.3)
|
|
28
|
+
activemodel (= 3.0.3)
|
|
29
|
+
activesupport (= 3.0.3)
|
|
30
|
+
arel (~> 2.0.2)
|
|
31
|
+
tzinfo (~> 0.3.23)
|
|
32
|
+
activeresource (3.0.3)
|
|
33
|
+
activemodel (= 3.0.3)
|
|
34
|
+
activesupport (= 3.0.3)
|
|
35
|
+
activesupport (3.0.3)
|
|
36
|
+
arel (2.0.7)
|
|
37
|
+
builder (2.1.2)
|
|
38
|
+
erubis (2.6.6)
|
|
39
|
+
abstract (>= 1.0.0)
|
|
40
|
+
i18n (0.5.0)
|
|
41
|
+
mail (2.2.14)
|
|
42
|
+
activesupport (>= 2.3.6)
|
|
43
|
+
i18n (>= 0.4.0)
|
|
44
|
+
mime-types (~> 1.16)
|
|
45
|
+
treetop (~> 1.4.8)
|
|
46
|
+
mime-types (1.16)
|
|
47
|
+
polyglot (0.3.1)
|
|
48
|
+
rack (1.2.1)
|
|
49
|
+
rack-mount (0.6.13)
|
|
50
|
+
rack (>= 1.0.0)
|
|
51
|
+
rack-test (0.5.7)
|
|
52
|
+
rack (>= 1.0)
|
|
53
|
+
rails (3.0.3)
|
|
54
|
+
actionmailer (= 3.0.3)
|
|
55
|
+
actionpack (= 3.0.3)
|
|
56
|
+
activerecord (= 3.0.3)
|
|
57
|
+
activeresource (= 3.0.3)
|
|
58
|
+
activesupport (= 3.0.3)
|
|
59
|
+
bundler (~> 1.0)
|
|
60
|
+
railties (= 3.0.3)
|
|
61
|
+
railties (3.0.3)
|
|
62
|
+
actionpack (= 3.0.3)
|
|
63
|
+
activesupport (= 3.0.3)
|
|
64
|
+
rake (>= 0.8.7)
|
|
65
|
+
thor (~> 0.14.4)
|
|
66
|
+
rake (0.8.7)
|
|
67
|
+
thor (0.14.6)
|
|
68
|
+
treetop (1.4.9)
|
|
69
|
+
polyglot (>= 0.3.1)
|
|
70
|
+
tzinfo (0.3.24)
|
|
71
|
+
|
|
72
|
+
PLATFORMS
|
|
73
|
+
ruby
|
|
74
|
+
|
|
75
|
+
DEPENDENCIES
|
|
76
|
+
medea-generators!
|
|
77
|
+
rails (~> 3.0.0)
|
data/Rakefile
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require 'generators/medea'
|
|
2
|
+
require 'rails/generators/generated_attribute'
|
|
3
|
+
require 'medea'
|
|
4
|
+
|
|
5
|
+
module Medea
|
|
6
|
+
module Generators
|
|
7
|
+
class InitGenerator < Base
|
|
8
|
+
no_tasks {
|
|
9
|
+
attr_accessor :topic, :user, :pass
|
|
10
|
+
|
|
11
|
+
def random_string length = 25
|
|
12
|
+
rand(32**length).to_s(32)
|
|
13
|
+
end
|
|
14
|
+
}
|
|
15
|
+
argument :jason_topic, :type => :string, :required => true, :banner => "Topic"
|
|
16
|
+
argument :username, :type => :string, :required => false, :banner => "username"
|
|
17
|
+
argument :password, :type => :string, :required => false, :banner => "s3cretp@ssword"
|
|
18
|
+
|
|
19
|
+
def initialize(*args, &block)
|
|
20
|
+
super
|
|
21
|
+
|
|
22
|
+
@topic = jason_topic
|
|
23
|
+
@user = username
|
|
24
|
+
@user ||= random_string
|
|
25
|
+
@pass = password
|
|
26
|
+
@pass ||= random_string
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def init_jasondb
|
|
30
|
+
#we can't create the topic, but we can create database.yml
|
|
31
|
+
template "database.yml", "config/database.yml"
|
|
32
|
+
|
|
33
|
+
# #we will also deploy templates at this point.
|
|
34
|
+
# jason_base = "http://#{@user}:#{@pass}@rest.jason.com/"
|
|
35
|
+
# topics = [@topic, "#{@topic}-dev", "#{@topic}-test"]
|
|
36
|
+
# for t in topics
|
|
37
|
+
# Medea::setup_templates "#{jason_base}#{t}/"
|
|
38
|
+
# end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
development:
|
|
2
|
+
jason_topic: <%= @topic %>-dev
|
|
3
|
+
jason_user: <%= @user %>
|
|
4
|
+
jason_password: <%= @pass %>
|
|
5
|
+
|
|
6
|
+
test:
|
|
7
|
+
jason_topic: <%= @topic %>-test
|
|
8
|
+
jason_user: <%= @user %>
|
|
9
|
+
jason_password: <%= @pass %>
|
|
10
|
+
|
|
11
|
+
production:
|
|
12
|
+
jason_topic: <%= @topic %>
|
|
13
|
+
jason_user: <%= @user %>
|
|
14
|
+
jason_password: <%= @pass %>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
Scaffolds an entire resource, from model to controller and
|
|
3
|
+
views. The resource is ready to use as a starting point for your restful,
|
|
4
|
+
resource-oriented application. Tests or specs are also generated depending
|
|
5
|
+
on if you have a "spec" directory or not.
|
|
6
|
+
|
|
7
|
+
IMPORTANT: This generator uses the "title" helper method which is generated
|
|
8
|
+
by the nifty_layout generator. You may want to run that generator first.
|
|
9
|
+
|
|
10
|
+
Usage:
|
|
11
|
+
Pass the name of the model, either CamelCased or under_scored, as the first
|
|
12
|
+
argument along with an optional list of attribute pairs and controller actions.
|
|
13
|
+
|
|
14
|
+
If no controller actions are specified, they will default to index, show,
|
|
15
|
+
new, create, edit, update, and destroy.
|
|
16
|
+
|
|
17
|
+
For example, `medea:scaffold post` gives you a model, a controller that handles
|
|
18
|
+
the create/show/update/destroy, forms to create and edit your posts, and
|
|
19
|
+
an index that lists them all, as well as a map.resources :posts
|
|
20
|
+
declaration in config/routes.rb.
|
|
21
|
+
|
|
22
|
+
Adding an "!" in the mix of arguments will invert the passed controller
|
|
23
|
+
actions. This will include all 7 controller actitons except the ones
|
|
24
|
+
mentioned. This option doesn't affect model attributes.
|
|
25
|
+
|
|
26
|
+
Examples:
|
|
27
|
+
rails generate medea:scaffold post
|
|
28
|
+
|
|
29
|
+
Will create a controller called "posts" it will contain all seven
|
|
30
|
+
CRUD actions along with the views. A model will also be created.
|
|
31
|
+
|
|
32
|
+
rails generate medea:scaffold post ! show new
|
|
33
|
+
|
|
34
|
+
Creates a posts model and controller with index, edit, update, and
|
|
35
|
+
destroy actions.
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
require 'generators/medea'
|
|
2
|
+
require 'rails/generators/generated_attribute'
|
|
3
|
+
|
|
4
|
+
module Medea
|
|
5
|
+
module Generators
|
|
6
|
+
class ScaffoldGenerator < Base
|
|
7
|
+
no_tasks { attr_accessor :scaffold_name, :model_attributes, :controller_actions }
|
|
8
|
+
|
|
9
|
+
argument :scaffold_name, :type => :string, :required => true, :banner => 'ModelName'
|
|
10
|
+
argument :args_for_c_m, :type => :array, :default => [], :banner => 'controller_actions and model:attributes'
|
|
11
|
+
|
|
12
|
+
class_option :skip_model, :desc => 'Don\'t generate a model.', :type => :boolean
|
|
13
|
+
class_option :skip_controller, :desc => 'Don\'t generate controller, helper, or views.', :type => :boolean
|
|
14
|
+
class_option :invert, :desc => 'Generate all controller actions except these mentioned.', :type => :boolean
|
|
15
|
+
class_option :namespace_model, :desc => 'If the resource is namespaced, include the model in the namespace.', :type => :boolean
|
|
16
|
+
class_option :haml, :desc => 'Generate HAML views instead of ERB.', :type => :boolean
|
|
17
|
+
|
|
18
|
+
class_option :testunit, :desc => 'Use test/unit for test files.', :group => 'Test framework', :type => :boolean
|
|
19
|
+
class_option :rspec, :desc => 'Use RSpec for test files.', :group => 'Test framework', :type => :boolean
|
|
20
|
+
class_option :shoulda, :desc => 'Use shoulda for test files.', :group => 'Test framework', :type => :boolean
|
|
21
|
+
|
|
22
|
+
def initialize(*args, &block)
|
|
23
|
+
super
|
|
24
|
+
|
|
25
|
+
print_usage unless scaffold_name.underscore =~ /^[a-z][a-z0-9_\/]+$/
|
|
26
|
+
|
|
27
|
+
@controller_actions = []
|
|
28
|
+
@model_attributes = []
|
|
29
|
+
@skip_model = options.skip_model?
|
|
30
|
+
@namespace_model = options.namespace_model?
|
|
31
|
+
@invert_actions = options.invert?
|
|
32
|
+
|
|
33
|
+
args_for_c_m.each do |arg|
|
|
34
|
+
if arg == '!'
|
|
35
|
+
@invert_actions = true
|
|
36
|
+
elsif arg.include?(':')
|
|
37
|
+
@model_attributes << Rails::Generators::GeneratedAttribute.new(*arg.split(':'))
|
|
38
|
+
else
|
|
39
|
+
@controller_actions << arg
|
|
40
|
+
@controller_actions << 'create' if arg == 'new'
|
|
41
|
+
@controller_actions << 'update' if arg == 'edit'
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
@controller_actions.uniq!
|
|
46
|
+
@model_attributes.uniq!
|
|
47
|
+
|
|
48
|
+
if @invert_actions || @controller_actions.empty?
|
|
49
|
+
@controller_actions = all_actions - @controller_actions
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
if @model_attributes.empty?
|
|
53
|
+
if model_exists?
|
|
54
|
+
model_columns_for_attributes.each do |column|
|
|
55
|
+
@model_attributes << Rails::Generators::GeneratedAttribute.new(column.name.to_s, column.type.to_s)
|
|
56
|
+
end
|
|
57
|
+
else
|
|
58
|
+
@model_attributes << Rails::Generators::GeneratedAttribute.new('name', 'string')
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def add_gems
|
|
64
|
+
add_gem "medea"
|
|
65
|
+
add_gem "mocha", :group => :test
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def create_model
|
|
69
|
+
template 'model.rb', "app/models/#{model_path}.rb"
|
|
70
|
+
if test_framework == :rspec
|
|
71
|
+
template "tests/rspec/model.rb", "spec/models/#{model_path}_spec.rb"
|
|
72
|
+
template 'fixtures.yml', "spec/fixtures/#{model_path.pluralize}.yml"
|
|
73
|
+
else
|
|
74
|
+
template "tests/#{test_framework}/model.rb", "test/unit/#{model_path}_test.rb"
|
|
75
|
+
template 'fixtures.yml', "test/fixtures/#{model_path.pluralize}.yml"
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def create_controller
|
|
80
|
+
unless options.skip_controller?
|
|
81
|
+
template 'controller.rb', "app/controllers/#{plural_name}_controller.rb"
|
|
82
|
+
|
|
83
|
+
template 'helper.rb', "app/helpers/#{plural_name}_helper.rb"
|
|
84
|
+
|
|
85
|
+
controller_actions.each do |action|
|
|
86
|
+
if %w[index show new edit].include?(action) # Actions with templates
|
|
87
|
+
template "views/#{view_language}/#{action}.html.#{view_language}", "app/views/#{plural_name}/#{action}.html.#{view_language}"
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
if form_partial?
|
|
92
|
+
template "views/#{view_language}/_form.html.#{view_language}", "app/views/#{plural_name}/_form.html.#{view_language}"
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
namespaces = plural_name.split('/')
|
|
96
|
+
resource = namespaces.pop
|
|
97
|
+
route namespaces.reverse.inject("resources :#{resource}") { |acc, namespace|
|
|
98
|
+
"namespace(:#{namespace}){ #{acc} }"
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if test_framework == :rspec
|
|
102
|
+
template "tests/#{test_framework}/controller.rb", "spec/controllers/#{plural_name}_controller_spec.rb"
|
|
103
|
+
else
|
|
104
|
+
template "tests/#{test_framework}/controller.rb", "test/functional/#{plural_name}_controller_test.rb"
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
private
|
|
110
|
+
|
|
111
|
+
def form_partial?
|
|
112
|
+
actions? :new, :edit
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def all_actions
|
|
116
|
+
%w[index show new create edit update destroy]
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def action?(name)
|
|
120
|
+
controller_actions.include? name.to_s
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def actions?(*names)
|
|
124
|
+
names.all? { |name| action? name }
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def singular_name
|
|
128
|
+
scaffold_name.underscore
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def plural_name
|
|
132
|
+
scaffold_name.underscore.pluralize
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def table_name
|
|
136
|
+
if scaffold_name.include?('::') && @namespace_model
|
|
137
|
+
plural_name.gsub('/', '_')
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def class_name
|
|
142
|
+
if @namespace_model
|
|
143
|
+
scaffold_name.camelize
|
|
144
|
+
else
|
|
145
|
+
scaffold_name.split('::').last.camelize
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def model_path
|
|
150
|
+
class_name.underscore
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
def plural_class_name
|
|
154
|
+
plural_name.camelize
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def instance_name
|
|
158
|
+
if @namespace_model
|
|
159
|
+
singular_name.gsub('/','_')
|
|
160
|
+
else
|
|
161
|
+
singular_name.split('/').last
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
def instances_name
|
|
166
|
+
instance_name.pluralize
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
def controller_methods(dir_name)
|
|
170
|
+
controller_actions.map do |action|
|
|
171
|
+
read_template("#{dir_name}/#{action}.rb")
|
|
172
|
+
end.join("\n").strip
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def render_form
|
|
176
|
+
if form_partial?
|
|
177
|
+
if options.haml?
|
|
178
|
+
"= render 'form'"
|
|
179
|
+
else
|
|
180
|
+
"<%= render 'form' %>"
|
|
181
|
+
end
|
|
182
|
+
else
|
|
183
|
+
read_template("views/#{view_language}/_form.html.#{view_language}")
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
def item_resource
|
|
188
|
+
scaffold_name.underscore.gsub('/','_')
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
def items_path
|
|
192
|
+
if action? :index
|
|
193
|
+
"#{item_resource.pluralize}_path"
|
|
194
|
+
else
|
|
195
|
+
"root_path"
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
def item_path(options = {})
|
|
200
|
+
if action? :show
|
|
201
|
+
name = options[:instance_variable] ? "@#{instance_name}" : instance_name
|
|
202
|
+
if %w(new edit).include? options[:action].to_s
|
|
203
|
+
"#{options[:action].to_s}_#{item_resource}_path(#{name})"
|
|
204
|
+
else
|
|
205
|
+
if scaffold_name.include?('::') && !@namespace_model
|
|
206
|
+
namespace = singular_name.split('/')[0..-2]
|
|
207
|
+
"[ :#{namespace.join(', :')}, #{name} ]"
|
|
208
|
+
else
|
|
209
|
+
name
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
else
|
|
213
|
+
items_path
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
def item_url
|
|
218
|
+
if action? :show
|
|
219
|
+
item_resource + '_url'
|
|
220
|
+
else
|
|
221
|
+
items_url
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
def items_url
|
|
226
|
+
if action? :index
|
|
227
|
+
item_resource.pluralize + '_url'
|
|
228
|
+
else
|
|
229
|
+
"root_url"
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
def item_path_for_spec(suffix = 'path')
|
|
234
|
+
if action? :show
|
|
235
|
+
"#{item_resource}_#{suffix}(assigns[:#{instance_name}])"
|
|
236
|
+
else
|
|
237
|
+
if suffix == 'path'
|
|
238
|
+
items_path
|
|
239
|
+
else
|
|
240
|
+
items_url
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
def item_path_for_test(suffix = 'path')
|
|
246
|
+
if action? :show
|
|
247
|
+
"#{item_resource}_#{suffix}(assigns(:#{instance_name}))"
|
|
248
|
+
else
|
|
249
|
+
if suffix == 'path'
|
|
250
|
+
items_path
|
|
251
|
+
else
|
|
252
|
+
items_url
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
def model_columns_for_attributes
|
|
258
|
+
class_name.constantize.columns.reject do |column|
|
|
259
|
+
column.name.to_s =~ /^(id|created_at|updated_at)$/
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
def view_language
|
|
264
|
+
options.haml? ? 'haml' : 'erb'
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
def test_framework
|
|
268
|
+
return @test_framework if defined?(@test_framework)
|
|
269
|
+
if options.testunit?
|
|
270
|
+
return @test_framework = :testunit
|
|
271
|
+
elsif options.rspec?
|
|
272
|
+
return @test_framework = :rspec
|
|
273
|
+
elsif options.shoulda?
|
|
274
|
+
return @test_framework = :shoulda
|
|
275
|
+
else
|
|
276
|
+
return @test_framework = default_test_framework
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
def default_test_framework
|
|
281
|
+
File.exist?(destination_path("spec")) ? :rspec : :testunit
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
def model_exists?
|
|
285
|
+
File.exist? destination_path("app/models/#{singular_name}.rb")
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
def read_template(relative_path)
|
|
289
|
+
ERB.new(File.read(find_in_source_paths(relative_path)), nil, '-').result(binding)
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
def destination_path(path)
|
|
293
|
+
File.join(destination_root, path)
|
|
294
|
+
end
|
|
295
|
+
end
|
|
296
|
+
end
|
|
297
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
def create
|
|
2
|
+
@<%= instance_name %> = <%= class_name %>.new(params[:<%= instance_name %>])
|
|
3
|
+
begin
|
|
4
|
+
if @<%= instance_name %>.save!
|
|
5
|
+
flash[:notice] = "Successfully created <%= class_name.underscore.humanize.downcase %>."
|
|
6
|
+
redirect_to <%= item_path :instance_variable => true %>
|
|
7
|
+
else
|
|
8
|
+
render :action => 'new'
|
|
9
|
+
end
|
|
10
|
+
rescue
|
|
11
|
+
render :action => 'new'
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
def update
|
|
2
|
+
@<%= instance_name %> = <%= class_name %>.get_by_key(params[:id])
|
|
3
|
+
if @<%= instance_name %>.update_attributes(params[:<%= instance_name %>])
|
|
4
|
+
flash[:notice] = "Successfully updated <%= class_name.underscore.humanize.downcase %>."
|
|
5
|
+
redirect_to <%= item_url %>
|
|
6
|
+
else
|
|
7
|
+
render :action => 'edit'
|
|
8
|
+
end
|
|
9
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
it "create action should render new templates when model is invalid" do
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
post :create
|
|
4
|
+
response.should render_template(:new)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "create action should redirect when model is valid" do
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
post :create
|
|
10
|
+
response.should redirect_to(<%= item_path_for_spec('url') %>)
|
|
11
|
+
end
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
it "destroy action should destroy model and redirect to index action" do
|
|
2
|
+
<%= instance_name %> = <%= class_name %>.first
|
|
3
|
+
delete :destroy, :id => <%= instance_name %>
|
|
4
|
+
response.should redirect_to(<%= items_url %>)
|
|
5
|
+
<%= class_name %>.exists?(<%= instance_name %>.id).should be_false
|
|
6
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
it "update action should render edit templates when model is invalid" do
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
put :update, :id => <%= class_name %>.first
|
|
4
|
+
response.should render_template(:edit)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "update action should redirect when model is valid" do
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
put :update, :id => <%= class_name %>.first
|
|
10
|
+
response.should redirect_to(<%= item_path_for_spec('url') %>)
|
|
11
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
context "create action" do
|
|
2
|
+
should "render new templates when model is invalid" do
|
|
3
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
4
|
+
post :create
|
|
5
|
+
assert_template 'new'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
should "redirect when model is valid" do
|
|
9
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
10
|
+
post :create
|
|
11
|
+
assert_redirected_to <%= item_path_for_test('url') %>
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
context "destroy action" do
|
|
2
|
+
should "destroy model and redirect to index action" do
|
|
3
|
+
<%= instance_name %> = <%= class_name %>.first
|
|
4
|
+
delete :destroy, :id => <%= instance_name %>
|
|
5
|
+
assert_redirected_to <%= items_url %>
|
|
6
|
+
assert !<%= class_name %>.exists?(<%= instance_name %>.id)
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
context "update action" do
|
|
2
|
+
should "render edit templates when model is invalid" do
|
|
3
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
4
|
+
put :update, :id => <%= class_name %>.first
|
|
5
|
+
assert_template 'edit'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
should "redirect when model is valid" do
|
|
9
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
10
|
+
put :update, :id => <%= class_name %>.first
|
|
11
|
+
assert_redirected_to <%= item_path_for_test('url') %>
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
def test_create_invalid
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
post :create
|
|
4
|
+
assert_template 'new'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def test_create_valid
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
post :create
|
|
10
|
+
assert_redirected_to <%= item_path_for_test('url') %>
|
|
11
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
def test_update_invalid
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
put :update, :id => <%= class_name %>.first
|
|
4
|
+
assert_template 'edit'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def test_update_valid
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
put :update, :id => <%= class_name %>.first
|
|
10
|
+
assert_redirected_to <%= item_path_for_test('url') %>
|
|
11
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<%%= form_for <%= item_path :instance_variable => true %> do |f| %>
|
|
2
|
+
<%%= f.error_messages %>
|
|
3
|
+
<%- for attribute in model_attributes -%>
|
|
4
|
+
<p>
|
|
5
|
+
<%%= f.label :<%= attribute.name %> %><br />
|
|
6
|
+
<%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
|
|
7
|
+
</p>
|
|
8
|
+
<%- end -%>
|
|
9
|
+
<p><%%= f.submit %></p>
|
|
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 model_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 model_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,20 @@
|
|
|
1
|
+
<%% title "<%= singular_name.titleize %>" %>
|
|
2
|
+
|
|
3
|
+
<%- for attribute in model_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>
|
|
@@ -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 %>
|
|
9
|
+
|
|
|
10
|
+
<%- end -%>
|
|
11
|
+
<%- if action? :index -%>
|
|
12
|
+
= link_to "View All", <%= items_path %>
|
|
13
|
+
<%- end -%>
|
|
14
|
+
<%- end -%>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
- title "<%= plural_name.titleize %>"
|
|
2
|
+
|
|
3
|
+
%table
|
|
4
|
+
%tr
|
|
5
|
+
<%- for attribute in model_attributes -%>
|
|
6
|
+
%th <%= attribute.human_name %>
|
|
7
|
+
<%- end -%>
|
|
8
|
+
- for <%= instance_name %> in @<%= instances_name %>
|
|
9
|
+
%tr
|
|
10
|
+
<%- for attribute in model_attributes -%>
|
|
11
|
+
%td= <%= instance_name %>.<%= attribute.name %>
|
|
12
|
+
<%- end -%>
|
|
13
|
+
<%- if action? :show -%>
|
|
14
|
+
%td= link_to 'Show', <%= item_path %>
|
|
15
|
+
<%- end -%>
|
|
16
|
+
<%- if action? :edit -%>
|
|
17
|
+
%td= link_to 'Edit', <%= item_path :action => :edit %>
|
|
18
|
+
<%- end -%>
|
|
19
|
+
<%- if action? :destroy -%>
|
|
20
|
+
%td= link_to 'Destroy', <%= item_path %>, :confirm => 'Are you sure?', :method => :delete
|
|
21
|
+
<%- end -%>
|
|
22
|
+
|
|
23
|
+
<%- if actions? :new -%>
|
|
24
|
+
%p= link_to "New <%= singular_name.titleize %>", <%= item_path :action => :new %>
|
|
25
|
+
<%- end -%>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
- title "<%= singular_name.titleize %>"
|
|
2
|
+
|
|
3
|
+
<%- for attribute in model_attributes -%>
|
|
4
|
+
%p
|
|
5
|
+
%strong <%= attribute.human_name.titleize %>:
|
|
6
|
+
= @<%= instance_name %>.<%= attribute.name %>
|
|
7
|
+
<%- end -%>
|
|
8
|
+
|
|
9
|
+
%p
|
|
10
|
+
<%- if action? :edit -%>
|
|
11
|
+
= link_to "Edit", <%= item_path :action => :edit, :instance_variable => true %>
|
|
12
|
+
|
|
|
13
|
+
<%- end -%>
|
|
14
|
+
<%- if action? :destroy -%>
|
|
15
|
+
= link_to "Destroy", <%= item_path :instance_variable => true %>, :confirm => 'Are you sure?', :method => :delete
|
|
16
|
+
|
|
|
17
|
+
<%- end -%>
|
|
18
|
+
<%- if action? :index -%>
|
|
19
|
+
= link_to "View All", <%= items_path %>
|
|
20
|
+
<%- end -%>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'rails/generators/base'
|
|
2
|
+
|
|
3
|
+
module Medea
|
|
4
|
+
module Generators
|
|
5
|
+
class Base < Rails::Generators::Base #:nodoc:
|
|
6
|
+
def self.source_root
|
|
7
|
+
@_medea_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'medea', generator_name, 'templates'))
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.banner
|
|
11
|
+
"rails generate medea:#{generator_name} #{self.arguments.map{ |a| a.usage }.join(' ')} [options]"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
private
|
|
15
|
+
|
|
16
|
+
def add_gem(name, options = {})
|
|
17
|
+
gemfile_content = File.read(destination_path("Gemfile"))
|
|
18
|
+
File.open(destination_path("Gemfile"), 'a') { |f| f.write("\n") } unless gemfile_content =~ /\n\Z/
|
|
19
|
+
gem name, options unless gemfile_content.include? name
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def print_usage
|
|
23
|
+
self.class.help(Thor::Base.shell.new)
|
|
24
|
+
exit
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
|
3
|
+
|
|
4
|
+
Gem::Specification.new do |s|
|
|
5
|
+
s.name = "medea-generators"
|
|
6
|
+
s.version = "0.1.0"
|
|
7
|
+
s.platform = Gem::Platform::RUBY
|
|
8
|
+
s.authors = ["Michael Jensen"]
|
|
9
|
+
s.email = ["michaelj@jasondb.com"]
|
|
10
|
+
s.homepage = ""
|
|
11
|
+
s.summary = %q{Medea Generators provides scaffolding for Rails projects using Medea to access JasonDB}
|
|
12
|
+
s.description = %q{Medea Generators provides scaffolding for Rails projects using Medea to access JasonDB.
|
|
13
|
+
This is very closely modelled on Ryan Bates' Nifty Generators.}
|
|
14
|
+
|
|
15
|
+
s.add_development_dependency 'rails', '~> 3.0.0'
|
|
16
|
+
s.add_dependency 'medea'
|
|
17
|
+
|
|
18
|
+
s.files = `git ls-files`.split("\n")
|
|
19
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
20
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
21
|
+
s.require_paths = ["lib"]
|
|
22
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: medea-generators
|
|
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
|
+
- Michael Jensen
|
|
13
|
+
autorequire:
|
|
14
|
+
bindir: bin
|
|
15
|
+
cert_chain: []
|
|
16
|
+
|
|
17
|
+
date: 2011-01-18 00:00:00 +11:00
|
|
18
|
+
default_executable:
|
|
19
|
+
dependencies:
|
|
20
|
+
- !ruby/object:Gem::Dependency
|
|
21
|
+
name: rails
|
|
22
|
+
prerelease: false
|
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
24
|
+
none: false
|
|
25
|
+
requirements:
|
|
26
|
+
- - ~>
|
|
27
|
+
- !ruby/object:Gem::Version
|
|
28
|
+
segments:
|
|
29
|
+
- 3
|
|
30
|
+
- 0
|
|
31
|
+
- 0
|
|
32
|
+
version: 3.0.0
|
|
33
|
+
type: :development
|
|
34
|
+
version_requirements: *id001
|
|
35
|
+
- !ruby/object:Gem::Dependency
|
|
36
|
+
name: medea
|
|
37
|
+
prerelease: false
|
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
39
|
+
none: false
|
|
40
|
+
requirements:
|
|
41
|
+
- - ">="
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
segments:
|
|
44
|
+
- 0
|
|
45
|
+
version: "0"
|
|
46
|
+
type: :runtime
|
|
47
|
+
version_requirements: *id002
|
|
48
|
+
description: |-
|
|
49
|
+
Medea Generators provides scaffolding for Rails projects using Medea to access JasonDB.
|
|
50
|
+
This is very closely modelled on Ryan Bates' Nifty Generators.
|
|
51
|
+
email:
|
|
52
|
+
- michaelj@jasondb.com
|
|
53
|
+
executables: []
|
|
54
|
+
|
|
55
|
+
extensions: []
|
|
56
|
+
|
|
57
|
+
extra_rdoc_files: []
|
|
58
|
+
|
|
59
|
+
files:
|
|
60
|
+
- .gitignore
|
|
61
|
+
- Gemfile
|
|
62
|
+
- Gemfile.lock
|
|
63
|
+
- Rakefile
|
|
64
|
+
- lib/generators/medea.rb
|
|
65
|
+
- lib/generators/medea/init/init_generator.rb
|
|
66
|
+
- lib/generators/medea/init/templates/database.yml
|
|
67
|
+
- lib/generators/medea/scaffold/USAGE
|
|
68
|
+
- lib/generators/medea/scaffold/scaffold_generator.rb
|
|
69
|
+
- lib/generators/medea/scaffold/templates/actions/create.rb
|
|
70
|
+
- lib/generators/medea/scaffold/templates/actions/destroy.rb
|
|
71
|
+
- lib/generators/medea/scaffold/templates/actions/edit.rb
|
|
72
|
+
- lib/generators/medea/scaffold/templates/actions/index.rb
|
|
73
|
+
- lib/generators/medea/scaffold/templates/actions/new.rb
|
|
74
|
+
- lib/generators/medea/scaffold/templates/actions/show.rb
|
|
75
|
+
- lib/generators/medea/scaffold/templates/actions/update.rb
|
|
76
|
+
- lib/generators/medea/scaffold/templates/controller.rb
|
|
77
|
+
- lib/generators/medea/scaffold/templates/fixtures.yml
|
|
78
|
+
- lib/generators/medea/scaffold/templates/helper.rb
|
|
79
|
+
- lib/generators/medea/scaffold/templates/model.rb
|
|
80
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/actions/create.rb
|
|
81
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/actions/destroy.rb
|
|
82
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/actions/edit.rb
|
|
83
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/actions/index.rb
|
|
84
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/actions/new.rb
|
|
85
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/actions/show.rb
|
|
86
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/actions/update.rb
|
|
87
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/controller.rb
|
|
88
|
+
- lib/generators/medea/scaffold/templates/tests/rspec/model.rb
|
|
89
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/actions/create.rb
|
|
90
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/actions/destroy.rb
|
|
91
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/actions/edit.rb
|
|
92
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/actions/index.rb
|
|
93
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/actions/new.rb
|
|
94
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/actions/show.rb
|
|
95
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/actions/update.rb
|
|
96
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/controller.rb
|
|
97
|
+
- lib/generators/medea/scaffold/templates/tests/shoulda/model.rb
|
|
98
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/actions/create.rb
|
|
99
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/actions/destroy.rb
|
|
100
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/actions/edit.rb
|
|
101
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/actions/index.rb
|
|
102
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/actions/new.rb
|
|
103
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/actions/show.rb
|
|
104
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/actions/update.rb
|
|
105
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/controller.rb
|
|
106
|
+
- lib/generators/medea/scaffold/templates/tests/testunit/model.rb
|
|
107
|
+
- lib/generators/medea/scaffold/templates/views/erb/_form.html.erb
|
|
108
|
+
- lib/generators/medea/scaffold/templates/views/erb/edit.html.erb
|
|
109
|
+
- lib/generators/medea/scaffold/templates/views/erb/index.html.erb
|
|
110
|
+
- lib/generators/medea/scaffold/templates/views/erb/new.html.erb
|
|
111
|
+
- lib/generators/medea/scaffold/templates/views/erb/show.html.erb
|
|
112
|
+
- lib/generators/medea/scaffold/templates/views/haml/_form.html.haml
|
|
113
|
+
- lib/generators/medea/scaffold/templates/views/haml/edit.html.haml
|
|
114
|
+
- lib/generators/medea/scaffold/templates/views/haml/index.html.haml
|
|
115
|
+
- lib/generators/medea/scaffold/templates/views/haml/new.html.haml
|
|
116
|
+
- lib/generators/medea/scaffold/templates/views/haml/show.html.haml
|
|
117
|
+
- medea-generators.gemspec
|
|
118
|
+
has_rdoc: true
|
|
119
|
+
homepage: ""
|
|
120
|
+
licenses: []
|
|
121
|
+
|
|
122
|
+
post_install_message:
|
|
123
|
+
rdoc_options: []
|
|
124
|
+
|
|
125
|
+
require_paths:
|
|
126
|
+
- lib
|
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
128
|
+
none: false
|
|
129
|
+
requirements:
|
|
130
|
+
- - ">="
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
segments:
|
|
133
|
+
- 0
|
|
134
|
+
version: "0"
|
|
135
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
|
+
none: false
|
|
137
|
+
requirements:
|
|
138
|
+
- - ">="
|
|
139
|
+
- !ruby/object:Gem::Version
|
|
140
|
+
segments:
|
|
141
|
+
- 0
|
|
142
|
+
version: "0"
|
|
143
|
+
requirements: []
|
|
144
|
+
|
|
145
|
+
rubyforge_project:
|
|
146
|
+
rubygems_version: 1.3.7
|
|
147
|
+
signing_key:
|
|
148
|
+
specification_version: 3
|
|
149
|
+
summary: Medea Generators provides scaffolding for Rails projects using Medea to access JasonDB
|
|
150
|
+
test_files: []
|
|
151
|
+
|