trusty-cms 1.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 (388) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +23 -0
  3. data/CHANGELOG.md +754 -0
  4. data/CONTRIBUTORS.md +263 -0
  5. data/Gemfile +40 -0
  6. data/Gemfile.lock +177 -0
  7. data/INSTALL.md +10 -0
  8. data/LICENSE.md +21 -0
  9. data/README.md +85 -0
  10. data/Rakefile +7 -0
  11. data/app/controllers/admin/configuration_controller.rb +50 -0
  12. data/app/controllers/admin/extensions_controller.rb +11 -0
  13. data/app/controllers/admin/layouts_controller.rb +8 -0
  14. data/app/controllers/admin/page_fields_controller.rb +9 -0
  15. data/app/controllers/admin/page_parts_controller.rb +9 -0
  16. data/app/controllers/admin/pages_controller.rb +89 -0
  17. data/app/controllers/admin/preferences_controller.rb +46 -0
  18. data/app/controllers/admin/references_controller.rb +7 -0
  19. data/app/controllers/admin/resource_controller.rb +245 -0
  20. data/app/controllers/admin/users_controller.rb +40 -0
  21. data/app/controllers/admin/welcome_controller.rb +48 -0
  22. data/app/controllers/application_controller.rb +114 -0
  23. data/app/controllers/site_controller.rb +97 -0
  24. data/app/helpers/admin/configuration_helper.rb +80 -0
  25. data/app/helpers/admin/export_helper.rb +2 -0
  26. data/app/helpers/admin/extensions_helper.rb +2 -0
  27. data/app/helpers/admin/layouts_helper.rb +21 -0
  28. data/app/helpers/admin/node_helper.rb +96 -0
  29. data/app/helpers/admin/pages_helper.rb +117 -0
  30. data/app/helpers/admin/preferences_helper.rb +3 -0
  31. data/app/helpers/admin/references_helper.rb +46 -0
  32. data/app/helpers/admin/regions_helper.rb +28 -0
  33. data/app/helpers/admin/resource_helper.rb +2 -0
  34. data/app/helpers/admin/users_helper.rb +8 -0
  35. data/app/helpers/admin/welcome_helper.rb +2 -0
  36. data/app/helpers/application_helper.rb +241 -0
  37. data/app/helpers/site_helper.rb +2 -0
  38. data/app/models/deprecated_tags.rb +42 -0
  39. data/app/models/file_not_found_page.rb +32 -0
  40. data/app/models/layout.rb +15 -0
  41. data/app/models/menu_renderer.rb +140 -0
  42. data/app/models/page.rb +377 -0
  43. data/app/models/page_context.rb +53 -0
  44. data/app/models/page_field.rb +3 -0
  45. data/app/models/page_part.rb +20 -0
  46. data/app/models/standard_tags.rb +1318 -0
  47. data/app/models/status.rb +41 -0
  48. data/app/models/text_filter.rb +36 -0
  49. data/app/models/trusty_cms/config.rb +313 -0
  50. data/app/models/trusty_cms/page_response_cache_director.rb +43 -0
  51. data/app/models/user.rb +96 -0
  52. data/app/models/user_action_observer.rb +25 -0
  53. data/app/views/admin/configuration/edit.html.haml +38 -0
  54. data/app/views/admin/configuration/show.html.haml +58 -0
  55. data/app/views/admin/extensions/index.html.haml +41 -0
  56. data/app/views/admin/layouts/_form.html.haml +39 -0
  57. data/app/views/admin/layouts/edit.html.haml +9 -0
  58. data/app/views/admin/layouts/index.html.haml +35 -0
  59. data/app/views/admin/layouts/new.html.haml +7 -0
  60. data/app/views/admin/layouts/remove.html.haml +16 -0
  61. data/app/views/admin/page_fields/_page_field.html.haml +12 -0
  62. data/app/views/admin/page_parts/_page_part.html.haml +18 -0
  63. data/app/views/admin/pages/_fields.html.haml +71 -0
  64. data/app/views/admin/pages/_meta_row.html.haml +8 -0
  65. data/app/views/admin/pages/_node.html.haml +26 -0
  66. data/app/views/admin/pages/_popups.html.haml +27 -0
  67. data/app/views/admin/pages/children.html.haml +2 -0
  68. data/app/views/admin/pages/edit.html.haml +12 -0
  69. data/app/views/admin/pages/index.html.haml +26 -0
  70. data/app/views/admin/pages/new.html.haml +10 -0
  71. data/app/views/admin/pages/remove.html.haml +18 -0
  72. data/app/views/admin/preferences/edit.html.haml +44 -0
  73. data/app/views/admin/references/_tag_reference.haml +3 -0
  74. data/app/views/admin/references/filters.haml +6 -0
  75. data/app/views/admin/references/tags.haml +30 -0
  76. data/app/views/admin/users/_avatar.html.haml +5 -0
  77. data/app/views/admin/users/_form.html.haml +53 -0
  78. data/app/views/admin/users/_password_fields.html.haml +18 -0
  79. data/app/views/admin/users/edit.html.haml +9 -0
  80. data/app/views/admin/users/index.html.haml +39 -0
  81. data/app/views/admin/users/new.html.haml +6 -0
  82. data/app/views/admin/users/remove.html.haml +16 -0
  83. data/app/views/admin/welcome/login.html.haml +23 -0
  84. data/app/views/layouts/application.html.haml +50 -0
  85. data/app/views/site/not_found.html.haml +3 -0
  86. data/bin/ci/before_script +15 -0
  87. data/bin/trusty_cms +53 -0
  88. data/config/application.rb +124 -0
  89. data/config/boot.rb +9 -0
  90. data/config/compass.config +15 -0
  91. data/config/database.db2.yml +20 -0
  92. data/config/database.mysql.yml +25 -0
  93. data/config/database.postgresql.yml +25 -0
  94. data/config/database.sqlite.yml +16 -0
  95. data/config/database.sqlserver.yml +20 -0
  96. data/config/environment.rb +5 -0
  97. data/config/environments/development.rb +19 -0
  98. data/config/environments/production.rb +27 -0
  99. data/config/environments/test.rb +35 -0
  100. data/config/initializers/active_record_extensions.rb +1 -0
  101. data/config/initializers/configuration_extensions.rb +0 -0
  102. data/config/initializers/haml.rb +2 -0
  103. data/config/initializers/object_extensions.rb +1 -0
  104. data/config/initializers/radiant_config.rb +16 -0
  105. data/config/initializers/rails_patch.rb +2 -0
  106. data/config/initializers/response_cache_timeout.rb +3 -0
  107. data/config/initializers/string_extensions.rb +1 -0
  108. data/config/initializers/symbol_extensions.rb +1 -0
  109. data/config/initializers/tmp.rb +2 -0
  110. data/config/locales/en.yml +230 -0
  111. data/config/locales/en_available_tags.yml +625 -0
  112. data/config/preinitializer.rb +18 -0
  113. data/config/routes.rb +30 -0
  114. data/db/migrate/001_create_radiant_tables.rb +75 -0
  115. data/db/migrate/002_insert_initial_data.rb +12 -0
  116. data/db/migrate/003_rename_behavior_column.rb +9 -0
  117. data/db/migrate/004_rename_filter_column.rb +11 -0
  118. data/db/migrate/005_add_virtual_column_to_page.rb +9 -0
  119. data/db/migrate/006_integer_columns_to_boolean.rb +36 -0
  120. data/db/migrate/007_remove_virtual_column_from_page.rb +9 -0
  121. data/db/migrate/008_add_virtual_column_to_page_again.rb +9 -0
  122. data/db/migrate/009_add_content_type_field_to_layout.rb +9 -0
  123. data/db/migrate/010_merge_behaviors_and_pages.rb +57 -0
  124. data/db/migrate/011_rename_type_column_on_page_to_class_name.rb +9 -0
  125. data/db/migrate/012_create_extension_meta.rb +13 -0
  126. data/db/migrate/013_add_notes_field_to_user.rb +9 -0
  127. data/db/migrate/014_rename_config_default_parts_key.rb +17 -0
  128. data/db/migrate/015_add_optimistic_locking.rb +15 -0
  129. data/db/migrate/016_add_sessions.rb +16 -0
  130. data/db/migrate/017_rename_created_by_updated_by_columns.rb +15 -0
  131. data/db/migrate/018_add_description_and_keywords_to_pages.rb +11 -0
  132. data/db/migrate/019_add_salt_to_users.rb +11 -0
  133. data/db/migrate/020_add_session_info_to_users.rb +11 -0
  134. data/db/migrate/021_remove_session_expire_from_users.rb +9 -0
  135. data/db/migrate/20081203140407_add_indexes.rb +19 -0
  136. data/db/migrate/20090226140109_add_user_language.rb +9 -0
  137. data/db/migrate/20090929164633_rename_developer_role_to_designer.rb +9 -0
  138. data/db/migrate/20091003095744_change_user_language_to_locale.rb +9 -0
  139. data/db/migrate/20100805154952_add_page_fields.rb +15 -0
  140. data/db/migrate/20100805155020_convert_page_metas.rb +24 -0
  141. data/db/migrate/20100810151922_add_field_name_index.rb +11 -0
  142. data/db/migrate/20110902203823_add_allowed_children_cache_to_pages.rb +13 -0
  143. data/db/migrate/20111016150725_extend_page_part_content_limit.rb +15 -0
  144. data/db/migrate/20120209231801_change_pages_allowed_children_cache_to_text.rb +11 -0
  145. data/db/schema.rb +128 -0
  146. data/lib/active_record_extensions/active_record_extensions.rb +27 -0
  147. data/lib/annotatable.rb +68 -0
  148. data/lib/configuration_extensions/configuration_extensions.rb +357 -0
  149. data/lib/generators/extension/USAGE +30 -0
  150. data/lib/generators/extension/extension_generator.rb +97 -0
  151. data/lib/generators/extension/templates/README.md +6 -0
  152. data/lib/generators/extension/templates/RSpecRakefile +109 -0
  153. data/lib/generators/extension/templates/Rakefile +25 -0
  154. data/lib/generators/extension/templates/cucumber.yml +1 -0
  155. data/lib/generators/extension/templates/cucumber_env.rb +11 -0
  156. data/lib/generators/extension/templates/cucumber_paths.rb +22 -0
  157. data/lib/generators/extension/templates/en.yml +3 -0
  158. data/lib/generators/extension/templates/extension.rb +21 -0
  159. data/lib/generators/extension/templates/functional_test.rb +15 -0
  160. data/lib/generators/extension/templates/gemspec.rb +29 -0
  161. data/lib/generators/extension/templates/lib.rb +8 -0
  162. data/lib/generators/extension/templates/migration.rb +9 -0
  163. data/lib/generators/extension/templates/radiant_config.rb +3 -0
  164. data/lib/generators/extension/templates/routes.rb +5 -0
  165. data/lib/generators/extension/templates/spec.opts +6 -0
  166. data/lib/generators/extension/templates/spec_helper.rb +42 -0
  167. data/lib/generators/extension/templates/tasks.rake +47 -0
  168. data/lib/generators/extension/templates/test_helper.rb +26 -0
  169. data/lib/generators/extension_controller/USAGE +36 -0
  170. data/lib/generators/extension_controller/extension_controller_generator.rb +84 -0
  171. data/lib/generators/extension_controller/templates/controller.rb +10 -0
  172. data/lib/generators/extension_controller/templates/controller_spec.rb +23 -0
  173. data/lib/generators/extension_controller/templates/functional_test.rb +11 -0
  174. data/lib/generators/extension_controller/templates/helper.rb +2 -0
  175. data/lib/generators/extension_controller/templates/helper_spec.rb +11 -0
  176. data/lib/generators/extension_controller/templates/helper_test.rb +4 -0
  177. data/lib/generators/extension_controller/templates/view.html.erb +2 -0
  178. data/lib/generators/extension_controller/templates/view_spec.rb +12 -0
  179. data/lib/generators/extension_mailer/USAGE +17 -0
  180. data/lib/generators/extension_mailer/extension_mailer_generator.rb +68 -0
  181. data/lib/generators/extension_mailer/templates/fixture.erb +3 -0
  182. data/lib/generators/extension_mailer/templates/mailer.rb +15 -0
  183. data/lib/generators/extension_mailer/templates/unit_test.rb +21 -0
  184. data/lib/generators/extension_mailer/templates/view.erb +3 -0
  185. data/lib/generators/extension_migration/USAGE +34 -0
  186. data/lib/generators/extension_migration/extension_migration_generator.rb +25 -0
  187. data/lib/generators/extension_migration/templates/migration.rb +11 -0
  188. data/lib/generators/extension_model/USAGE +35 -0
  189. data/lib/generators/extension_model/extension_model_generator.rb +68 -0
  190. data/lib/generators/extension_model/templates/fixtures.yml +19 -0
  191. data/lib/generators/extension_model/templates/migration.rb +16 -0
  192. data/lib/generators/extension_model/templates/model.rb +2 -0
  193. data/lib/generators/extension_model/templates/model_spec.rb +11 -0
  194. data/lib/generators/extension_model/templates/unit_test.rb +8 -0
  195. data/lib/generators/generator_base_extension.rb +16 -0
  196. data/lib/generators/instance/instance_generator.rb +148 -0
  197. data/lib/generators/instance/templates/databases/db2.yml +40 -0
  198. data/lib/generators/instance/templates/databases/mysql.yml +47 -0
  199. data/lib/generators/instance/templates/databases/postgresql.yml +44 -0
  200. data/lib/generators/instance/templates/databases/sqlite3.yml +16 -0
  201. data/lib/generators/instance/templates/databases/sqlserver.yml +21 -0
  202. data/lib/generators/instance/templates/instance_boot.rb +122 -0
  203. data/lib/generators/instance/templates/instance_config.ru +2 -0
  204. data/lib/generators/instance/templates/instance_environment.rb +83 -0
  205. data/lib/generators/instance/templates/instance_gemfile +81 -0
  206. data/lib/generators/instance/templates/instance_generate +6 -0
  207. data/lib/generators/instance/templates/instance_radiant_config.rb +16 -0
  208. data/lib/generators/instance/templates/instance_rakefile +3 -0
  209. data/lib/generators/instance/templates/instance_routes.rb +1 -0
  210. data/lib/generators/language_extension/USAGE +27 -0
  211. data/lib/generators/language_extension/language_extension_generator.rb +71 -0
  212. data/lib/generators/language_extension/templates/README +3 -0
  213. data/lib/generators/language_extension/templates/RSpecRakefile +123 -0
  214. data/lib/generators/language_extension/templates/Rakefile +25 -0
  215. data/lib/generators/language_extension/templates/available_tags.yml +553 -0
  216. data/lib/generators/language_extension/templates/cucumber.yml +1 -0
  217. data/lib/generators/language_extension/templates/cucumber_env.rb +16 -0
  218. data/lib/generators/language_extension/templates/cucumber_paths.rb +14 -0
  219. data/lib/generators/language_extension/templates/extension.rb +12 -0
  220. data/lib/generators/language_extension/templates/functional_test.rb +15 -0
  221. data/lib/generators/language_extension/templates/gemspec.rb +24 -0
  222. data/lib/generators/language_extension/templates/lang.yml +181 -0
  223. data/lib/generators/language_extension/templates/lib.rb +8 -0
  224. data/lib/generators/language_extension/templates/spec.opts +6 -0
  225. data/lib/generators/language_extension/templates/spec_helper.rb +36 -0
  226. data/lib/generators/language_extension/templates/tasks.rake +28 -0
  227. data/lib/generators/language_extension/templates/test_helper.rb +26 -0
  228. data/lib/inheritable_class_attributes.rb +65 -0
  229. data/lib/local_time.rb +6 -0
  230. data/lib/login_system.rb +132 -0
  231. data/lib/method_observer.rb +50 -0
  232. data/lib/object_extensions/object_extensions.rb +5 -0
  233. data/lib/simpleton.rb +21 -0
  234. data/lib/string_extensions/string_extensions.rb +25 -0
  235. data/lib/symbol_extensions/symbol_extensions.rb +5 -0
  236. data/lib/tasks/database.rake +85 -0
  237. data/lib/tasks/environments.rake +11 -0
  238. data/lib/tasks/extensions.rake +85 -0
  239. data/lib/tasks/framework.rake +255 -0
  240. data/lib/tasks/instance.rake +23 -0
  241. data/lib/tasks/prototype.rake +31 -0
  242. data/lib/tasks/radiant_config.rake +18 -0
  243. data/lib/tasks/release.rake +131 -0
  244. data/lib/tasks/translate.rake +59 -0
  245. data/lib/tasks/undefine.rake +28 -0
  246. data/lib/translation_support.rb +54 -0
  247. data/lib/trusty_cms/admin_ui/region_partials.rb +23 -0
  248. data/lib/trusty_cms/admin_ui/region_set.rb +35 -0
  249. data/lib/trusty_cms/admin_ui.rb +244 -0
  250. data/lib/trusty_cms/available_locales.rb +19 -0
  251. data/lib/trusty_cms/cache.rb +100 -0
  252. data/lib/trusty_cms/config/definition.rb +142 -0
  253. data/lib/trusty_cms/engine.rb +10 -0
  254. data/lib/trusty_cms/extension/script.rb +395 -0
  255. data/lib/trusty_cms/extension.rb +146 -0
  256. data/lib/trusty_cms/extension_loader.rb +130 -0
  257. data/lib/trusty_cms/extension_migrator.rb +98 -0
  258. data/lib/trusty_cms/extension_path.rb +200 -0
  259. data/lib/trusty_cms/initializer.rb +162 -0
  260. data/lib/trusty_cms/pagination/controller.rb +41 -0
  261. data/lib/trusty_cms/pagination/link_renderer.rb +34 -0
  262. data/lib/trusty_cms/resource_responses.rb +121 -0
  263. data/lib/trusty_cms/setup.rb +227 -0
  264. data/lib/trusty_cms/taggable.rb +138 -0
  265. data/lib/trusty_cms/task_support.rb +66 -0
  266. data/lib/trusty_cms.rb +19 -0
  267. data/log/.keep +0 -0
  268. data/public/.htaccess +40 -0
  269. data/public/404.html +8 -0
  270. data/public/500.html +8 -0
  271. data/public/dispatch.cgi +10 -0
  272. data/public/dispatch.fcgi +24 -0
  273. data/public/dispatch.rb +10 -0
  274. data/public/favicon.ico +0 -0
  275. data/public/images/admin/add_tab.png +0 -0
  276. data/public/images/admin/avatar_32x32.png +0 -0
  277. data/public/images/admin/avatar_64x64.png +0 -0
  278. data/public/images/admin/avatar_96x96.png +0 -0
  279. data/public/images/admin/brown_bottom_line.gif +0 -0
  280. data/public/images/admin/calendar_down.gif +0 -0
  281. data/public/images/admin/collapse.png +0 -0
  282. data/public/images/admin/draft_page.png +0 -0
  283. data/public/images/admin/expand.png +0 -0
  284. data/public/images/admin/image.png +0 -0
  285. data/public/images/admin/javascript.png +0 -0
  286. data/public/images/admin/layout.png +0 -0
  287. data/public/images/admin/metadata_toggle.png +0 -0
  288. data/public/images/admin/minus.png +0 -0
  289. data/public/images/admin/minus_disabled.png +0 -0
  290. data/public/images/admin/minus_grey.png +0 -0
  291. data/public/images/admin/navigation_secondary_separator.gif +0 -0
  292. data/public/images/admin/page.png +0 -0
  293. data/public/images/admin/plus.png +0 -0
  294. data/public/images/admin/plus_disabled.png +0 -0
  295. data/public/images/admin/plus_grey.png +0 -0
  296. data/public/images/admin/popup_border_background.png +0 -0
  297. data/public/images/admin/popup_border_bottom_left.png +0 -0
  298. data/public/images/admin/popup_border_bottom_right.png +0 -0
  299. data/public/images/admin/popup_border_top_left.png +0 -0
  300. data/public/images/admin/popup_border_top_right.png +0 -0
  301. data/public/images/admin/search.png +0 -0
  302. data/public/images/admin/single_form_shadow.png +0 -0
  303. data/public/images/admin/snippet.png +0 -0
  304. data/public/images/admin/spinner.gif +0 -0
  305. data/public/images/admin/status_background.png +0 -0
  306. data/public/images/admin/status_bottom_left.png +0 -0
  307. data/public/images/admin/status_bottom_right.png +0 -0
  308. data/public/images/admin/status_spinner.gif +0 -0
  309. data/public/images/admin/status_top_left.png +0 -0
  310. data/public/images/admin/status_top_right.png +0 -0
  311. data/public/images/admin/stylesheet.png +0 -0
  312. data/public/images/admin/tab_close.png +0 -0
  313. data/public/images/admin/upload.png +0 -0
  314. data/public/images/admin/virtual_page.png +0 -0
  315. data/public/images/radiant/radiant-badge-color.png +0 -0
  316. data/public/javascripts/admin/application.js +94 -0
  317. data/public/javascripts/admin/codearea.js +165 -0
  318. data/public/javascripts/admin/controls.js +965 -0
  319. data/public/javascripts/admin/cookie.js +80 -0
  320. data/public/javascripts/admin/dateinput.js +402 -0
  321. data/public/javascripts/admin/dragdrop.js +974 -0
  322. data/public/javascripts/admin/dropdown.js +216 -0
  323. data/public/javascripts/admin/effects.js +1122 -0
  324. data/public/javascripts/admin/lowpro.js +340 -0
  325. data/public/javascripts/admin/overrides.js +1 -0
  326. data/public/javascripts/admin/page_preview.js +41 -0
  327. data/public/javascripts/admin/pagefield.js +54 -0
  328. data/public/javascripts/admin/pagestatus.js +17 -0
  329. data/public/javascripts/admin/popup.js +339 -0
  330. data/public/javascripts/admin/prototype.js +4874 -0
  331. data/public/javascripts/admin/ruledtable.js +13 -0
  332. data/public/javascripts/admin/shortcuts.js +33 -0
  333. data/public/javascripts/admin/sitemap.js +149 -0
  334. data/public/javascripts/admin/status.js +233 -0
  335. data/public/javascripts/admin/tabcontrol.js +123 -0
  336. data/public/javascripts/admin/toggle.js +430 -0
  337. data/public/javascripts/admin/utility.js +53 -0
  338. data/public/javascripts/admin/validationerror.js +18 -0
  339. data/public/loading-iframe.html +11 -0
  340. data/public/robots.txt +1 -0
  341. data/public/stylesheets/sass/admin/_base.sass +18 -0
  342. data/public/stylesheets/sass/admin/main.sass +27 -0
  343. data/public/stylesheets/sass/admin/modules/_boxes.sass +6 -0
  344. data/public/stylesheets/sass/admin/modules/_gradients.sass +4 -0
  345. data/public/stylesheets/sass/admin/modules/_links.sass +18 -0
  346. data/public/stylesheets/sass/admin/overrides.sass +2 -0
  347. data/public/stylesheets/sass/admin/partials/_actions.sass +96 -0
  348. data/public/stylesheets/sass/admin/partials/_avatars.sass +10 -0
  349. data/public/stylesheets/sass/admin/partials/_content.sass +58 -0
  350. data/public/stylesheets/sass/admin/partials/_dateinput.sass +62 -0
  351. data/public/stylesheets/sass/admin/partials/_deprecated.sass +55 -0
  352. data/public/stylesheets/sass/admin/partials/_dropdown.sass +28 -0
  353. data/public/stylesheets/sass/admin/partials/_footer.sass +12 -0
  354. data/public/stylesheets/sass/admin/partials/_forms.sass +322 -0
  355. data/public/stylesheets/sass/admin/partials/_header.sass +114 -0
  356. data/public/stylesheets/sass/admin/partials/_index.sass +147 -0
  357. data/public/stylesheets/sass/admin/partials/_layout.sass +10 -0
  358. data/public/stylesheets/sass/admin/partials/_messages.sass +10 -0
  359. data/public/stylesheets/sass/admin/partials/_popup.sass +213 -0
  360. data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +72 -0
  361. data/public/stylesheets/sass/admin/partials/_toolbar.sass +31 -0
  362. data/public/stylesheets/sass/admin/partials/_typography.sass +60 -0
  363. data/public/stylesheets/sass/admin/partials/_validations.sass +19 -0
  364. data/rails/init.rb +1 -0
  365. data/script/about +4 -0
  366. data/script/breakpointer +3 -0
  367. data/script/console +3 -0
  368. data/script/dbconsole +3 -0
  369. data/script/destroy +3 -0
  370. data/script/extension +5 -0
  371. data/script/generate +3 -0
  372. data/script/performance/benchmarker +3 -0
  373. data/script/performance/profiler +3 -0
  374. data/script/performance/request +3 -0
  375. data/script/plugin +3 -0
  376. data/script/process/inspector +3 -0
  377. data/script/process/reaper +3 -0
  378. data/script/process/spawner +3 -0
  379. data/script/process/spinner +3 -0
  380. data/script/rails +6 -0
  381. data/script/runner +3 -0
  382. data/script/server +3 -0
  383. data/script/version +5 -0
  384. data/spec/ci/database.mysql.yml +4 -0
  385. data/spec/ci/database.postgresql.yml +4 -0
  386. data/spec/ci/database.sqlite.yml +3 -0
  387. data/trusty_cms.gemspec +50 -0
  388. metadata +781 -0
