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.
Files changed (170) hide show
  1. data/{lib/generators/mdd/.DS_Store → .DS_Store} +0 -0
  2. data/README.md +1 -1
  3. data/Rakefile +8 -0
  4. data/app/helpers/{mdd_helper.rb → mdwa_helper.rb} +1 -1
  5. data/lib/{generators/mdd/association/templates/.DS_Store → .DS_Store} +0 -0
  6. data/lib/generators/{mdd/sandbox/templates/app/assets/images → mdwa}/.DS_Store +0 -0
  7. data/lib/generators/{mdd → mdwa}/association/USAGE +5 -5
  8. data/lib/generators/mdwa/association/association_generator.rb +152 -0
  9. data/lib/generators/{mdd/sandbox/templates/app/assets/javascripts → mdwa/association/templates}/.DS_Store +0 -0
  10. data/lib/generators/{mdd → mdwa}/association/templates/migrate/many_to_many.rb +0 -0
  11. data/lib/generators/{mdd → mdwa}/association/templates/migrate/one_field.rb +0 -0
  12. data/lib/generators/{mdd → mdwa}/sandbox/USAGE +1 -1
  13. data/lib/generators/{mdd → mdwa}/sandbox/sandbox_generator.rb +5 -4
  14. data/lib/generators/{mdd/sandbox/templates/app/assets/javascripts/mdwa → mdwa/sandbox/templates/app/assets/images}/.DS_Store +0 -0
  15. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/ajax-loader.gif +0 -0
  16. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/backend_bg.png +0 -0
  17. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/barra-16.gif +0 -0
  18. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/bg_ip.png +0 -0
  19. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/bg_left.jpg +0 -0
  20. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/bg_window_header.png +0 -0
  21. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/bt_g.png +0 -0
  22. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/button_submit.gif +0 -0
  23. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/fancybox_loading.gif +0 -0
  24. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/fancybox_sprite.png +0 -0
  25. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/headerbg.png +0 -0
  26. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/add.png +0 -0
  27. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/delete.png +0 -0
  28. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/dropdown.png +0 -0
  29. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/edit.png +0 -0
  30. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/lupa.png +0 -0
  31. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/icons/remove-icon.png +0 -0
  32. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  33. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  34. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_flat_10_000000_40x100.png +0 -0
  35. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  36. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  37. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  38. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  39. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  40. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  41. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_222222_256x240.png +0 -0
  42. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_228ef1_256x240.png +0 -0
  43. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ef8c08_256x240.png +0 -0
  44. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ffd27a_256x240.png +0 -0
  45. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  46. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/images/mdwa/notice_close.png +0 -0
  47. data/lib/generators/{mdd/sandbox/templates/app/assets/stylesheets → mdwa/sandbox/templates/app/assets/javascripts}/.DS_Store +0 -0
  48. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery-ui.js +0 -0
  49. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.bgiframe.js +0 -0
  50. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.easing.js +0 -0
  51. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.fancybox.js +0 -0
  52. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.hover_intent.js +0 -0
  53. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.mousewheel.js +0 -0
  54. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.popup_window.js +0 -0
  55. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/jquery/jquery.validate.js +0 -0
  56. data/lib/generators/{mdd/sandbox/templates/app/assets/stylesheets/jquery → mdwa/sandbox/templates/app/assets/javascripts/mdwa}/.DS_Store +0 -0
  57. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/login_manifest.js +0 -0
  58. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/public_manifest.js +0 -0
  59. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/system_manifest.js +0 -0
  60. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/template/ajaxloader.js +0 -0
  61. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/template/all_pages.js +0 -0
  62. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/template/clicable_title.js +0 -0
  63. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/javascripts/mdwa/template/pagination.js +0 -0
  64. data/lib/generators/{mdd/sandbox/templates/app/assets/stylesheets/mdwa → mdwa/sandbox/templates/app/assets/stylesheets}/.DS_Store +0 -0
  65. data/lib/generators/{mdd/sandbox/templates/app/assets/stylesheets/mdwa/template → mdwa/sandbox/templates/app/assets/stylesheets/jquery}/.DS_Store +0 -0
  66. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/jquery/jquery-ui-theme1.css +0 -0
  67. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/jquery/jquery.fancybox.css +0 -0
  68. data/lib/generators/{mdd/sandbox/templates/db/seeds → mdwa/sandbox/templates/app/assets/stylesheets/mdwa}/.DS_Store +0 -0
  69. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/login/login.css +0 -0
  70. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/login_manifest.css +0 -0
  71. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/public_manifest.css +0 -0
  72. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/system_manifest.css +0 -0
  73. data/lib/generators/{mdd/scaffold/templates → mdwa/sandbox/templates/app/assets/stylesheets/mdwa/template}/.DS_Store +0 -0
  74. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/backend.css.erb +0 -0
  75. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/cssbase.css +0 -0
  76. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/grid.css +0 -0
  77. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/leftbar.css.erb +0 -0
  78. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/reset.css +0 -0
  79. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/assets/stylesheets/mdwa/template/template.css.erb +0 -0
  80. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/administrators_controller.rb +2 -0
  81. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/backend_controller.rb +0 -0
  82. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/home_controller.rb +0 -0
  83. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/users/passwords_controller.rb +0 -0
  84. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/a/users/sessions_controller.rb +0 -0
  85. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/controllers/public_controller.rb +0 -0
  86. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/models/ability.rb +0 -0
  87. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/models/administrator.rb +0 -0
  88. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/models/permission.rb +0 -0
  89. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/models/user.rb +0 -0
  90. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/_administrators.html.erb +0 -0
  91. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/_form.html.erb +0 -0
  92. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/edit.html.erb +0 -0
  93. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/index.html.erb +0 -0
  94. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/administrators/new.html.erb +0 -0
  95. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/home/index.html.erb +0 -0
  96. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/_welcome.html.erb +0 -0
  97. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/confirmations/new.html.erb +0 -0
  98. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/mailer/confirmation_instructions.html.erb +0 -0
  99. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/mailer/reset_password_instructions.html.erb +0 -0
  100. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/mailer/unlock_instructions.html.erb +0 -0
  101. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/passwords/edit.html.erb +0 -0
  102. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/passwords/new.html.erb +0 -0
  103. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/registrations/edit.html.erb +0 -0
  104. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/registrations/new.html.erb +0 -0
  105. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/sessions/new.html.erb +0 -0
  106. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/shared/_links.erb +0 -0
  107. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/a/users/unlocks/new.html.erb +0 -0
  108. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/layouts/login.html.erb +0 -0
  109. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/layouts/public.html.erb +0 -0
  110. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/layouts/system.html.erb +0 -0
  111. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/public/index.html.erb +0 -0
  112. data/lib/generators/{mdd → mdwa}/sandbox/templates/app/views/template/_leftbar.html.erb +0 -0
  113. data/lib/generators/{mdd → mdwa}/sandbox/templates/config/initializers/devise.rb +0 -0
  114. data/lib/generators/{mdd/sandbox/templates/config/initializers/mdd_inflections.rb → mdwa/sandbox/templates/config/initializers/mdwa_inflections.rb} +0 -0
  115. data/lib/generators/mdwa/sandbox/templates/config/initializers/mdwa_layout.rb +8 -0
  116. data/lib/generators/{mdd → mdwa}/sandbox/templates/config/initializers/will_paginate.rb +0 -0
  117. data/lib/generators/{mdd → mdwa}/sandbox/templates/config/locales/devise.en.yml +0 -0
  118. data/lib/generators/{mdd → mdwa}/sandbox/templates/config/locales/mdwa.en.yml +2 -0
  119. data/lib/generators/mdwa/sandbox/templates/config/locales/mdwa_model_specific.en.yml +0 -0
  120. data/lib/generators/{mdd → mdwa}/sandbox/templates/db/migrate/create_permissions.rb +0 -0
  121. data/lib/generators/{mdd → mdwa}/sandbox/templates/db/migrate/create_user_permissions.rb +0 -0
  122. data/lib/generators/{mdd → mdwa}/sandbox/templates/db/migrate/devise_create_users.rb +0 -0
  123. data/lib/generators/{mdd → mdwa}/sandbox/templates/db/seeds.rb +0 -0
  124. data/lib/generators/{mdd/scaffold/templates/db_migrate → mdwa/sandbox/templates/db/seeds}/.DS_Store +0 -0
  125. data/lib/generators/{mdd → mdwa}/sandbox/templates/db/seeds/site.rb +0 -0
  126. data/lib/generators/{mdd → mdwa}/scaffold/USAGE +10 -10
  127. data/lib/generators/{mdd → mdwa}/scaffold/scaffold_generator.rb +11 -12
  128. data/lib/{mdd → generators/mdwa/scaffold/templates}/.DS_Store +0 -0
  129. data/lib/generators/{mdd → mdwa}/scaffold/templates/controllers/ajax_controller.rb +0 -0
  130. data/lib/generators/{mdd → mdwa}/scaffold/templates/controllers/controller.rb +0 -0
  131. data/lib/generators/mdwa/scaffold/templates/db_migrate/.DS_Store +0 -0
  132. data/lib/generators/{mdd → mdwa}/scaffold/templates/db_migrate/migrate.rb +0 -0
  133. data/lib/generators/{mdd → mdwa}/scaffold/templates/models/model.rb +0 -0
  134. data/lib/generators/{mdd → mdwa}/scaffold/templates/models/module.rb +0 -0
  135. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/_form.html.erb +0 -0
  136. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/_form_fields.html.erb +0 -0
  137. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/_list.html.erb +0 -0
  138. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/create.js.erb +0 -0
  139. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/destroy.js.erb +0 -0
  140. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/edit.html.erb +0 -0
  141. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/index.html.erb +0 -0
  142. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/index.js.erb +0 -0
  143. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/new.html.erb +0 -0
  144. data/lib/generators/{mdd → mdwa}/scaffold/templates/views/show.html.erb +0 -0
  145. data/lib/mdd.rb +4 -19
  146. data/lib/mdwa.rb +6 -0
  147. data/lib/mdwa/.DS_Store +0 -0
  148. data/lib/mdwa/all.rb +5 -0
  149. data/lib/mdwa/dsl.rb +9 -0
  150. data/lib/mdwa/dsl/.DS_Store +0 -0
  151. data/lib/mdwa/dsl/entities.rb +45 -0
  152. data/lib/mdwa/dsl/entity.rb +41 -0
  153. data/lib/mdwa/generators.rb +10 -0
  154. data/lib/mdwa/generators/.DS_Store +0 -0
  155. data/lib/{mdd → mdwa}/generators/model.rb +2 -1
  156. data/lib/mdwa/generators/model_association.rb +77 -0
  157. data/lib/{mdd → mdwa}/generators/model_attribute.rb +4 -6
  158. data/lib/mdwa/layout.rb +18 -0
  159. data/lib/mdwa/layout/.DS_Store +0 -0
  160. data/lib/{mdd → mdwa}/layout/base.rb +3 -1
  161. data/lib/{mdd → mdwa}/layout/helper.rb +5 -2
  162. data/lib/mdwa/version.rb +4 -0
  163. data/mdd.gemspec +3 -2
  164. data/test/entity_test.rb +67 -0
  165. data/test/generators_test.rb +0 -0
  166. data/test/layout_test.rb +59 -0
  167. metadata +184 -148
  168. data/lib/generators/mdd/association/association_generator.rb +0 -157
  169. data/lib/generators/mdd/sandbox/templates/config/initializers/mdd_layout.rb +0 -7
  170. data/lib/mdd/version.rb +0 -3
