hobo 1.1.0 → 1.3.0.RC

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. data/CHANGES.txt +238 -287
  2. data/Rakefile +14 -31
  3. data/VERSION +1 -0
  4. data/{lib/hobo → app/controllers}/dev_controller.rb +6 -6
  5. data/app/controllers/dryml_support_controller.rb +13 -0
  6. data/{rails_generators/hobo_front_controller/templates → app/views/dev}/summary.dryml +7 -10
  7. data/bin/hobo +12 -144
  8. data/config/initializers/inflections.rb +3 -0
  9. data/config/routes.rb +6 -0
  10. data/{doctest → doctests}/hobo/lifecycles.rdoctest +40 -59
  11. data/{doctest → doctests/hobo}/model.rdoctest +33 -40
  12. data/{doctest → doctests/hobo}/multi_model_forms.rdoctest +15 -19
  13. data/{doctest → doctests/hobo}/scopes.rdoctest +27 -41
  14. data/doctests/prepare_testapp.rb +8 -0
  15. data/hobo.gemspec +26 -199
  16. data/lib/generators/hobo/activation_email.rb +11 -0
  17. data/lib/generators/hobo/admin_subsite/admin_subsite_generator.rb +35 -0
  18. data/lib/generators/hobo/admin_subsite/templates/admin.css +20 -0
  19. data/lib/generators/hobo/admin_subsite/templates/admin_tag_injection.erb +10 -0
  20. data/{rails_generators/hobo_admin_site → lib/generators/hobo/admin_subsite}/templates/application.dryml +0 -0
  21. data/{rails_generators/hobo_admin_site/templates/controller.rb → lib/generators/hobo/admin_subsite/templates/controller.rb.erb} +5 -5
  22. data/lib/generators/hobo/admin_subsite/templates/users_index.dryml +7 -0
  23. data/lib/generators/hobo/assets/assets_generator.rb +18 -0
  24. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/application.css +0 -0
  25. data/lib/generators/hobo/assets/templates/application.dryml.erb +9 -0
  26. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/dryml-support.js +2 -2
  27. data/lib/generators/hobo/assets/templates/dryml_taglibs_initializer.rb +1 -0
  28. data/lib/generators/hobo/assets/templates/en_injection.yml +19 -0
  29. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/guest.rb +1 -1
  30. data/lib/generators/hobo/controller.rb +35 -0
  31. data/lib/generators/hobo/controller/controller_generator.rb +6 -0
  32. data/lib/generators/hobo/controller/templates/controller.rb.erb +7 -0
  33. data/{rails_generators/hobo_front_controller → lib/generators/hobo/front_controller}/USAGE +0 -0
  34. data/lib/generators/hobo/front_controller/front_controller_generator.rb +55 -0
  35. data/{rails_generators/hobo_front_controller/templates/controller.rb → lib/generators/hobo/front_controller/templates/controller.rb.erb} +0 -0
  36. data/{rails_generators/hobo_front_controller → lib/generators/hobo/front_controller}/templates/index.dryml +6 -12
  37. data/lib/generators/hobo/i18n/i18n_generator.rb +35 -0
  38. data/lib/generators/hobo/i18n/templates/app.de.yml +30 -0
  39. data/lib/generators/hobo/i18n/templates/app.en.yml +25 -0
  40. data/lib/generators/hobo/i18n/templates/app.es.yml +31 -0
  41. data/lib/generators/hobo/i18n/templates/app.fr.yml +26 -0
  42. data/lib/generators/hobo/i18n/templates/app.it.yml +28 -0
  43. data/lib/generators/hobo/i18n/templates/app.pt-PT.yml +25 -0
  44. data/lib/generators/hobo/i18n/templates/app.ru.yml +24 -0
  45. data/lib/generators/hobo/i18n/templates/hobo.de.yml +204 -0
  46. data/lib/generators/hobo/i18n/templates/hobo.en.yml +195 -0
  47. data/lib/generators/hobo/i18n/templates/hobo.es.yml +202 -0
  48. data/lib/generators/hobo/i18n/templates/hobo.fr.yml +195 -0
  49. data/lib/generators/hobo/i18n/templates/hobo.it.yml +202 -0
  50. data/lib/generators/hobo/i18n/templates/hobo.pt-PT.yml +196 -0
  51. data/lib/generators/hobo/i18n/templates/hobo.ru.yml +200 -0
  52. data/lib/generators/hobo/invite_only.rb +18 -0
  53. data/lib/generators/hobo/model/USAGE +19 -0
  54. data/lib/generators/hobo/model/model_generator.rb +11 -0
  55. data/{rails_generators/hobo_model/templates/model.rb → lib/generators/hobo/model/templates/model_injection.rb.erb} +0 -2
  56. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/USAGE +0 -0
  57. data/lib/generators/hobo/rapid/rapid_generator.rb +24 -0
  58. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/IE7.js +0 -0
  59. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/blank.gif +0 -0
  60. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/hobo-rapid.css +0 -0
  61. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/hobo-rapid.js +65 -65
  62. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/ie7-recalc.js +21 -21
  63. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/lowpro.js +31 -31
  64. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/reset.css +1 -1
  65. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-ACD3E6-DBE1E5-H.png +0 -0
  66. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-DBE1E5-FCFEF5-H.png +0 -0
  67. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/300-3B5F87-ACD3E6-H.png +0 -0
  68. data/{rails_generators/hobo_rapid/templates/themes/clean → lib/generators/hobo/rapid/templates/themes/clean-sidemenu}/public/images/spinner.gif +0 -0
  69. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/stylesheets/clean-sidemenu.css +81 -0
  70. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/views/clean-sidemenu.dryml +30 -0
  71. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/101-3B5F87-ACD3E6.png +0 -0
  72. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/30-3E547A-242E42.png +0 -0
  73. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/30-DBE1E5-FCFEF5.png +0 -0
  74. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/300-ACD3E6-fff.png +0 -0
  75. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/50-ACD3E6-fff.png +0 -0
  76. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/fieldbg.gif +0 -0
  77. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/pencil.png +0 -0
  78. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/small_close.png +0 -0
  79. data/lib/generators/hobo/rapid/templates/themes/clean/public/images/spinner.gif +0 -0
  80. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/stylesheets/clean.css +16 -16
  81. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/stylesheets/rapid-ui.css +3 -3
  82. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/views/clean.dryml +1 -1
  83. data/lib/generators/hobo/resource/resource_generator.rb +23 -0
  84. data/lib/generators/hobo/routes/USAGE +9 -0
  85. data/lib/generators/hobo/routes/router.rb +115 -0
  86. data/lib/generators/hobo/routes/routes_generator.rb +40 -0
  87. data/lib/generators/hobo/routes/templates/hobo_routes.rb.erb +33 -0
  88. data/lib/generators/hobo/setup_wizard/USAGE +4 -0
  89. data/lib/generators/hobo/setup_wizard/setup_wizard_generator.rb +274 -0
  90. data/lib/generators/hobo/subsite.rb +48 -0
  91. data/lib/generators/hobo/subsite/subsite_generator.rb +16 -0
  92. data/{rails_generators/hobo_subsite → lib/generators/hobo/subsite}/templates/application.dryml +0 -0
  93. data/{rails_generators/hobo_subsite/templates/controller.rb → lib/generators/hobo/subsite/templates/controller.rb.erb} +1 -1
  94. data/lib/generators/hobo/subsite_taglib/subsite_taglib_generator.rb +16 -0
  95. data/{rails_generators/hobo_admin_site/templates/site_taglib.dryml → lib/generators/hobo/subsite_taglib/templates/taglib.dryml.erb} +9 -10
  96. data/lib/generators/hobo/taglib.rb +12 -0
  97. data/lib/generators/hobo/test_framework/test_framework_generator.rb +72 -0
  98. data/lib/generators/hobo/test_options.rb +19 -0
  99. data/{rails_generators/hobo_user_controller → lib/generators/hobo/user_controller}/templates/accept_invitation.dryml +0 -0
  100. data/lib/generators/hobo/user_controller/templates/controller.rb.erb +31 -0
  101. data/lib/generators/hobo/user_controller/user_controller_generator.rb +25 -0
  102. data/lib/generators/hobo/user_mailer/templates/activation.erb +9 -0
  103. data/{rails_generators/hobo_user_model → lib/generators/hobo/user_mailer}/templates/forgot_password.erb +2 -2
  104. data/{rails_generators/hobo_user_model → lib/generators/hobo/user_mailer}/templates/invite.erb +2 -2
  105. data/lib/generators/hobo/user_mailer/templates/mailer.rb.erb +25 -0
  106. data/lib/generators/hobo/user_mailer/user_mailer_generator.rb +33 -0
  107. data/lib/generators/hobo/user_model/USAGE +12 -0
  108. data/{rails_generators/hobo_user_model/templates/model.rb → lib/generators/hobo/user_model/templates/model_injection.rb.erb} +40 -20
  109. data/lib/generators/hobo/user_model/user_model_generator.rb +23 -0
  110. data/lib/generators/hobo/user_resource/user_resource_generator.rb +27 -0
  111. data/lib/hobo.rb +29 -129
  112. data/lib/hobo/controller.rb +37 -47
  113. data/lib/hobo/controller/authentication_support.rb +109 -0
  114. data/lib/hobo/{model_controller.rb → controller/model.rb} +71 -79
  115. data/lib/hobo/{user_controller.rb → controller/user.rb} +59 -49
  116. data/lib/hobo/engine.rb +80 -0
  117. data/lib/hobo/extensions/action_controller/hobo_methods.rb +44 -0
  118. data/lib/hobo/extensions/action_mailer/helper.rb +38 -0
  119. data/lib/{action_view_extensions/helpers → hobo/extensions/action_view}/tag_helper.rb +5 -2
  120. data/lib/hobo/extensions/action_view/translation_helper.rb +25 -0
  121. data/lib/hobo/extensions/active_model/name.rb +16 -0
  122. data/lib/hobo/extensions/active_model/translation.rb +35 -0
  123. data/lib/{active_record/association_collection.rb → hobo/extensions/active_record/associations/collection.rb} +8 -17
  124. data/lib/{active_record/association_proxy.rb → hobo/extensions/active_record/associations/proxy.rb} +6 -7
  125. data/lib/hobo/extensions/active_record/associations/reflection.rb +23 -0
  126. data/lib/hobo/extensions/active_record/associations/scope.rb +35 -0
  127. data/lib/hobo/extensions/active_record/hobo_methods.rb +11 -0
  128. data/lib/hobo/extensions/active_record/permissions.rb +159 -0
  129. data/lib/hobo/extensions/active_record/relation_with_origin.rb +28 -0
  130. data/lib/hobo/extensions/array.rb +27 -0
  131. data/lib/hobo/extensions/enumerable.rb +12 -0
  132. data/lib/hobo/extensions/i18n.rb +17 -0
  133. data/lib/hobo/{hobo_helper.rb → helper.rb} +58 -31
  134. data/lib/hobo/helper/translations.rb +54 -0
  135. data/lib/hobo/helper/translations/normalizer.rb +39 -0
  136. data/lib/hobo/model.rb +61 -95
  137. data/lib/hobo/model/accessible_associations.rb +178 -0
  138. data/lib/hobo/{find_for.rb → model/find_for.rb} +17 -17
  139. data/lib/hobo/model/guest.rb +25 -0
  140. data/lib/hobo/model/include_in_save.rb +55 -0
  141. data/lib/hobo/model/lifecycles.rb +119 -0
  142. data/lib/hobo/model/lifecycles/actions.rb +146 -0
  143. data/lib/hobo/model/lifecycles/creator.rb +74 -0
  144. data/lib/hobo/model/lifecycles/lifecycle.rb +243 -0
  145. data/lib/hobo/model/lifecycles/state.rb +22 -0
  146. data/lib/hobo/model/lifecycles/transition.rb +70 -0
  147. data/lib/hobo/model/permissions.rb +448 -0
  148. data/lib/hobo/model/scopes.rb +38 -0
  149. data/lib/hobo/model/scopes/apply_scopes.rb +21 -0
  150. data/lib/hobo/model/scopes/automatic_scopes.rb +428 -0
  151. data/lib/hobo/model/user_base.rb +184 -0
  152. data/lib/hobo/model/view_hints.rb +123 -0
  153. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/cards.dryml.erb +2 -2
  154. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/forms.dryml.erb +3 -3
  155. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/pages.dryml.erb +38 -51
  156. data/lib/hobo/rapid/helper.rb +166 -0
  157. data/{taglibs → lib/hobo/rapid/taglibs}/rapid.dryml +6 -5
  158. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_core.dryml +286 -118
  159. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_document_tags.dryml +2 -2
  160. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_editing.dryml +45 -45
  161. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_forms.dryml +190 -158
  162. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_generics.dryml +12 -9
  163. data/lib/hobo/rapid/taglibs/rapid_i18n.dryml +107 -0
  164. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_lifecycles.dryml +7 -7
  165. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_navigation.dryml +15 -15
  166. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_pages.dryml +37 -36
  167. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_plus.dryml +107 -43
  168. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_summary.dryml +28 -57
  169. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_support.dryml +9 -9
  170. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_user_pages.dryml +41 -40
  171. data/lib/hobo/routes.rb +31 -0
  172. data/{doctest → test/doctest}/hobo/hobo_helper.rdoctest +11 -11
  173. data/test/irt/generators/admin_subsite.irt +27 -0
  174. data/test/irt/generators/assets.irt +16 -0
  175. data/test/irt/generators/controller.irt +6 -0
  176. data/test/irt/generators/front_controller.irt +30 -0
  177. data/test/irt/generators/helper.rb +31 -0
  178. data/test/irt/generators/model.irt +28 -0
  179. data/test/irt/generators/partials/_account_user_model_tests.rb +21 -0
  180. data/test/irt/generators/partials/_accounts_users_controller_tests.rb +15 -0
  181. data/test/irt/generators/partials/_default_user_model_tests.rb +21 -0
  182. data/test/irt/generators/partials/_default_users_controller_tests.rb +16 -0
  183. data/test/irt/generators/partials/_house_controller_tests.rb +15 -0
  184. data/test/irt/generators/partials/_house_model_tests.rb +18 -0
  185. data/test/irt/generators/partials/_subsite_taglib_admin.rb +4 -0
  186. data/test/irt/generators/partials/_subsite_taglib_admin_invite_only.rb +3 -0
  187. data/test/irt/generators/partials/_subsite_taglib_noopt.rb +4 -0
  188. data/test/irt/generators/partials/_subsite_taglib_variables.rb +27 -0
  189. data/test/irt/generators/partials/_user_mailer_tests.rb +19 -0
  190. data/test/irt/generators/rapid.irt +29 -0
  191. data/test/irt/generators/resource.irt +8 -0
  192. data/test/irt/generators/subsite.irt +52 -0
  193. data/test/irt/generators/subsite_taglib.irt +23 -0
  194. data/test/irt/generators/test_framework.irt +62 -0
  195. data/test/irt/generators/user_controller.irt +10 -0
  196. data/test/irt/generators/user_mailer.irt +20 -0
  197. data/test/irt/generators/user_model.irt +10 -0
  198. data/test/irt/generators/user_resource.irt +14 -0
  199. data/test/irt/readme.txt +7 -0
  200. data/test/permissions/models/models.rb +27 -24
  201. data/test/permissions/test_permissions.rb +104 -104
  202. metadata +239 -217
  203. data/lib/active_record/association_reflection.rb +0 -20
  204. data/lib/active_record/viewhints_validations_interceptor.rb +0 -9
  205. data/lib/hobo/accessible_associations.rb +0 -183
  206. data/lib/hobo/authentication_support.rb +0 -131
  207. data/lib/hobo/generator.rb +0 -26
  208. data/lib/hobo/guest.rb +0 -25
  209. data/lib/hobo/include_in_save.rb +0 -55
  210. data/lib/hobo/lifecycles.rb +0 -137
  211. data/lib/hobo/lifecycles/actions.rb +0 -142
  212. data/lib/hobo/lifecycles/creator.rb +0 -72
  213. data/lib/hobo/lifecycles/lifecycle.rb +0 -249
  214. data/lib/hobo/lifecycles/state.rb +0 -22
  215. data/lib/hobo/lifecycles/transition.rb +0 -70
  216. data/lib/hobo/model_router.rb +0 -290
  217. data/lib/hobo/permissions.rb +0 -451
  218. data/lib/hobo/permissions/associations.rb +0 -175
  219. data/lib/hobo/rapid_helper.rb +0 -157
  220. data/lib/hobo/scopes.rb +0 -43
  221. data/lib/hobo/scopes/apply_scopes.rb +0 -23
  222. data/lib/hobo/scopes/association_proxy_extensions.rb +0 -62
  223. data/lib/hobo/scopes/automatic_scopes.rb +0 -421
  224. data/lib/hobo/scopes/named_scope_extensions.rb +0 -39
  225. data/lib/hobo/tasks/rails.rb +0 -4
  226. data/lib/hobo/translations.rb +0 -93
  227. data/lib/hobo/undefined_access_error.rb +0 -5
  228. data/lib/hobo/user.rb +0 -182
  229. data/lib/hobo/view_hints.rb +0 -115
  230. data/rails/init.rb +0 -10
  231. data/rails_generators/hobo/USAGE +0 -4
  232. data/rails_generators/hobo/hobo_generator.rb +0 -53
  233. data/rails_generators/hobo/templates/application.dryml +0 -1
  234. data/rails_generators/hobo/templates/initializer.rb +0 -2
  235. data/rails_generators/hobo_admin_site/USAGE +0 -16
  236. data/rails_generators/hobo_admin_site/hobo_admin_site_generator.rb +0 -45
  237. data/rails_generators/hobo_admin_site/templates/admin.css +0 -2
  238. data/rails_generators/hobo_admin_site/templates/users_index.dryml +0 -5
  239. data/rails_generators/hobo_front_controller/hobo_front_controller_generator.rb +0 -95
  240. data/rails_generators/hobo_front_controller/templates/functional_test.rb +0 -8
  241. data/rails_generators/hobo_front_controller/templates/helper.rb +0 -2
  242. data/rails_generators/hobo_model/USAGE +0 -25
  243. data/rails_generators/hobo_model/hobo_model_generator.rb +0 -43
  244. data/rails_generators/hobo_model/templates/fixtures.yml +0 -6
  245. data/rails_generators/hobo_model/templates/hints.rb +0 -7
  246. data/rails_generators/hobo_model/templates/unit_test.rb +0 -8
  247. data/rails_generators/hobo_model_controller/USAGE +0 -30
  248. data/rails_generators/hobo_model_controller/hobo_model_controller_generator.rb +0 -46
  249. data/rails_generators/hobo_model_controller/templates/controller.rb +0 -7
  250. data/rails_generators/hobo_model_controller/templates/functional_test.rb +0 -8
  251. data/rails_generators/hobo_model_controller/templates/helper.rb +0 -2
  252. data/rails_generators/hobo_model_resource/USAGE +0 -38
  253. data/rails_generators/hobo_model_resource/hobo_model_resource_generator.rb +0 -73
  254. data/rails_generators/hobo_model_resource/templates/controller.rb +0 -7
  255. data/rails_generators/hobo_model_resource/templates/functional_test.rb +0 -8
  256. data/rails_generators/hobo_model_resource/templates/helper.rb +0 -2
  257. data/rails_generators/hobo_rapid/hobo_rapid_generator.rb +0 -94
  258. data/rails_generators/hobo_subsite/USAGE +0 -16
  259. data/rails_generators/hobo_subsite/hobo_subsite_generator.rb +0 -73
  260. data/rails_generators/hobo_subsite/templates/site_taglib.dryml +0 -13
  261. data/rails_generators/hobo_user_controller/USAGE +0 -34
  262. data/rails_generators/hobo_user_controller/hobo_user_controller_generator.rb +0 -65
  263. data/rails_generators/hobo_user_controller/templates/controller.rb +0 -29
  264. data/rails_generators/hobo_user_controller/templates/functional_test.rb +0 -8
  265. data/rails_generators/hobo_user_controller/templates/helper.rb +0 -2
  266. data/rails_generators/hobo_user_model/USAGE +0 -16
  267. data/rails_generators/hobo_user_model/hobo_user_model_generator.rb +0 -46
  268. data/rails_generators/hobo_user_model/templates/fixtures.yml +0 -19
  269. data/rails_generators/hobo_user_model/templates/mailer.rb +0 -29
  270. data/rails_generators/hobo_user_model/templates/unit_test.rb +0 -8
  271. data/script/destroy +0 -14
  272. data/script/generate +0 -14
  273. data/taglibs/rapid_translations.dryml +0 -36
  274. data/tasks/environments.rake +0 -19
  275. data/tasks/hobo_tasks.rake +0 -58
  276. data/test/generators/test_generator_helper.rb +0 -29
  277. data/test/generators/test_helper.rb +0 -1
  278. data/test/generators/test_hobo_model_controller_generator.rb +0 -56
