mdd 2.0.3 → 3.0.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/{lib/generators/mdd/.DS_Store → .DS_Store} +0 -0
- data/README.md +1 -1
- data/Rakefile +8 -0
- data/app/helpers/{mdd_helper.rb → mdwa_helper.rb} +1 -1
- data/lib/{generators/mdd/association/templates/.DS_Store → .DS_Store} +0 -0
- data/lib/generators/{mdd/sandbox/templates/app/assets/images → mdwa}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/association/USAGE +5 -5
- data/lib/generators/mdwa/association/association_generator.rb +152 -0
- data/lib/generators/{mdd/sandbox/templates/app/assets/javascripts → mdwa/association/templates}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/association/templates/migrate/many_to_many.rb +0 -0
- data/lib/generators/{mdd → mdwa}/association/templates/migrate/one_field.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/USAGE +1 -1
- data/lib/generators/{mdd → mdwa}/sandbox/sandbox_generator.rb +5 -4
- data/lib/generators/{mdd/sandbox/templates/app/assets/javascripts/mdwa → mdwa/sandbox/templates/app/assets/images}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/ajax-loader.gif +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/backend_bg.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/barra-16.gif +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/bg_ip.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/bg_left.jpg +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/bg_window_header.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/bt_g.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/button_submit.gif +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/fancybox_loading.gif +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/fancybox_sprite.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/headerbg.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/add.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/delete.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/dropdown.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/edit.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/lupa.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/remove-icon.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_flat_10_000000_40x100.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_222222_256x240.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_228ef1_256x240.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ef8c08_256x240.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ffd27a_256x240.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/notice_close.png +0 -0
- data/lib/generators/{mdd/sandbox/templates/app/assets/stylesheets → mdwa/sandbox/templates/app/assets/javascripts}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery-ui.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.bgiframe.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.easing.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.fancybox.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.hover_intent.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.mousewheel.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.popup_window.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.validate.js +0 -0
- data/lib/generators/{mdd/sandbox/templates/app/assets/stylesheets/jquery → mdwa/sandbox/templates/app/assets/javascripts/mdwa}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/login_manifest.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/public_manifest.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/system_manifest.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/template/ajaxloader.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/template/all_pages.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/template/clicable_title.js +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/template/pagination.js +0 -0
- data/lib/generators/{mdd/sandbox/templates/app/assets/stylesheets/mdwa → mdwa/sandbox/templates/app/assets/stylesheets}/.DS_Store +0 -0
- data/lib/generators/{mdd/sandbox/templates/app/assets/stylesheets/mdwa/template → mdwa/sandbox/templates/app/assets/stylesheets/jquery}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/jquery/jquery-ui-theme1.css +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/jquery/jquery.fancybox.css +0 -0
- data/lib/generators/{mdd/sandbox/templates/db/seeds → mdwa/sandbox/templates/app/assets/stylesheets/mdwa}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/login/login.css +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/login_manifest.css +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/public_manifest.css +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/system_manifest.css +0 -0
- data/lib/generators/{mdd/scaffold/templates → mdwa/sandbox/templates/app/assets/stylesheets/mdwa/template}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/backend.css.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/cssbase.css +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/grid.css +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/leftbar.css.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/reset.css +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/template.css.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/administrators_controller.rb +2 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/backend_controller.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/home_controller.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/users/passwords_controller.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/users/sessions_controller.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/public_controller.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/models/ability.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/models/administrator.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/models/permission.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/models/user.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/_administrators.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/_form.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/edit.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/index.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/new.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/home/index.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/_welcome.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/confirmations/new.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/mailer/confirmation_instructions.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/mailer/reset_password_instructions.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/mailer/unlock_instructions.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/passwords/edit.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/passwords/new.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/registrations/edit.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/registrations/new.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/sessions/new.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/shared/_links.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/unlocks/new.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/layouts/login.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/layouts/public.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/layouts/system.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/public/index.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/template/_leftbar.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/config/initializers/devise.rb +0 -0
- data/lib/generators/{mdd/sandbox/templates/config/initializers/mdd_inflections.rb → mdwa/sandbox/templates/config/initializers/mdwa_inflections.rb} +0 -0
- data/lib/generators/mdwa/sandbox/templates/config/initializers/mdwa_layout.rb +8 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/config/initializers/will_paginate.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/config/locales/devise.en.yml +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/config/locales/mdwa.en.yml +2 -0
- data/lib/generators/mdwa/sandbox/templates/config/locales/mdwa_model_specific.en.yml +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/db/migrate/create_permissions.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/db/migrate/create_user_permissions.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/db/migrate/devise_create_users.rb +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/db/seeds.rb +0 -0
- data/lib/generators/{mdd/scaffold/templates/db_migrate → mdwa/sandbox/templates/db/seeds}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/sandbox/templates/db/seeds/site.rb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/USAGE +10 -10
- data/lib/generators/{mdd → mdwa}/scaffold/scaffold_generator.rb +11 -12
- data/lib/{mdd → generators/mdwa/scaffold/templates}/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/controllers/ajax_controller.rb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/controllers/controller.rb +0 -0
- data/lib/generators/mdwa/scaffold/templates/db_migrate/.DS_Store +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/db_migrate/migrate.rb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/models/model.rb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/models/module.rb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/_form.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/_form_fields.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/_list.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/create.js.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/destroy.js.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/edit.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/index.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/index.js.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/new.html.erb +0 -0
- data/lib/generators/{mdd → mdwa}/scaffold/templates/views/show.html.erb +0 -0
- data/lib/mdd.rb +4 -19
- data/lib/mdwa.rb +6 -0
- data/lib/mdwa/.DS_Store +0 -0
- data/lib/mdwa/all.rb +5 -0
- data/lib/mdwa/dsl.rb +9 -0
- data/lib/mdwa/dsl/.DS_Store +0 -0
- data/lib/mdwa/dsl/entities.rb +45 -0
- data/lib/mdwa/dsl/entity.rb +41 -0
- data/lib/mdwa/generators.rb +10 -0
- data/lib/mdwa/generators/.DS_Store +0 -0
- data/lib/{mdd → mdwa}/generators/model.rb +2 -1
- data/lib/mdwa/generators/model_association.rb +77 -0
- data/lib/{mdd → mdwa}/generators/model_attribute.rb +4 -6
- data/lib/mdwa/layout.rb +18 -0
- data/lib/mdwa/layout/.DS_Store +0 -0
- data/lib/{mdd → mdwa}/layout/base.rb +3 -1
- data/lib/{mdd → mdwa}/layout/helper.rb +5 -2
- data/lib/mdwa/version.rb +4 -0
- data/mdd.gemspec +3 -2
- data/test/entity_test.rb +67 -0
- data/test/generators_test.rb +0 -0
- data/test/layout_test.rb +59 -0
- metadata +184 -148
- data/lib/generators/mdd/association/association_generator.rb +0 -157
- data/lib/generators/mdd/sandbox/templates/config/initializers/mdd_layout.rb +0 -7
- data/lib/mdd/version.rb +0 -3
data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/passwords/edit.html.erb
RENAMED
|
File without changes
|
|
File without changes
|
data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/registrations/edit.html.erb
RENAMED
|
File without changes
|
data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/registrations/new.html.erb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/generators/{mdd/scaffold/templates/db_migrate → mdwa/sandbox/templates/db/seeds}/.DS_Store
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -9,21 +9,21 @@ Example:
|
|
|
9
9
|
It behaves equally to Rails scaffold if relations are not mentioned.
|
|
10
10
|
The relations syntax:
|
|
11
11
|
|
|
12
|
-
- rails generate
|
|
12
|
+
- rails generate mdwa:scaffold Product name:string initial_date:date category_id:category:name:belongs
|
|
13
13
|
# model product.rb
|
|
14
14
|
class Product < ActiveRecord::Base
|
|
15
15
|
attr_accessible :name, :initial_date, :category_id
|
|
16
16
|
belongs_to :category
|
|
17
17
|
...
|
|
18
18
|
|
|
19
|
-
- rails generate
|
|
19
|
+
- rails generate mdwa:scaffold Category name:string products:product:name:has_many
|
|
20
20
|
# model product.rb
|
|
21
21
|
class Product < ActiveRecord::Base
|
|
22
22
|
attr_accessible :name
|
|
23
23
|
has_many :products
|
|
24
24
|
...
|
|
25
25
|
|
|
26
|
-
- rails generate
|
|
26
|
+
- rails generate mdwa:scaffold Product name:string category:category:name:nested_many
|
|
27
27
|
# model product.rb
|
|
28
28
|
class Product < ActiveRecord::Base
|
|
29
29
|
attr_accessible :name, :categories_attributes
|
|
@@ -31,21 +31,21 @@ Example:
|
|
|
31
31
|
accepts_nested_attributes_for :categories, :allow_destroy => true
|
|
32
32
|
...
|
|
33
33
|
|
|
34
|
-
- rails generate
|
|
34
|
+
- rails generate mdwa:scaffold Company name:string address:address:name:nested_one
|
|
35
35
|
class Company < ActiveRecord::Base
|
|
36
36
|
attr_accessible :name, :address_attributes
|
|
37
37
|
belongs_to :address
|
|
38
38
|
accepts_nested_attributes_for :address, :allow_destroy => true
|
|
39
39
|
...
|
|
40
40
|
|
|
41
|
-
- rails generate
|
|
42
|
-
rails generate
|
|
41
|
+
- rails generate mdwa:scaffold User name:string projects:projects:name:has_and_belongs_to_many
|
|
42
|
+
rails generate mdwa:scaffold Project name:string users:user:name:has_and_belongs_to_many
|
|
43
43
|
Class User < ActiveRecord::Base
|
|
44
44
|
has_and_belongs_to_many :projects
|
|
45
45
|
Class User < ActiveRecord::Base
|
|
46
46
|
has_and_belongs_to_many :users
|
|
47
47
|
|
|
48
|
-
- rails generate
|
|
48
|
+
- rails generate mdwa:scaffold Product name:string product_price:productPrice:name:has_one
|
|
49
49
|
# model product.rb
|
|
50
50
|
class Product < ActiveRecord::Base
|
|
51
51
|
attr_accessible :name
|
|
@@ -60,8 +60,8 @@ Restrictions:
|
|
|
60
60
|
2. For associations, you can use the mdd:association generator.
|
|
61
61
|
It generates several kinds of model relations.
|
|
62
62
|
Scaffold associations will fail for model associations with specific model names, for example:
|
|
63
|
-
rails g
|
|
64
|
-
rails g
|
|
63
|
+
rails g mdwa:scaffold a/groups name:string --model=group
|
|
64
|
+
rails g mdwa:scaffold a/projects name:string group:a/group:name:belongs_to
|
|
65
65
|
For that reason, you should use:
|
|
66
|
-
rails g
|
|
66
|
+
rails g mdwa:scaffold a/projects name:string group:a/group,group:name:belongs_to
|
|
67
67
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
require 'rails/generators/migration'
|
|
2
|
+
require 'mdwa/generators'
|
|
2
3
|
|
|
3
|
-
module
|
|
4
|
+
module Mdwa
|
|
5
|
+
|
|
6
|
+
module Generators
|
|
4
7
|
|
|
5
8
|
class ScaffoldGenerator < Rails::Generators::Base
|
|
6
9
|
include Rails::Generators::Migration
|
|
@@ -23,13 +26,13 @@ module Mdd
|
|
|
23
26
|
|
|
24
27
|
super
|
|
25
28
|
|
|
26
|
-
@model = Generators::Model.new( scaffold_name )
|
|
29
|
+
@model = MDWA::Generators::Model.new( scaffold_name )
|
|
27
30
|
|
|
28
31
|
# model_name is not valid
|
|
29
32
|
print_usage unless @model.valid?
|
|
30
33
|
|
|
31
34
|
# verifies specific model name
|
|
32
|
-
@specific_model = Generators::Model.new( options.model ) unless options.model.blank?
|
|
35
|
+
@specific_model = MDWA::Generators::Model.new( options.model ) unless options.model.blank?
|
|
33
36
|
if !@specific_model.nil?
|
|
34
37
|
if !@specific_model.valid?
|
|
35
38
|
print_usage
|
|
@@ -40,7 +43,7 @@ module Mdd
|
|
|
40
43
|
|
|
41
44
|
# sets the model attributes
|
|
42
45
|
attributes.each do |attribute|
|
|
43
|
-
@model.add_attribute Generators::ModelAttribute.new( attribute )
|
|
46
|
+
@model.add_attribute MDWA::Generators::ModelAttribute.new( attribute )
|
|
44
47
|
end
|
|
45
48
|
|
|
46
49
|
end
|
|
@@ -81,13 +84,8 @@ module Mdd
|
|
|
81
84
|
end
|
|
82
85
|
|
|
83
86
|
def locales
|
|
84
|
-
destination = 'config/locales/mdwa_model_specific.en.yml'
|
|
85
|
-
inside Rails.root do
|
|
86
|
-
create_file destination unless File.exist?(destination)
|
|
87
|
-
append_file destination, "en:\n"
|
|
88
|
-
end
|
|
89
87
|
|
|
90
|
-
append_file
|
|
88
|
+
append_file 'config/locales/mdwa_model_specific.en.yml', :after => "en:\n" do
|
|
91
89
|
lines = []
|
|
92
90
|
lines << " #{@model.plural_name}:"
|
|
93
91
|
lines << " create_success: \"#{@model.singular_name.humanize} created.\""
|
|
@@ -122,7 +120,7 @@ module Mdd
|
|
|
122
120
|
def associations
|
|
123
121
|
unless options.only_interface
|
|
124
122
|
@model.attributes.select{ |a| a.references? }.each do |attr|
|
|
125
|
-
generate "
|
|
123
|
+
generate "mdwa:association #{@model.raw} #{attr.reference_type} #{attr.type.raw} #{'--skip_migrations' if options.skip_migrations} #{'--force' if options.force} --skip_rake_migrate --ask"
|
|
126
124
|
end
|
|
127
125
|
end
|
|
128
126
|
end
|
|
@@ -144,6 +142,7 @@ module Mdd
|
|
|
144
142
|
end
|
|
145
143
|
end
|
|
146
144
|
|
|
147
|
-
|
|
145
|
+
end
|
|
148
146
|
|
|
147
|
+
end
|
|
149
148
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/mdd.rb
CHANGED
|
@@ -1,23 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
|
2
|
+
require 'rails/engine'
|
|
2
3
|
|
|
3
|
-
module
|
|
4
|
-
class
|
|
4
|
+
module MDD
|
|
5
|
+
class MDD < Rails::Engine
|
|
5
6
|
config.autoload_paths << File.expand_path("../app", __FILE__)
|
|
6
7
|
end
|
|
7
|
-
|
|
8
|
-
module Generators
|
|
9
|
-
autoload :Model, 'mdd/generators/model'
|
|
10
|
-
autoload :ModelAttribute, 'mdd/generators/model_attribute'
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
module Layout
|
|
14
|
-
autoload :Base, 'mdd/layout/base'
|
|
15
|
-
autoload :Helper, 'mdd/layout/helper'
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# include the layout selector in ApplicationController
|
|
20
|
-
ActionController::Base.send :include, Mdd::Layout::Helper
|
|
21
|
-
ActiveSupport.on_load(:action_controller) do
|
|
22
|
-
helper_method "current_page"
|
|
23
8
|
end
|
data/lib/mdwa.rb
ADDED
data/lib/mdwa/.DS_Store
ADDED
|
Binary file
|
data/lib/mdwa/all.rb
ADDED
data/lib/mdwa/dsl.rb
ADDED
|
Binary file
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
|
2
|
+
module MDWA
|
|
3
|
+
module DSL
|
|
4
|
+
|
|
5
|
+
# singleton class
|
|
6
|
+
class Entities
|
|
7
|
+
|
|
8
|
+
attr_accessor :nodes
|
|
9
|
+
|
|
10
|
+
def initialize
|
|
11
|
+
@nodes ||= {}
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.instance
|
|
15
|
+
@__instance__ ||= new
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def register( name )
|
|
19
|
+
e = element(name) || Entity.new( name )
|
|
20
|
+
yield e
|
|
21
|
+
add_node e
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def add_node(node)
|
|
25
|
+
@nodes[node.name] = node
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def element(e)
|
|
29
|
+
@nodes[e]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end # class entitites
|
|
33
|
+
|
|
34
|
+
# return the entities instance
|
|
35
|
+
def self.entities
|
|
36
|
+
Entities.instance
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.entity(name)
|
|
40
|
+
self.entities.element(name)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
end # dsl
|
|
45
|
+
end # mdd
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
|
2
|
+
require 'ostruct'
|
|
3
|
+
|
|
4
|
+
module MDWA
|
|
5
|
+
module DSL
|
|
6
|
+
|
|
7
|
+
class Entity
|
|
8
|
+
|
|
9
|
+
attr_accessor :name, :resource, :purpose, :model_name, :ajax, :generated, :force
|
|
10
|
+
attr_accessor :attributes, :associations
|
|
11
|
+
|
|
12
|
+
def initialize( name )
|
|
13
|
+
# set the entity name
|
|
14
|
+
self.name = name
|
|
15
|
+
|
|
16
|
+
# fixed attributes
|
|
17
|
+
self.resource = false
|
|
18
|
+
self.model_name = self.name
|
|
19
|
+
self.ajax = false
|
|
20
|
+
self.generated = false
|
|
21
|
+
self.force = false
|
|
22
|
+
|
|
23
|
+
# arrays
|
|
24
|
+
self.attributes = []
|
|
25
|
+
self.associations = []
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def attribute
|
|
29
|
+
attr = OpenStruct.new
|
|
30
|
+
yield( attr ) if block_given?
|
|
31
|
+
self.attributes << attr
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def generate
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
module MDWA
|
|
2
|
+
module Generators
|
|
3
|
+
|
|
4
|
+
class ModelAssociation
|
|
5
|
+
|
|
6
|
+
attr_accessor :model1, :model2, :relation
|
|
7
|
+
|
|
8
|
+
ACCEPTED_RELATIONS = [:has_many, :belongs_to, :has_and_belongs_to_many, :nested_many, :nested_one, :has_one]
|
|
9
|
+
|
|
10
|
+
def initialize(model1_name, model2_name, relation_name)
|
|
11
|
+
|
|
12
|
+
self.model1 = model1_name
|
|
13
|
+
self.model2 = model2_name
|
|
14
|
+
self.relation = relation_name
|
|
15
|
+
|
|
16
|
+
# validation
|
|
17
|
+
raise "Invalid model name: #{@model1.name}" unless self.model1.valid?
|
|
18
|
+
raise "Invalid model name: #{@model2.name}" unless self.model2.valid?
|
|
19
|
+
raise "Invalid relation type: #{@relation}" unless relation_valid?
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def model1=(value)
|
|
23
|
+
if value.is_a? String
|
|
24
|
+
@model1 = Generators::Model.new( value )
|
|
25
|
+
elsif value.is_a? Generators::Model
|
|
26
|
+
@model1 = value
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def model2=(value)
|
|
31
|
+
if value.is_a? String
|
|
32
|
+
@model2 = Generators::Model.new( value )
|
|
33
|
+
elsif value.is_a? Generators::Model
|
|
34
|
+
@model2 = value
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def relation_valid?
|
|
39
|
+
ACCEPTED_RELATIONS.include? relation.to_sym
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def ordered
|
|
43
|
+
[@model1, @model2].sort! {|a,b| a.plural_name <=> b.plural_name}
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def belongs_to?
|
|
47
|
+
return (relation == 'belongs_to')
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def has_many?
|
|
51
|
+
return (relation == 'has_many')
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def nested_many?
|
|
55
|
+
return (relation == 'nested_many')
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def nested?
|
|
59
|
+
nested_many? || nested_one?
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def nested_one?
|
|
63
|
+
return (relation == 'nested_one')
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def has_one?
|
|
67
|
+
return (relation == 'has_one')
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def has_and_belongs_to_many?
|
|
71
|
+
return (relation == 'has_and_belongs_and_to_many')
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
end
|
|
77
|
+
end
|