@@ -0,0 +1,8 @@
1
+ require 'mdwa/layout'
2
+ MDWA::Layout::Base.config do |config|
3
+ config['/*'] = 'public'
4
+ config['/a/*'] = 'system'
5
+ config['/a/users/passwords#*'] = 'system'
6
+ config['/a/users/sessions#new'] = 'login'
7
+ config['/a/users/sessions#create'] = 'login'
8
+ end
@@ -12,6 +12,8 @@ en:
12
12
  logged_info_edit_account: "My Account"
13
13
  cancel_button: "Cancel"
14
14
  index_id: "ID"
15
+ index_edit: "Edit"
16
+ index_edit_label: "Edit"
15
17
  index_remove: "Remove"
16
18
  index_remove_label: "Remove"
17
19
  index_confirm_deletion: "Are you sure?"
@@ -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 mdd:scaffold Product name:string initial_date:date category_id:category:name:belongs
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 mdd:scaffold Category name:string products:product:name:has_many
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 mdd:scaffold Product name:string category:category:name:nested_many
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 mdd:scaffold Company name:string address:address:name:nested_one
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 mdd:scaffold User name:string projects:projects:name:has_and_belongs_to_many
42
- rails generate mdd:scaffold Project name:string users:user:name:has_and_belongs_to_many
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 mdd:scaffold Product name:string product_price:productPrice:name:has_one
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 mdd:scaffold a/groups name:string --model=group
64
- rails g mdd:scaffold a/projects name:string group:a/group:name:belongs_to
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 mdd:scaffold a/projects name:string group:a/group,group:name:belongs_to
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 Mdd
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 destination, :after => "en:\n" do
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 "mdd:association #{@model.raw} #{attr.reference_type} #{attr.type.raw} #{'--skip_migrations' if options.skip_migrations} #{'--force' if options.force} --skip_rake_migrate --ask"
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
- end
145
+ end
148
146
 