@@ -0,0 +1,47 @@
1
+ # MySQL (default setup). Versions 4.1 and 5.0 are recommended.
2
+ #
3
+ # Install the MySQL driver:
4
+ # gem install mysql
5
+ # On MacOS X:
6
+ # gem install mysql -- --include=/usr/local/lib
7
+ # On Windows:
8
+ # There is no gem for Windows. Install mysql.so from RubyForApache.
9
+ # http://rubyforge.org/projects/rubyforapache
10
+ #
11
+ # And be sure to use new-style password hashing:
12
+ # http://dev.mysql.com/doc/refman/5.0/en/old-client.html
13
+ development:
14
+ adapter: mysql
15
+ database: <%= app_name %>_development
16
+ username: root
17
+ password:
18
+ <% if socket -%>
19
+ socket: <%= socket %>
20
+ <% else -%>
21
+ host: localhost
22
+ <% end -%>
23
+
24
+ # Warning: The database defined as 'test' will be erased and
25
+ # re-generated from your development database when you run 'rake'.
26
+ # Do not set this db to the same as development or production.
27
+ test:
28
+ adapter: mysql
29
+ database: <%= app_name %>_test
30
+ username: root
31
+ password:
32
+ <% if socket -%>
33
+ socket: <%= socket %>
34
+ <% else -%>
35
+ host: localhost
36
+ <% end -%>
37
+
38
+ production:
39
+ adapter: mysql
40
+ database: <%= app_name %>_production
41
+ username: root
42
+ password:
43
+ <% if socket -%>
44
+ socket: <%= socket %>
45
+ <% else -%>
46
+ host: localhost
47
+ <% end -%>
@@ -0,0 +1,44 @@
1
+ # PostgreSQL versions 7.4 - 8.1
2
+ #
3
+ # Get the C bindings:
4
+ # gem install postgres
5
+ # or use the pure-Ruby bindings on Windows:
6
+ # gem install postgres-pr
7
+ development:
8
+ adapter: postgresql
9
+ database: <%= app_name %>_development
10
+ username: <%= app_name %>
11
+ password:
12
+
13
+ # Connect on a TCP socket. Omitted by default since the client uses a
14
+ # domain socket that doesn't need configuration. Windows does not have
15
+ # domain sockets, so uncomment these lines.
16
+ #host: localhost
17
+ #port: 5432
18
+
19
+ # Schema search path. The server defaults to $user,public
20
+ #schema_search_path: myapp,sharedapp,public
21
+
22
+ # Character set encoding. The server defaults to sql_ascii.
23
+ #encoding: UTF8
24
+
25
+ # Minimum log levels, in increasing order:
26
+ # debug5, debug4, debug3, debug2, debug1,
27
+ # info, notice, warning, error, log, fatal, or panic
28
+ # The server defaults to notice.
29
+ #min_messages: warning
30
+
31
+ # Warning: The database defined as 'test' will be erased and
32
+ # re-generated from your development database when you run 'rake'.
33
+ # Do not set this db to the same as development or production.
34
+ test:
35
+ adapter: postgresql
36
+ database: <%= app_name %>_test
37
+ username: <%= app_name %>
38
+ password:
39
+
40
+ production:
41
+ adapter: postgresql
42
+ database: <%= app_name %>_production
43
+ username: <%= app_name %>
44
+ password:
@@ -0,0 +1,16 @@
1
+ # SQLite version 3.x
2
+ # gem install sqlite3-ruby
3
+ development:
4
+ adapter: sqlite3
5
+ database: db/development.sqlite3.db
6
+
7
+ # Warning: The database defined as 'test' will be erased and
8
+ # re-generated from your development database when you run 'rake'.
9
+ # Do not set this db to the same as development or production.
10
+ test:
11
+ adapter: sqlite3
12
+ database: db/test.sqlite3.db
13
+
14
+ production:
15
+ adapter: sqlite3
16
+ database: db/production.sqlite3.db
@@ -0,0 +1,21 @@
1
+ development:
2
+ adapter: sqlserver
3
+ database: <%= app_name %>_development
4
+ username: <%= app_name %>
5
+ password:
6
+
7
+ # Warning: The database defined as 'test' will be erased and
8
+ # re-generated from your development database when you run 'rake'.
9
+ # Do not set this db to the same as development or production.
10
+ test:
11
+ adapter: sqlserver
12
+ database: <%= app_name %>_test
13
+ username: <%= app_name %>
14
+ password:
15
+
16
+ production:
17
+ adapter: sqlserver
18
+ database: <%= app_name %>_production
19
+ username: <%= app_name %>
20
+ password:
21
+
@@ -0,0 +1,122 @@
1
+ # Don't change this file!
2
+ # Configure your app in config/environment.rb and config/environments/*.rb
3
+
4
+ Rails.root = "#{File.dirname(__FILE__)}/.." unless defined?(Rails.root)
5
+ Rails.env = (ENV['RAILS_ENV'] || 'development').dup unless defined?(Rails.env)
6
+
7
+ module Rails
8
+ class << self
9
+ def vendor_rails?
10
+ File.exist?("#{Rails.root}/vendor/rails")
11
+ end
12
+ end
13
+ end
14
+
15
+ module TrustyCms
16
+ class << self
17
+ def boot!
18
+ unless booted?
19
+ preinitialize
20
+ pick_boot.run
21
+ end
22
+ end
23
+
24
+ def booted?
25
+ defined? TrustyCms::Initializer
26
+ end
27
+
28
+ def pick_boot
29
+ case
30
+ when app?
31
+ AppBoot.new
32
+ when vendor?
33
+ VendorBoot.new
34
+ else
35
+ GemBoot.new
36
+ end
37
+ end
38
+
39
+ def vendor?
40
+ File.exist?("#{Rails.root}/vendor/radiant")
41
+ end
42
+
43
+ def app?
44
+ File.exist?("#{Rails.root}/lib/radiant.rb")
45
+ end
46
+
47
+ def preinitialize
48
+ load(preinitializer_path) if File.exist?(preinitializer_path)
49
+ end
50
+
51
+ def loaded_via_gem?
52
+ pick_boot.is_a? GemBoot
53
+ end
54
+
55
+ def preinitializer_path
56
+ "#{Rails.root}/config/preinitializer.rb"
57
+ end
58
+ end
59
+
60
+ class Boot
61
+ def run
62
+ load_mutex
63
+ load_initializer
64
+ end
65
+
66
+ # RubyGems from version 1.6 does not require thread but Rails depend on it
67
+ # This should newer rails do automaticly
68
+ def load_mutex
69
+ begin
70
+ require "thread" unless defined?(Mutex)
71
+ rescue LoadError => e
72
+ $stderr.puts %(Mutex could not be initialized. #{load_error_message})
73
+ exit 1
74
+ end
75
+ end
76
+
77
+ def load_initializer
78
+ begin
79
+ require 'trusty_cms'
80
+ require 'trusty_cms/initializer'
81
+ rescue LoadError => e
82
+ $stderr.puts %(TrustyCms could not be initialized. #{load_error_message})
83
+ exit 1
84
+ end
85
+ TrustyCms::Initializer.run(:set_load_path)
86
+ TrustyCms::Initializer.run(:install_gem_spec_stubs)
87
+ Rails::GemDependency.add_frozen_gem_path
88
+ end
89
+ end
90
+
91
+ class VendorBoot < Boot
92
+ def load_initializer
93
+ $LOAD_PATH.unshift "#{Rails.root}/vendor/trusty_cms/lib"
94
+ super
95
+ end
96
+
97
+ def load_error_message
98
+ "Please verify that vendor/radiant contains a complete copy of the TrustyCms sources."
99
+ end
100
+ end
101
+
102
+ class AppBoot < Boot
103
+ def load_initializer
104
+ $LOAD_PATH.unshift "#{Rails.root}/lib"
105
+ super
106
+ end
107
+
108
+ def load_error_message
109
+ "Please verify that you have a complete copy of the TrustyCms sources."
110
+ end
111
+ end
112
+
113
+ class GemBoot < Boot
114
+ # The location and version of the radiant gem should be set in your Gemfile
115
+ def load_error_message
116
+ "Have you run `bundle install`?'."
117
+ end
118
+ end
119
+ end
120
+
121
+ # All that for this:
122
+ TrustyCms.boot!
@@ -0,0 +1,2 @@
1
+ require File.dirname(__FILE__) + '/config/environment'
2
+ run ActionController::Dispatcher.new
@@ -0,0 +1,83 @@
1
+ # Be sure to restart your server when you modify this file
2
+
3
+ # Uncomment below to force Rails into production mode when
4
+ # you don't control web/app server and can't set it the proper way
5
+ # ENV['RAILS_ENV'] ||= 'production'
6
+
7
+ # Specifies gem version of Rails to use when vendor/rails is not present
8
+ require File.join(File.dirname(__FILE__), 'boot')
9
+
10
+ require 'radius'
11
+
12
+ YAML::ENGINE.yamler = 'syck' if RUBY_VERSION =~ /1.9/
13
+
14
+ TrustyCms::Initializer.run do |config|
15
+ # Skip frameworks you're not going to use (only works if using vendor/rails).
16
+ # To use Rails without a database, you must remove the Active Record framework
17
+ # config.frameworks -= [ :action_mailer ]
18
+
19
+ # Only load the extensions named here, in the order given. By default all
20
+ # extensions in vendor/extensions are loaded, in alphabetical order. :all
21
+ # can be used as a placeholder for all extensions not explicitly named.
22
+ # config.extensions = [ :all ]
23
+
24
+ # Unload the extensions named here.
25
+ # config.ignore_extensions []
26
+
27
+ # Your secret key for verifying cookie session data integrity.
28
+ # If you change this key, all old sessions will become invalid!
29
+ # Make sure the secret is at least 30 characters and all random,
30
+ # no regular words or you'll be exposed to dictionary attacks.
31
+ config.action_controller.session = {
32
+ :key => '_<%= app_name %>_session',
33
+ :secret => <% require 'digest/sha1' %>'<%= Digest::SHA1.hexdigest("--#{app_name}--#{Time.now.to_s}--#{rand(10000000)}--") %>'
34
+ }
35
+
36
+ # Comment out this line if you want to turn off all caching, or
37
+ # add options to modify the behavior. In the majority of deployment
38
+ # scenarios it is desirable to leave TrustyCms's cache enabled and in
39
+ # the default configuration.
40
+ #
41
+ # Additional options:
42
+ # :use_x_sendfile => true
43
+ # Turns on X-Sendfile support for Apache with mod_xsendfile or lighttpd.
44
+ # :use_x_accel_redirect => '/some/virtual/path'
45
+ # Turns on X-Accel-Redirect support for nginx. You have to provide
46
+ # a path that corresponds to a virtual location in your webserver
47
+ # configuration.
48
+ # :entitystore => "radiant:tmp/cache/entity"
49
+ # Sets the entity store type (preceding the colon) and storage
50
+ # location (following the colon, relative to Rails.root).
51
+ # We recommend you use radiant: since this will enable manual expiration.
52
+ # :metastore => "radiant:tmp/cache/meta"
53
+ # Sets the meta store type and storage location. We recommend you use
54
+ # radiant: since this will enable manual expiration and acceleration headers.
55
+ config.middleware.use ::TrustyCms::Cache
56
+
57
+ # Use the database for sessions instead of the cookie-based default,
58
+ # which shouldn't be used to store highly confidential information
59
+ # (create the session table with 'rake db:sessions:create')
60
+ config.action_controller.session_store = :cookie_store
61
+
62
+ # Activate observers that should always be running
63
+ config.active_record.observers = :user_action_observer
64
+
65
+ # Make Active Record use UTC-base instead of local time
66
+ config.time_zone = 'UTC'
67
+
68
+ # Set the default field error proc
69
+ config.action_view.field_error_proc = Proc.new do |html, instance|
70
+ if html !~ /label/
71
+ %{<span class="error-with-field">#{html} <span class="error">#{[instance.error_message].flatten.first}</span></span>}
72
+ else
73
+ html
74
+ end
75
+ end
76
+
77
+ config.after_initialize do
78
+ # Add new inflection rules using the following format:
79
+ ActiveSupport::Inflector.inflections do |inflect|
80
+ inflect.uncountable 'config'
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,81 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # If you make any changes in this file, please run `bundle install`.
4
+ # If new versions of your installed gems are available, run `bundle update`
5
+
6
+ gem "radiant", "~> <%= radiant_version %>"
7
+ gem "compass-rails", "~> 1.0.3"
8
+
9
+ # alternatively, in development
10
+ # gem "trusty_cms", :path => "/path/to/trusty_cms/root"
11
+
12
+ # Uncomment to support CoffeeScript with a JS runtime (used in the Sheets extension)
13
+ # gem "execjs"
14
+ # And you may need one of these:
15
+ # gem "mustang" # Google V8 for Ruby
16
+ # gem "therubyracer" # Google V8 for Ruby
17
+ # gem "therubyrhino" # Mozilla Rhino for JRuby
18
+ # gem "johnson" # Mozilla SpiderMonkey for Ruby
19
+
20
+ # SQLite is the default database connection but only suitable for local use
21
+ <%= '# ' unless db == 'sqlite3' %>gem "sqlite3", "~> 1.3.5"
22
+
23
+ # To use MySQL
24
+ <%= '# ' unless db == 'mysql' %>gem "mysql", "~> 2.8.1"
25
+
26
+ # Postgres
27
+ <%= '# ' unless db == 'postgresql' %>gem "pg", "~> 0.11.0"
28
+
29
+ # IBM DB2
30
+ <%= '# ' unless db == 'db2' %>gem "db2", "~> 2.6.2"
31
+
32
+ # SQL Server
33
+ <%= '# ' unless db == 'sqlserver' %>gem "tiny_tds"
34
+ <%= '# ' unless db == 'sqlserver' %>gem "activerecord-sqlserver-adapter", "~> 3.1.0"
35
+
36
+ gem "compass-rails", "~> 1.0.3"
37
+
38
+ # Default Extensions
39
+ gem "radiant-archive-extension", "~> 1.0.7"
40
+ gem "radiant-clipped-extension", "~> 1.1.0"
41
+ gem "radiant-debug-extension", "~> 1.0.2"
42
+ gem "radiant-exporter-extension", "~> 1.1.0"
43
+ gem "radiant-markdown_filter-extension", "~> 1.0.2"
44
+ gem "radiant-sheets-extension", "~> 1.1.0"
45
+ gem "radiant-snippets-extension", "~> 1.1.2"
46
+ gem "radiant-site_templates-extension", "~> 1.0.6"
47
+ gem "radiant-smarty_pants_filter-extension", "~> 1.0.2"
48
+ gem "radiant-textile_filter-extension", "~> 1.0.4"
49
+
50
+
51
+ # Language packs
52
+ # gem "radiant-dutch_language_pack-extension", "~> 1.0.1"
53
+ # gem "radiant-french_language_pack-extension", "~> 1.0.0"
54
+ # gem "radiant-german_language_pack-extension", "~> 1.0.1"
55
+ # gem "radiant-italian_language_pack-extension", "~> 1.0.0"
56
+ # gem "radiant-japanese_language_pack-extension", "~> 1.0.0"
57
+ # gem "radiant-russian_language_pack-extension", "~> 1.0.0"
58
+
59
+ # A standard gem extension
60
+ # gem "radiant-example-extension", :version => "~> 1.0.0"
61
+
62
+ # Your own forked extension
63
+ # gem "radiant-modified-extension", :git => "git://github.com/your/fork.git"
64
+
65
+ # A local extension in development
66
+ # gem "radiant-new-extension", :path => "/path/to/extension/root"
67
+
68
+ # Gems you would like to have in your development environment
69
+ # group :development do
70
+ # gem "wirble"
71
+ # end
72
+
73
+ # If you're running tests or specs
74
+ # group :test do
75
+ # gem "cucumber-rails", "~> 0.3.2"
76
+ # gem "database_cleaner", "~> 0.6.5"
77
+ # gem "webrat", "~> 0.7.3"
78
+ # gem "rspec-rails", "~> 1.3.3"
79
+ # gem "sqlite3", "~> 1.3.4"
80
+ # gem "ZenTest", "4.6.2"
81
+ # end
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ require File.expand_path('../../config/boot', __FILE__)
3
+ require 'generators/generator_base_extension'
4
+
5
+ Rails::Generator::Base.prepend_sources(Rails::Generator::PathSource.new(:builtin, "#{TrustyCms.root}/lib/generators"))
6
+ require 'commands/generate'
@@ -0,0 +1,16 @@
1
+ TrustyCms.config do |config|
2
+ # this file can be used to set defaults, options and validation rules for local configuration settings.
3
+ # core settings are defined in TRUSTY_CMS_ROOT/config/initializers/radiant_config.rb and by the corresponding
4
+ # file in each radiant extension. You probably don't need to add anything here, but in case you do:
5
+
6
+ # config.define 'site.show_footer?', :default => "true"
7
+ # config.define 'S3.bucket', :default => "key", :allow_change => false
8
+
9
+ # you can also use this file to set config values (by environment, for example):
10
+
11
+ # if Rails.env == 'production'
12
+ # config['cache.duration'] = 86400
13
+ # else
14
+ # config['cache.duration'] = 0
15
+ # end
16
+ end
@@ -0,0 +1,3 @@
1
+ require File.join(File.dirname(__FILE__), 'config', 'boot')
2
+
3
+ import File.join(TRUSTY_CMS_ROOT, 'Rakefile')
@@ -0,0 +1 @@
1
+ load File.join(TRUSTY_CMS_ROOT, "config", "routes.rb")
@@ -0,0 +1,27 @@
1
+ Description:
2
+ The language_extension generator creates stubs for a new TrustyCms translation.
3
+
4
+ The generator takes an language abbreviation as its argument. The extension name may be
5
+ given as a language abbreviation 'en' or a localized abbreviation 'en-GB' and should not
6
+ be prefixed with 'i18n' or suffixed with 'Extension'.
7
+
8
+ The generator creates an extension directory in vendor/extensions that includes
9
+ i18n_<extension_name>_extension.rb, README and Rakefile files as well as lib, task,
10
+ and test directories.
11
+
12
+ Example:
13
+ ./script/generate language_extension fr
14
+
15
+ This will create:
16
+ vendor/extensions/i18n_fr/config/locales/fr.yml
17
+ vendor/extensions/i18n_fr/lib/tasks
18
+ vendor/extensions/i18n_fr/README
19
+ vendor/extensions/i18n_fr/i18n_fr_extension.rb
20
+ vendor/extensions/i18n_fr/lib/tasks/i18n_fr_extension_tasks.rake
21
+ vendor/extensions/i18n_fr/spec/controllers
22
+ vendor/extensions/i18n_fr/spec/models
23
+ vendor/extensions/i18n_fr/spec/views
24
+ vendor/extensions/i18n_fr/spec/helpers
25
+ vendor/extensions/i18n_fr/Rakefile
26
+ vendor/extensions/i18n_fr/spec/spec_helper.rb
27
+ vendor/extensions/i18n_fr/spec/spec.opts
@@ -0,0 +1,71 @@
1
+ class LanguageExtensionGenerator < Rails::Generator::NamedBase
2
+ default_options :with_test_unit => false
3
+
4
+ attr_reader :extension_path, :extension_file_name, :localization_name
5
+
6
+ def initialize(runtime_args, runtime_options = {})
7
+ super
8
+ @extension_file_name = "#{file_name}_language_pack_extension"
9
+ @extension_path = "vendor/extensions/#{file_name}_language_pack"
10
+ @localization_name = localization_name
11
+ end
12
+
13
+ def manifest
14
+ record do |m|
15
+ m.directory "#{extension_path}/config/locales"
16
+ m.directory "#{extension_path}/lib/tasks"
17
+
18
+ m.template 'README', "#{extension_path}/README"
19
+ m.template 'extension.rb', "#{extension_path}/#{extension_file_name}.rb"
20
+ # m.template 'tasks.rake', "#{extension_path}/lib/tasks/#{extension_file_name}_tasks.rake"
21
+ m.template 'lang.yml', "#{extension_path}/config/locales/#{localization_name}.yml"
22
+ m.template 'available_tags.yml', "#{extension_path}/config/locales/#{localization_name}_available_tags.yml"
23
+ m.template 'lib.rb', "#{extension_path}/lib/radiant-#{file_name}_language_pack-extension.rb"
24
+ m.template 'gemspec.rb', "#{extension_path}/radiant-#{file_name}_language_pack-extension.gemspec"
25
+ end
26
+
27
+ end
28
+
29
+ def class_name
30
+ super.to_name.gsub(' ', '') + 'LanguagePackExtension'
31
+ end
32
+
33
+ def extension_name
34
+ class_name.to_name('Extension')
35
+ end
36
+
37
+ def author_info
38
+ @author_info ||= begin
39
+ Git.global_config
40
+ rescue NameError
41
+ {}
42
+ end
43
+ end
44
+
45
+ def homepage
46
+ author_info['github.user'] ? "http://github.com/#{author_info['github.user']}/radiant-#{file_name}-extension" : "http://example.com/#{file_name}"
47
+ end
48
+
49
+ def author_email
50
+ author_info['user.email'] || 'your email'
51
+ end
52
+
53
+ def author_name
54
+ author_info['user.name'] || 'Your Name'
55
+ end
56
+
57
+ def add_options!(opt)
58
+ # opt.separator ''
59
+ # opt.separator 'Options:'
60
+ # opt.on("--with-test-unit",
61
+ # "Use Test::Unit for this extension instead of RSpec") { |v| options[:with_test_unit] = v }
62
+ end
63
+
64
+ def localization_name
65
+ file_name.split('_')[1] ? "#{file_name.split('_')[0]}-#{file_name.split('_')[1].upcase}" : file_name
66
+ end
67
+
68
+ def copy_files
69
+ FileUtils.cp("#{TRUSTY_CMS_ROOT}/config/locales/en_available_tags.yml","#{TRUSTY_CMS_ROOT}/#{extension_path}/config/locales/#{localization_name}_available_tags.yml")
70
+ end
71
+ end
@@ -0,0 +1,3 @@
1
+ = <%= extension_name %>
2
+
3
+ Description goes here