trusty-cms 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,553 @@
1
+ ---
2
+ <%= localization_name %>:
3
+ desc:
4
+ author:
5
+ Renders the name of the author of the current page.
6
+
7
+ breadcrumb:
8
+ Renders the @breadcrumb@ attribute of the current page.
9
+
10
+ breadcrumbs:
11
+ Renders a trail of breadcrumbs to the current page. The separator attribute
12
+ specifies the HTML fragment that is inserted between each of the breadcrumbs. By
13
+ default it is set to @>@. The boolean nolinks attribute can be specified to render
14
+ breadcrumbs in plain text, without any links (useful when generating title tag).
15
+
16
+ *Usage&#58;*
17
+
18
+ <pre><code><r&#58;breadcrumbs [separator="separator_string"] [nolinks="true"] /></code></pre>
19
+
20
+ children-count:
21
+ Renders the total number of children.
22
+
23
+ children-each-child:
24
+ Page attribute tags inside of this tag refer to the current child. This is occasionally
25
+ useful if you are inside of another tag (like &lt;r&#58;find&gt;) and need to refer back to the
26
+ current child.
27
+
28
+ *Usage&#58;*
29
+
30
+ <pre><code><r&#58;children&#58;each>
31
+ <r&#58;child>...</r&#58;child>
32
+ </r&#58;children&#58;each>
33
+ </code></pre>
34
+
35
+ children-each-header:
36
+ Renders the tag contents only if the contents do not match the previous header. This
37
+ is extremely useful for rendering date headers for a list of child pages.
38
+
39
+ If you would like to use several header blocks you may use the @name@ attribute to
40
+ name the header. When a header is named it will not restart until another header of
41
+ the same name is different.
42
+
43
+ Using the @restart@ attribute you can cause other named headers to restart when the
44
+ present header changes. Simply specify the names of the other headers in a semicolon
45
+ separated list.
46
+
47
+ *Usage&#58;*
48
+
49
+ <pre><code><r&#58;children&#58;each>
50
+ <r&#58;header [name="header_name"] [restart="name1[;name2;...]"]>
51
+ ...
52
+ </r&#58;header>
53
+ </r&#58;children&#58;each>
54
+ </code></pre>
55
+
56
+ children-each-if_first:
57
+ Renders the tag contents only if the current page is the first child in the context of
58
+ a children&#58;each tag
59
+
60
+ *Usage&#58;*
61
+
62
+ <pre><code><r&#58;children&#58;each>
63
+ <r&#58;if_first >
64
+ ...
65
+ </r&#58;if_first>
66
+ </r&#58;children&#58;each>
67
+ </code></pre>
68
+
69
+
70
+ children-each-if_last:
71
+ Renders the tag contents only if the current page is the last child in the context of
72
+ a children&#58;each tag
73
+
74
+ *Usage&#58;*
75
+
76
+ <pre><code><r&#58;children&#58;each>
77
+ <r&#58;if_last >
78
+ ...
79
+ </r&#58;if_last>
80
+ </r&#58;children&#58;each>
81
+ </code></pre>
82
+
83
+
84
+ children-each-unless_first:
85
+ Renders the tag contents unless the current page is the first child in the context of
86
+ a children&#58;each tag
87
+
88
+ *Usage&#58;*
89
+
90
+ <pre><code><r&#58;children&#58;each>
91
+ <r&#58;unless_first >
92
+ ...
93
+ </r&#58;unless_first>
94
+ </r&#58;children&#58;each>
95
+ </code></pre>
96
+
97
+
98
+ children-each-unless_last:
99
+ Renders the tag contents unless the current page is the last child in the context of
100
+ a children&#58;each tag
101
+
102
+ *Usage&#58;*
103
+
104
+ <pre><code><r&#58;children&#58;each>
105
+ <r&#58;unless_last >
106
+ ...
107
+ </r&#58;unless_last>
108
+ </r&#58;children&#58;each>
109
+ </code></pre>
110
+
111
+
112
+ children-each:
113
+ Cycles through each of the children. Inside this tag all page attribute tags
114
+ are mapped to the current child page.
115
+
116
+ *Usage&#58;*
117
+
118
+ <pre><code><r&#58;children&#58;each [offset="number"] [limit="number"]
119
+ [by="published_at|updated_at|created_at|slug|title|keywords|description"]
120
+ [order="asc|desc"] [status="draft|reviewed|published|hidden|all"]>
121
+ ...
122
+ </r&#58;children&#58;each>
123
+ </code></pre>
124
+
125
+ children-first:
126
+ Returns the first child. Inside this tag all page attribute tags are mapped to
127
+ the first child. Takes the same ordering options as @<r&#58;children&#58;each>@.
128
+
129
+ *Usage&#58;*
130
+
131
+ <pre><code><r&#58;children&#58;first>...</r&#58;children&#58;first></code></pre>
132
+
133
+ children-last:
134
+ Returns the last child. Inside this tag all page attribute tags are mapped to
135
+ the last child. Takes the same ordering options as @<r&#58;children&#58;each>@.
136
+
137
+ *Usage&#58;*
138
+
139
+ <pre><code><r&#58;children&#58;last>...</r&#58;children&#58;last></code></pre>
140
+
141
+ children:
142
+ Gives access to a page's children.
143
+
144
+ *Usage&#58;*
145
+
146
+ <pre><code><r&#58;children>...</r&#58;children></code></pre>
147
+
148
+ comment:
149
+ Nothing inside a set of comment tags is rendered.
150
+
151
+ *Usage&#58;*
152
+
153
+ <pre><code><r&#58;comment>...</r&#58;comment></code></pre>
154
+
155
+ content:
156
+ Renders the main content of a page. Use the @part@ attribute to select a specific
157
+ page part. By default the @part@ attribute is set to body. Use the @inherit@
158
+ attribute to specify that if a page does not have a content part by that name that
159
+ the tag should render the parent's content part. By default @inherit@ is set to
160
+ @false@. Use the @contextual@ attribute to force a part inherited from a parent
161
+ part to be evaluated in the context of the child page. By default 'contextual'
162
+ is set to true.
163
+
164
+ *Usage&#58;*
165
+
166
+ <pre><code><r&#58;content [part="part_name"] [inherit="true|false"] [contextual="true|false"] /></code></pre>
167
+
168
+ cycle:
169
+ Renders one of the passed values based on a global cycle counter. Use the @reset@
170
+ attribute to reset the cycle to the beginning. Use the @name@ attribute to track
171
+ multiple cycles; the default is @cycle@.
172
+
173
+ *Usage&#58;*
174
+
175
+ <pre><code><r&#58;cycle values="first, second, third" [reset="true|false"] [name="cycle"] /></code></pre>
176
+
177
+ date:
178
+ Renders the date based on the current page (by default when it was published or created).
179
+ The format attribute uses the same formating codes used by the Ruby @strftime@ function. By
180
+ default it's set to @&#37;A, &#37;B &#37;d, &#37;Y@. The @for@ attribute selects which date to render. Valid
181
+ options are @published_at@, @created_at@, @updated_at@, and @now@. @now@ will render the
182
+ current date/time, regardless of the page.
183
+
184
+ *Usage&#58;*
185
+
186
+ <pre><code><r&#58;date [format="&#37;A, &#37;B &#37;d, &#37;Y"] [for="published_at"]/></code></pre>
187
+
188
+ escape_html:
189
+ Escapes angle brackets, etc. for rendering in an HTML document.
190
+
191
+ *Usage&#58;*
192
+
193
+ <pre><code><r&#58;escape_html>...</r&#58;escape_html></code></pre>
194
+
195
+ find:
196
+ Inside this tag all page related tags refer to the page found at the @url@ attribute.
197
+ @url@s may be relative or absolute paths.
198
+
199
+ *Usage&#58;*
200
+
201
+ <pre><code><r&#58;find url="value_to_find">...</r&#58;find></code></pre>
202
+
203
+ if_ancestor_or_self:
204
+ Renders the contained elements if the current contextual page is either the actual page or one of its parents.
205
+
206
+ This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up if the child element is or descends from the current page.
207
+
208
+ *Usage&#58;*
209
+
210
+ <pre><code><r&#58;if_ancestor_or_self>...</r&#58;if_ancestor_or_self></code></pre>
211
+
212
+ if_children:
213
+ Renders the contained elements only if the current contextual page has one or
214
+ more child pages. The @status@ attribute limits the status of found child pages
215
+ to the given status, the default is @"published"@. @status="all"@ includes all
216
+ non-virtual pages regardless of status.
217
+
218
+ *Usage&#58;*
219
+
220
+ <pre><code><r&#58;if_children [status="published"]>...</r&#58;if_children></code></pre>
221
+
222
+ if_content:
223
+ Renders the containing elements if all of the listed parts exist on a page.
224
+ By default the @part@ attribute is set to @body@, but you may list more than one
225
+ part by separating them with a comma. Setting the optional @inherit@ to true will
226
+ search ancestors independently for each part. By default @inherit@ is set to @false@.
227
+
228
+ When listing more than one part, you may optionally set the @find@ attribute to @any@
229
+ so that it will render the containing elements if any of the listed parts are found.
230
+ By default the @find@ attribute is set to @all@.
231
+
232
+ *Usage&#58;*
233
+
234
+ <pre><code><r&#58;if_content [part="part_name, other_part"] [inherit="true"] [find="any"]>...</r&#58;if_content></code></pre>
235
+
236
+ if_dev:
237
+ Renders the containing elements only if TrustyCms in is development mode.
238
+
239
+ *Usage&#58;*
240
+
241
+ <pre><code><r&#58;if_dev>...</r&#58;if_dev></code></pre>
242
+
243
+ if_parent:
244
+ Renders the contained elements only if the current contextual page has a parent, i.e.
245
+ is not the root page.
246
+
247
+ *Usage&#58;*
248
+
249
+ <pre><code><r&#58;if_parent>...</r&#58;if_parent></code></pre>
250
+
251
+ if_self:
252
+ Renders the contained elements if the current contextual page is also the actual page.
253
+
254
+ This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up if the child element is the current page.
255
+
256
+ *Usage&#58;*
257
+
258
+ <pre><code><r&#58;if_self>...</r&#58;if_self></code></pre>
259
+
260
+ if_url:
261
+ Renders the containing elements only if the page's url matches the regular expression
262
+ given in the @matches@ attribute. If the @ignore_case@ attribute is set to false, the
263
+ match is case sensitive. By default, @ignore_case@ is set to true.
264
+
265
+ *Usage&#58;*
266
+
267
+ <pre><code><r&#58;if_url matches="regexp" [ignore_case="true|false"]>...</r&#58;if_url></code></pre>
268
+
269
+ link:
270
+ Renders a link to the page. When used as a single tag it uses the page's title
271
+ for the link name. When used as a double tag the part in between both tags will
272
+ be used as the link text. The link tag passes all attributes over to the HTML
273
+ @a@ tag. This is very useful for passing attributes like the @class@ attribute
274
+ or @id@ attribute. If the @anchor@ attribute is passed to the tag it will
275
+ append a pound sign (<code>#</code>) followed by the value of the attribute to
276
+ the @href@ attribute of the HTML @a@ tag--effectively making an HTML anchor.
277
+
278
+ *Usage&#58;*
279
+
280
+ <pre><code><r&#58;link [anchor="name"] [other attributes...] /></code></pre>
281
+
282
+ or
283
+
284
+ <pre><code><r&#58;link [anchor="name"] [other attributes...]>link text here</r&#58;link></code></pre>
285
+
286
+ markdown:
287
+ Filters its contents with the Markdown filter.
288
+
289
+ *Usage&#58;*
290
+
291
+ <pre><code><r&#58;markdown>** bold text **</r&#58;markdown></code></pre>
292
+
293
+ produces
294
+
295
+ <pre><code><strong> bold text </strong></code></pre>
296
+
297
+ meta-description:
298
+ Emits the page description field in a meta tag, unless attribute
299
+ 'tag' is set to 'false'.
300
+
301
+ *Usage&#58;*
302
+
303
+ <pre><code> <r&#58;meta&#58;description [tag="false"] /> </code></pre>
304
+
305
+ meta-keywords:
306
+ Emits the page keywords field in a meta tag, unless attribute
307
+ 'tag' is set to 'false'.
308
+
309
+ *Usage&#58;*
310
+
311
+ <pre><code> <r&#58;meta&#58;keywords [tag="false"] /> </code></pre>
312
+
313
+ meta:
314
+ The namespace for 'meta' attributes. If used as a singleton tag, both the description
315
+ and keywords fields will be output as &lt;meta /&gt; tags unless the attribute 'tag' is set to 'false'.
316
+
317
+ *Usage&#58;*
318
+
319
+ <pre><code> <r&#58;meta [tag="false"] />
320
+ <r&#58;meta>
321
+ <r&#58;description [tag="false"] />
322
+ <r&#58;keywords [tag="false"] />
323
+ </r&#58;meta>
324
+ </code></pre>
325
+
326
+ navigation-if_first:
327
+ Renders the containing elements if the element is the first
328
+ in the navigation list
329
+
330
+ *Usage&#58;*
331
+
332
+ <pre><code><r&#58;normal><r&#58;if_first>...</r&#58;if_first></r&#58;normal></code></pre>
333
+
334
+ navigation-if_last:
335
+ Renders the containing elements if the element is the last
336
+ in the navigation list
337
+
338
+ *Usage&#58;*
339
+
340
+ <pre><code><r&#58;normal><r&#58;if_last>...</r&#58;if_last></r&#58;normal></code></pre>
341
+
342
+ navigation:
343
+ Renders a list of links specified in the @urls@ attribute according to three
344
+ states&#58;
345
+
346
+ * @normal@ specifies the normal state for the link
347
+ * @here@ specifies the state of the link when the url matches the current
348
+ page's URL
349
+ * @selected@ specifies the state of the link when the current page matches
350
+ is a child of the specified url
351
+ # @if_last@ renders its contents within a @normal@, @here@ or
352
+ @selected@ tag if the item is the last in the navigation elements
353
+ # @if_first@ renders its contents within a @normal@, @here@ or
354
+ @selected@ tag if the item is the first in the navigation elements
355
+
356
+ The @between@ tag specifies what should be inserted in between each of the links.
357
+
358
+ *Usage&#58;*
359
+
360
+ <pre><code><r&#58;navigation urls="[Title&#58; url | Title&#58; url | ...]">
361
+ <r&#58;normal><a href="<r&#58;url />"><r&#58;title /></a></r&#58;normal>
362
+ <r&#58;here><strong><r&#58;title /></strong></r&#58;here>
363
+ <r&#58;selected><strong><a href="<r&#58;url />"><r&#58;title /></a></strong></r&#58;selected>
364
+ <r&#58;between> | </r&#58;between>
365
+ </r&#58;navigation>
366
+ </code></pre>
367
+
368
+ page:
369
+ Causes the tags referring to a page's attributes to refer to the current page.
370
+
371
+ *Usage&#58;*
372
+
373
+ <pre><code><r&#58;page>...</r&#58;page></code></pre>
374
+
375
+ parent:
376
+ Page attribute tags inside this tag refer to the parent of the current page.
377
+
378
+ *Usage&#58;*
379
+
380
+ <pre><code><r&#58;parent>...</r&#58;parent></code></pre>
381
+
382
+ random:
383
+ Randomly renders one of the options specified by the @option@ tags.
384
+
385
+ *Usage&#58;*
386
+
387
+ <pre><code><r&#58;random>
388
+ <r&#58;option>...</r&#58;option>
389
+ <r&#58;option>...</r&#58;option>
390
+ ...
391
+ <r&#58;random>
392
+ </code></pre>
393
+
394
+ rfc1123_date:
395
+ Outputs the published date using the format mandated by RFC 1123. (Ideal for RSS feeds.)
396
+
397
+ *Usage&#58;*
398
+
399
+ <pre><code><r&#58;rfc1123_date /></code></pre>
400
+
401
+ slug:
402
+ Renders the @slug@ attribute of the current page.
403
+
404
+ smarty_pants:
405
+ Filters its contents with the SmartyPants filter.
406
+
407
+ *Usage&#58;*
408
+
409
+ <pre><code><r&#58;smarty_pants>"A revolutionary quotation."</r&#58;smarty_pants></code></pre>
410
+
411
+ produces
412
+
413
+ <pre><code>&#8220;A revolutionary quotation.&#8221;</code></pre>
414
+
415
+ snippet:
416
+ Renders the snippet specified in the @name@ attribute within the context of a page.
417
+
418
+ *Usage&#58;*
419
+
420
+ <pre><code><r&#58;snippet name="snippet_name" /></code></pre>
421
+
422
+ When used as a double tag, the part in between both tags may be used within the
423
+ snippet itself, being substituted in place of @<r&#58;yield/>@.
424
+
425
+ *Usage&#58;*
426
+
427
+ <pre><code><r&#58;snippet name="snippet_name">Lorem ipsum dolor...</r&#58;snippet></code></pre>
428
+
429
+ status:
430
+ Prints the page's status as a string. Optional attribute 'downcase'
431
+ will cause the status to be all lowercase.
432
+
433
+ *Usage&#58;*
434
+
435
+ <pre><code><r&#58;status [downcase='true'] /></code></pre>
436
+
437
+ textile:
438
+ Filters its contents with the Textile filter.
439
+
440
+ *Usage*&#58;
441
+
442
+ <pre><code><r&#58;textile>
443
+ * First
444
+ * Second
445
+ </r&#58;textile></code></pre>
446
+
447
+ produces&#58;
448
+
449
+ <pre><code><ul>
450
+ <li>First</li>
451
+ <li>Second</li>
452
+ </ul></code></pre>
453
+
454
+ title:
455
+ Renders the @title@ attribute of the current page.
456
+
457
+ unless_ancestor_or_self:
458
+ Renders the contained elements unless the current contextual page is either the actual page or one of its parents.
459
+
460
+ This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up unless the child element is or descends from the current page.
461
+
462
+ *Usage&#58;*
463
+
464
+ <pre><code><r&#58;unless_ancestor_or_self>...</r&#58;unless_ancestor_or_self></code></pre>
465
+
466
+ unless_children:
467
+ Renders the contained elements only if the current contextual page has no children.
468
+ The @status@ attribute limits the status of found child pages to the given status,
469
+ the default is @"published"@. @status="all"@ includes all non-virtual pages
470
+ regardless of status.
471
+
472
+ *Usage&#58;*
473
+
474
+ <pre><code><r&#58;unless_children [status="published"]>...</r&#58;unless_children></code></pre>
475
+
476
+ unless_content:
477
+ The opposite of the @if_content@ tag. It renders the contained elements if all of the
478
+ specified parts do not exist. Setting the optional @inherit@ to true will search
479
+ ancestors independently for each part. By default @inherit@ is set to @false@.
480
+
481
+ When listing more than one part, you may optionally set the @find@ attribute to @any@
482
+ so that it will not render the containing elements if any of the listed parts are found.
483
+ By default the @find@ attribute is set to @all@.
484
+
485
+ *Usage&#58;*
486
+
487
+ <pre><code><r&#58;unless_content [part="part_name, other_part"] [inherit="false"] [find="any"]>...</r&#58;unless_content></code></pre>
488
+
489
+ unless_dev:
490
+ The opposite of the @if_dev@ tag.
491
+
492
+ *Usage&#58;*
493
+
494
+ <pre><code><r&#58;unless_dev>...</r&#58;unless_dev></code></pre>
495
+
496
+ unless_parent:
497
+ Renders the contained elements only if the current contextual page has no parent, i.e.
498
+ is the root page.
499
+
500
+ *Usage&#58;*
501
+
502
+ <pre><code><r&#58;unless_parent>...</r&#58;unless_parent></code></pre>
503
+
504
+ unless_self:
505
+ Renders the contained elements unless the current contextual page is also the actual page.
506
+
507
+ This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up unless the child element is the current page.
508
+
509
+ *Usage&#58;*
510
+
511
+ <pre><code><r&#58;unless_self>...</r&#58;unless_self></code></pre>
512
+
513
+ unless_url:
514
+ The opposite of the @if_url@ tag.
515
+
516
+ *Usage&#58;*
517
+
518
+ <pre><code><r&#58;unless_url matches="regexp" [ignore_case="true|false"]>...</r&#58;unless_url></code></pre>
519
+
520
+ url:
521
+ Renders the @url@ attribute of the current page.
522
+
523
+ yield:
524
+ Used within a snippet as a placeholder for substitution of child content, when
525
+ the snippet is called as a double tag.
526
+
527
+ *Usage (within a snippet)&#58;*
528
+
529
+ <pre><code>
530
+ <div id="outer">
531
+ <p>before</p>
532
+ <r&#58;yield/>
533
+ <p>after</p>
534
+ </div>
535
+ </code></pre>
536
+
537
+ If the above snippet was named "yielding", you could call it from any Page,
538
+ Layout or Snippet as follows&#58;
539
+
540
+ <pre><code><r&#58;snippet name="yielding">Content within</r&#58;snippet></code></pre>
541
+
542
+ Which would output the following&#58;
543
+
544
+ <pre><code>
545
+ <div id="outer">
546
+ <p>before</p>
547
+ Content within
548
+ <p>after</p>
549
+ </div>
550
+ </code></pre>
551
+
552
+ When called in the context of a Page or a Layout, @<r&#58;yield/>@ outputs nothing.
553
+
@@ -0,0 +1 @@
1
+ default: --format progress features --tags ~@proposed,~@in_progress
@@ -0,0 +1,16 @@
1
+ # Sets up the Rails environment for Cucumber
2
+ ENV["Rails.env"] = "test"
3
+ # Extension root
4
+ extension_env = File.expand_path(File.dirname(__FILE__) + '/../../../../../config/environment')
5
+ require extension_env+'.rb'
6
+
7
+ Dir.glob(File.join(TRUSTY_CMS_ROOT, "features", "**", "*.rb")).each {|step| require step}
8
+
9
+ Cucumber::Rails::World.class_eval do
10
+ include Dataset
11
+ datasets_directory "#{TRUSTY_CMS_ROOT}/spec/datasets"
12
+ Dataset::Resolver.default = Dataset::DirectoryResolver.new("#{TRUSTY_CMS_ROOT}/spec/datasets", File.dirname(__FILE__) + '/../../spec/datasets', File.dirname(__FILE__) + '/../datasets')
13
+ self.datasets_database_dump_path = "#{Rails.root}/tmp/dataset"
14
+
15
+ # dataset :<%= file_name %>
16
+ end
@@ -0,0 +1,14 @@
1
+ def path_to(page_name)
2
+ case page_name
3
+
4
+ when /the homepage/i
5
+ root_path
6
+
7
+ when /login/i
8
+ login_path
9
+ # Add more page name => path mappings here
10
+
11
+ else
12
+ raise "Can't find mapping from \"#{page_name}\" to a path."
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # Uncomment this if you reference any of your controllers in activate
2
+ # require_dependency "application_controller"
3
+ require "radiant-<%= file_name %>_language_pack-extension"
4
+
5
+ class <%= class_name %> < TrustyCms::Extension
6
+ version TrustyCms<%= class_name %>::VERSION
7
+ description TrustyCms<%= class_name %>::DESCRIPTION
8
+ url TrustyCms<%= class_name %>::URL
9
+
10
+ def activate
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class <%= class_name %>Test < Test::Unit::TestCase
4
+
5
+ # Replace this with your real tests.
6
+ def test_this_extension
7
+ flunk
8
+ end
9
+
10
+ def test_initialization
11
+ assert_equal File.join(File.expand_path(Rails.root), 'vendor', 'extensions', '<%= file_name %>'), <%= class_name %>.root
12
+ assert_equal '<%= extension_name %>', <%= class_name %>.extension_name
13
+ end
14
+
15
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "radiant-<%= file_name %>_language_pack-extension"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "radiant-<%= file_name %>_language_pack-extension"
7
+ s.version = TrustyCms<%= class_name %>::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = TrustyCms<%= class_name %>::AUTHORS
10
+ s.email = TrustyCms<%= class_name %>::EMAIL
11
+ s.homepage = TrustyCms<%= class_name %>::URL
12
+ s.summary = TrustyCms<%= class_name %>::SUMMARY
13
+ s.description = TrustyCms<%= class_name %>::DESCRIPTION
14
+
15
+ ignores = if File.exist?('.gitignore')
16
+ File.read('.gitignore').split("\n").inject([]) {|a,p| a + Dir[p] }
17
+ else
18
+ []
19
+ end
20
+ s.files = Dir['**/*'] - ignores
21
+ s.test_files = Dir['test/**/*','spec/**/*','features/**/*'] - ignores
22
+ # s.executables = Dir['bin/*'] - ignores
23
+ s.require_paths = ["lib"]
24
+ end