147
+ end
149
148
  end
data/lib/mdd.rb CHANGED
@@ -1,23 +1,8 @@
1
- require "mdd/version"
1
+ # -*- encoding : utf-8 -*-
2
+ require 'rails/engine'
2
3
 
3
- module Mdd
4
- class Mdd < Rails::Engine
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
@@ -0,0 +1,6 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require "mdwa/version"
3
+
4
+ module MDWA
5
+
6
+ end
Binary file
@@ -0,0 +1,5 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ require 'mdwa/dsl'
4
+ require 'mdwa/generators'
5
+ require 'mdwa/layout'
@@ -0,0 +1,9 @@
1
+ # -*- encoding : utf-8 -*-
2
+ module MDWA
3
+ module DSL
4
+
5
+ autoload :Entities, 'mdwa/dsl/entities'
6
+ autoload :Entity, 'mdwa/dsl/entity'
7
+
8
+ end
9
+ end
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
@@ -0,0 +1,10 @@
1
+ # -*- encoding : utf-8 -*-
2
+ module MDWA
3
+
4
+ module Generators
5
+ autoload :Model, 'mdwa/generators/model'
6
+ autoload :ModelAttribute, 'mdwa/generators/model_attribute'
7
+ autoload :ModelAssociation, 'mdwa/generators/model_association'
8
+ end
9
+
10
+ end
@@ -1,4 +1,5 @@
1
- module Mdd
1
+ # -*- encoding : utf-8 -*-
2
+ module MDWA
2
3
  module Generators
3
4
  class Model
4
5
 
@@ -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