@@ -0,0 +1,196 @@
1
+ # Hobo internals translation file for Portuguese (Portugal).
2
+ # Translated by Tiago Franco (gama.franco@gmail.com)
3
+
4
+ # It might be ok also for Brazil. If you find any error or if you have any more specific translation,
5
+ # please post it to http://hobousers.googlegroups.com. Thank you!
6
+
7
+ "pt-PT":
8
+
9
+ hobo:
10
+ # default hobo pages translations
11
+ index:
12
+ # if you uncomment the following you will loose the automatic selection of dinamically pluralized nav-tabs
13
+ # if you need a different title you should implement a different way to select the tab on your own
14
+ #title: "%{model} Índice"
15
+ heading: "%{model} Índice"
16
+
17
+ new:
18
+ title: "Novo %{model}"
19
+ heading: "Novo %{model}"
20
+
21
+ show:
22
+ title: "%{model}"
23
+ heading: "%{model} %{name}"
24
+ back_link: "Voltar"
25
+ edit_link: "Editar %{model}"
26
+ new_link: "Novo %{model}"
27
+ add_form_heading: "Adicionar %{model}"
28
+
29
+ edit:
30
+ title: "Editar %{model}"
31
+ heading: "Editar %{model}"
32
+
33
+
34
+ index_for_owner:
35
+ title: "%{model} para"
36
+ # be aware that you will loose the automatic Your <collection> / Jom's <collection>
37
+ # default output for User models
38
+ # you better define the heading.* in the specific collection namespace
39
+ #heading:
40
+ subheading: "Para:"
41
+
42
+ new_for_owner:
43
+ title: "Novo %{model} para"
44
+ heading: "Novo %{model}"
45
+ subheading: "Para:"
46
+
47
+ login:
48
+ title: "Login"
49
+ heading: "Login"
50
+ email_address: &email_address "E-mail"
51
+ name: "Name"
52
+ password: "Palavra-chave"
53
+ remember_me: "Gravar Login"
54
+ login: "Login"
55
+ signup: "Resgistar"
56
+ forgot_password: &forgot_password "Esqueceu-se da senha?"
57
+
58
+ signup:
59
+ title: "Registar"
60
+ heading: "Registar-se como novo utilizador"
61
+
62
+
63
+ forgot_password:
64
+ title: *forgot_password
65
+ heading: *forgot_password
66
+ text: "Introduza o seu endereço de e-mail, o mesmo com que se registou. Vamos enviar uma mensagem para recuperar a palavra-chave."
67
+ email: "E-mail"
68
+ send: "Enviar"
69
+
70
+ forgot_password_sent:
71
+ title: "Recuperação da palavra-chave - e-mail enviado"
72
+ heading: "Recuperação da palavra-chave - e-mail enviado"
73
+ text: "Foi enviada uma mensagem para %{email_address} com as instruções de como gerar uma nova palavra-chave. Se não o receber, por favor verifique o filtro de SPAM."
74
+
75
+ account_disabled:
76
+ title: "Conta não encontrada"
77
+ heading: "Conta não encontrada"
78
+ text: "A sua conta não se encontra activa neste momento."
79
+
80
+ # default hobo action translation
81
+ # The action with added model variable are new, create, delete, save,
82
+ # edit and back_to_parent
83
+ actions:
84
+ new: "Novo %{model}"
85
+ create: "Criar %{model}"
86
+ previous: "Anterior"
87
+ next: "Seguinte"
88
+ add: "Adicionar"
89
+ show_all: "Mostrar tudo %{model}..."
90
+ delete: "Apagar %{model}"
91
+ save: "Gravar %{model}"
92
+ cancel: "Cancelar"
93
+ edit: "Editar %{model}"
94
+ edit_control: "Editar"
95
+ back: "Voltar para"
96
+ back_to_parent: "Voltar para %{parent} %{name}"
97
+ send: "Enviar"
98
+ remove: "Remover"
99
+ signup: "Registar"
100
+ login: "Login"
101
+ logout: "Sair"
102
+ logged_in_as: "Identificado como %{name}"
103
+ account: "Conta"
104
+ save_account: "Gravar os seus dados"
105
+
106
+ # default hobo message translation
107
+ messages:
108
+ create:
109
+ success: "O %{model} foi criado com sucesso"
110
+ error: "Não foi possível criar %{model}.\n%{errors}"
111
+ creator:
112
+ error: "Não foi possível criar %{name}.\n%{errors}"
113
+ transition:
114
+ error: "Não foi possível efectuar a transição %{name}.\n%{errors}"
115
+ update:
116
+ no_attribute_error: "Não foi espicificada alteração nos parâmetros"
117
+ success: "As alterações a %{model} foram gravadas"
118
+ error: "Ocorreu um erro com a alteração.\n%{errors}"
119
+ destroy:
120
+ success: "O %{model} foi removido"
121
+ signup:
122
+ success: "Obrigado por efectuar o registo!"
123
+ must_activate: "Deve ativar o seu registo antes de se identificar. Por favor, verifique na sua caixa de correio electrônico."
124
+ login:
125
+ success: "Está identificado no sistema."
126
+ error: "Não especificou um utilizador válido ({{login}}) e respectiva palavra-chave!"
127
+ logout: "Saiu do sistema."
128
+ reset_password: "A sua palavra-chave foi apagada."
129
+ permission_denied: "Sem autorização!"
130
+ not_found: "A página solicitada não foi encontrada"
131
+ unauthenticated: "Não foi possível indentificá-lo(a)."
132
+ validate_password: "tem que ter pelo menos 6 caracteres, letras maiúsculas e minúsculas"
133
+ current_password_is_not_correct: "não está correta."
134
+ you_are_site_admin: "Agora é o administrador do site"
135
+ you_signed_up: "Acabou de se registar"
136
+ none: "Nenhum #{model} disponível."
137
+ confirm: "Tem a certeza?"
138
+
139
+ # default hobo collection translation
140
+ collection:
141
+ count: &collection_count
142
+ zero: &no_model "Não há %{model}"
143
+ one: "Só existe um(a) #{model} do momento"
144
+ other: "Já existem %{count} %{model}"
145
+ # you can use the following to completely override the collection heading
146
+ # be aware that you will loose the automatic Your <collection> / Jom's <collection>
147
+ # default output for User models
148
+ # you better define the heading.* in the specific collection namespace
149
+ #heading:
150
+ add_form_heading: "Adicionar %{model}"
151
+ empty_message: "Não existem registos para mostrar"
152
+
153
+ # default hobo form translation
154
+ form:
155
+ new:
156
+ heading: "Novo %{model}"
157
+ error:
158
+ heading: "Ocorreu o seguinte erro:"
159
+ select_many:
160
+ prompt: "Adicionar %{model}"
161
+
162
+ # hobo support
163
+ support:
164
+ or: "ou"
165
+ a: "um"
166
+ an: "um"
167
+
168
+ table_plus:
169
+ search: "Pesquisar"
170
+ submit_label: "Ir"
171
+
172
+ live_search:
173
+ label: "Pesquisar"
174
+ results_label: "Resultados da pesquisa"
175
+ close_button: "fechar"
176
+ no_results: "A pesquisa não retornou resultados."
177
+
178
+ dev_user_changer:
179
+ guest: "Visitante"
180
+
181
+ admin:
182
+ subsite_name: "Administração"
183
+ invite_new_user: "Convidar Novo Utilizador"
184
+
185
+ subsite:
186
+ back_link: "Sítio Principal"
187
+
188
+ boolean_yes: "Sim"
189
+ boolean_no: "Não"
190
+ password_hidden: "[palavra-chave]"
191
+
192
+ in_place_editor:
193
+ click_to_edit: "(clique para editar)"
194
+
195
+ select_one_editor:
196
+ blank_message: *no_model
@@ -0,0 +1,200 @@
1
+ # Hobo internals translation file for Russian
2
+ # Based on russian translations by Nick Gorbikoff
3
+ # https://github.com/konung/hobo-i18n-locales
4
+ # Adapted by Paul Shepel (http://github.com/tacid)
5
+ #
6
+ # If you find any error, please post it to http://hobousers.googlegroups.com.
7
+ # Thank you!
8
+ ru:
9
+ hobo:
10
+ # default hobo pages translations
11
+ index:
12
+ # if you uncomment the following you will loose the automatic selection of dinamically pluralized nav-tabs
13
+ # if you need a different title you should implement a different way to select the tab on your own
14
+ #title: "%{model} Index"
15
+ heading: "Список %{model}"
16
+
17
+ new:
18
+ title: "Создать %{model}"
19
+ heading: "Создать %{model}"
20
+
21
+ show:
22
+ title: "%{model}"
23
+ heading: "%{model} %{name}"
24
+ back_link: "Назад"
25
+ edit_link: "Изменить %{model}"
26
+ new_link: "Создать %{model}"
27
+ add_form_heading: "Добавить %{model}"
28
+
29
+ edit:
30
+ title: "Изменить %{model}"
31
+ heading: "Изменить %{model}"
32
+
33
+ index_for_owner:
34
+ title: "%{model} для"
35
+ # be aware that you will loose the automatic Your <collection> / Jom's <collection>
36
+ # default output for User models
37
+ # you better define the heading.* in the specific collection namespace
38
+ #heading:
39
+ subheading: "Для:"
40
+
41
+ new_for_owner:
42
+ title: "Создать %{model} для"
43
+ heading: "Создать %{model}"
44
+ subheading: "Для:"
45
+
46
+ login:
47
+ title: "Логин"
48
+ heading: "Логин"
49
+ email_address: &email_address "E-mail"
50
+ name: "Имя"
51
+ password: "Пароль"
52
+ remember_me: "Запомнить меня"
53
+ login: "Войти"
54
+ signup: "Регистрация"
55
+ forgot_password: &forgot_password "Забыли пароль?"
56
+
57
+ signup:
58
+ title: "Регистрация"
59
+ heading: "Регистрация нового пользователя"
60
+
61
+ forgot_password:
62
+ title: *forgot_password
63
+ heading: *forgot_password
64
+ text: "Введите адрес электроной почты, который Вы использовали при регистрации. Мы вышлем Вам на него инструкции для изменения пароля."
65
+ email_address: *email_address
66
+ send: "Выслать"
67
+
68
+ forgot_password_sent:
69
+ title: "Забытый пароль - Письмо отправлено"
70
+ heading: "Забытый пароль - Письмо с инструкциями отправлено"
71
+ text: "Письмо с инструкциями для восстановления пароля было выслано на %{email_address}. Если Вы не получили письмо, проверьте Ваш спам-фильтр."
72
+
73
+ account_disabled_page:
74
+ title: "Учётная запись не найдена"
75
+ heading: "Учётная запись не найдена"
76
+ text: "Мы не можем найти учётную запись соответствующую данному адресу электроной почты. Проверте, что он введён правельно."
77
+
78
+ account_page:
79
+ title: "Моя учётная запись"
80
+ heading: "Моя учётная запись"
81
+ new_password: "Новый пароль"
82
+ confirm_new_password: "Подверждение нового пароля"
83
+
84
+ # default hobo action translation
85
+ # The action with added model variable are new, create, delete, save,
86
+ # edit and back_to_parent
87
+ actions:
88
+ new: "Добавить %{model}"
89
+ create: "Создать %{model}"
90
+ previous: "Предыдущая"
91
+ next: "Следующая"
92
+ add: "Добавить"
93
+ show_all: "Показать все %{model}и..."
94
+ delete: "Удалить %{model}"
95
+ save: "Сохранить"
96
+ cancel: "Отменить"
97
+ edit: "Изменить %{model}"
98
+ edit_control: "Изменить"
99
+ back: "Назад к"
100
+ back_to_parent: "Назад к %{parent} %{name}"
101
+ send: "Отослать"
102
+ remove: "Убрать"
103
+ signup: "Регистрация"
104
+ login: "Войти"
105
+ logout: "Выйти"
106
+ logged_in_as: "Вы вошли как %{name}"
107
+ account: "Моя учетная запись"
108
+ save_account: "Сохранить данные"
109
+
110
+ # default hobo message translation
111
+ messages:
112
+ create:
113
+ success: "%{model} была создана без ошибок"
114
+ error: "Нельзя создать %{model}.\n%{errors}"
115
+ creator:
116
+ error: "Не могу исполнить указазания создателя %{name}.\n%{errors}"
117
+ transition:
118
+ error: "Не могу исполнить указазания изменителя %{name}.\n%{errors}"
119
+ update:
120
+ no_attribute_error: "Изменения не указаны в аттрибутах."
121
+ success: "Изменения сохранены."
122
+ error: "Не могу сохранить изменения. \n%{errors}"
123
+ destroy:
124
+ success: "Удаление %{model} было завершено без ошибок."
125
+ signup:
126
+ success: "Спасибо за регистрацию"
127
+ must_activate: "Вы должны активировать вашу учётную запись. Пожалуйста, проверте вашу электроную почту."
128
+ login:
129
+ success: "Вы зашли в систему."
130
+ error: "Имя пользователя (%{login}) и пароль предоставленные вами - неправильны!"
131
+ logout: "Вы вышли из системы."
132
+ reset_password: "Ваш пароль был изменён."
133
+ permission_denied: "Доступ закрыт!"
134
+ not_found: "Страницы, запрошеной вами, не существует."
135
+ unauthenticated: "Система не может подтвердить аутентичность вашой учётной записи."
136
+ validate_password: "должен быть не меньше 6 символов и НЕ должен состоять только из маленьких букв"
137
+ current_password_is_not_correct: "неправильно"
138
+ you_are_site_admin: "Вы получили права администратора сайта."
139
+ you_signed_up: "Вы зарегестрировались."
140
+ none: "Нет доступных %{model}ей."
141
+ confirm: "Вы уверены?"
142
+
143
+ # default hobo collection translation
144
+ collection:
145
+ count: &collection_count
146
+ zero: &no_model "Нет %{model}"
147
+ one: "В базе только одна %{model}."
148
+ other: "В базе %{count} %{model}"
149
+ # you can use the following to completely override the collection heading
150
+ # be aware that you will loose the automatic Your <collection> / Jom's <collection>
151
+ # default output for User models
152
+ # you better define the heading.* in the specific collection namespace
153
+ #heading:
154
+ add_form_heading: "Добавить %{model}"
155
+ empty_message: "Нет записей для отображения."
156
+
157
+ # default hobo form translation
158
+ form:
159
+ new:
160
+ heading: "Создать %{model}"
161
+ error:
162
+ heading: "Произошла ошибка:"
163
+ select_many:
164
+ prompt: "Добавить %{model}"
165
+
166
+ # hobo support
167
+ support:
168
+ or: "или"
169
+ a: ""
170
+ an: ""
171
+
172
+ table_plus:
173
+ search: "Поиск"
174
+ submit_label: "Искать"
175
+
176
+ live_search:
177
+ label: "Найти"
178
+ results_label: "Результаты поиска"
179
+ close_button: "закрыть"
180
+ no_results: "Не найдено записей удовлетворяюих критериям поиска"
181
+
182
+ dev_user_changer:
183
+ guest: "Гость"
184
+
185
+ admin:
186
+ subsite_name: "Админ"
187
+ invite_new_user: "Пригласить нового пользователя"
188
+
189
+ subsite:
190
+ back_link: "Показать сайт"
191
+
192
+ boolean_yes: "Да"
193
+ boolean_no: "Нет"
194
+ password_hidden: "[пароль скрыт]"
195
+
196
+ in_place_editor:
197
+ click_to_edit: "(нажмите для изменения)"
198
+
199
+ select_one_editor:
200
+ blank_message: *no_model
@@ -0,0 +1,18 @@
1
+ module Generators
2
+ module Hobo
3
+ InviteOnly = classy_module do
4
+
5
+ class_option :invite_only,
6
+ :aliases => '-i',
7
+ :type => :boolean,
8
+ :desc => "Add features for an invite only website"
9
+
10
+ private
11
+
12
+ def invite_only?
13
+ options[:invite_only]
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ Description:
2
+ Invokes the active_record:model generator, but the generated
3
+ model file contains the fields block, (and the migration option
4
+ is false by default).
5
+
6
+ Examples:
7
+ $ rails generate hobo:model account
8
+
9
+ creates an Account model, test and fixture:
10
+ Model: app/models/account.rb
11
+ Test: test/unit/account_test.rb
12
+ Fixtures: test/fixtures/accounts.yml
13
+
14
+ $ rails generate hobo:model post title:string body:text published:boolean
15
+
16
+ creates a Post model with a string title, text body, and published flag.
17
+
18
+ After the model is created, and the fields are specified, use hobo:migration
19
+ to create the migrations incrementally.
@@ -0,0 +1,11 @@
1
+ require 'rails/generators/active_record'
2
+ require 'generators/hobo_support/model'
3
+
4
+ module Hobo
5
+ class ModelGenerator < ActiveRecord::Generators::Base
6
+ source_root File.expand_path('../templates', __FILE__)
7
+
8
+ include Generators::HoboSupport::Model
9
+
10
+ end
11
+ end