zena 1.0.0.rc2 → 1.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (274) hide show
  1. data/History.txt +23 -0
  2. data/README.rdoc +1 -1
  3. data/app/controllers/columns_controller.rb +3 -31
  4. data/app/controllers/comments_controller.rb +8 -3
  5. data/app/controllers/data_entries_controller.rb +1 -1
  6. data/app/controllers/documents_controller.rb +2 -2
  7. data/app/controllers/nodes_controller.rb +29 -12
  8. data/app/controllers/relations_controller.rb +2 -2
  9. data/app/controllers/sites_controller.rb +1 -1
  10. data/app/controllers/user_sessions_controller.rb +6 -3
  11. data/app/controllers/users_controller.rb +18 -16
  12. data/app/controllers/versions_controller.rb +20 -18
  13. data/app/controllers/virtual_classes_controller.rb +103 -17
  14. data/app/helpers/users_helper.rb +1 -1
  15. data/app/models/column.rb +19 -50
  16. data/app/models/comment.rb +2 -1
  17. data/app/models/node.rb +45 -22
  18. data/app/models/relation.rb +13 -0
  19. data/app/models/relation_proxy.rb +3 -2
  20. data/app/models/role.rb +213 -4
  21. data/app/models/site.rb +18 -11
  22. data/app/models/template.rb +37 -35
  23. data/app/models/version.rb +1 -1
  24. data/app/models/virtual_class.rb +154 -86
  25. data/app/views/columns/_li.html.erb +1 -1
  26. data/app/views/columns/index.html.erb +1 -9
  27. data/app/views/comments/index.rhtml +10 -8
  28. data/app/views/documents/_crop.rhtml +5 -6
  29. data/app/views/documents/crop_form.rjs +3 -2
  30. data/app/views/groups/index.rhtml +1 -1
  31. data/app/views/iformats/index.rhtml +1 -1
  32. data/app/views/nodes/_import_results.rhtml +1 -1
  33. data/app/views/nodes/_parent.rhtml +1 -2
  34. data/app/views/nodes/update.rjs +3 -4
  35. data/app/views/relations/index.erb +1 -1
  36. data/app/views/sites/index.erb +1 -1
  37. data/app/views/templates/drive_tabs/_drive.rhtml +0 -2
  38. data/app/views/templates/edit_tabs/_image.rhtml +1 -1
  39. data/app/views/templates/edit_tabs/_title.rhtml +0 -6
  40. data/app/views/users/index.rhtml +1 -1
  41. data/app/views/users/preferences.html.erb +2 -2
  42. data/app/views/versions/backup.rjs +1 -1
  43. data/app/views/versions/custom_tab.rhtml +9 -4
  44. data/app/views/versions/destroy.rjs +2 -2
  45. data/app/views/versions/update.rjs +2 -9
  46. data/app/views/virtual_classes/_form.erb +3 -2
  47. data/app/views/virtual_classes/import_prepare.html.erb +13 -0
  48. data/app/views/virtual_classes/index.erb +28 -8
  49. data/app/views/zafu/default/Node-+adminLayout.zafu +1 -13
  50. data/app/views/zafu/default/Node-+login.zafu +1 -0
  51. data/app/views/zafu/default/Node-+notFound.zafu +1 -1
  52. data/app/views/zafu/default/Node-+popupLayout.zafu +1 -2
  53. data/app/views/zafu/default/Node-+search.zafu +1 -1
  54. data/app/views/zafu/default/Node-admin.zafu +205 -0
  55. data/app/views/zafu/default/Node.zafu +11 -11
  56. data/bricks/captcha/lib/bricks/captcha.rb +3 -2
  57. data/bricks/mongrel/zena/init.rb +2 -1
  58. data/bricks/pdf/README +5 -5
  59. data/bricks/pdf/lib/bricks/pdf/engine/prince.rb +2 -2
  60. data/bricks/pdf/lib/bricks/pdf/engine/xhtml2pdf.rb +2 -2
  61. data/bricks/pdf/lib/bricks/pdf/install.rb +5 -5
  62. data/bricks/pdf/lib/bricks/pdf.rb +11 -11
  63. data/bricks/pdf/test/engines/test_prince.rb +4 -4
  64. data/bricks/pdf/test/engines/test_xhtml2pdf.rb +4 -4
  65. data/bricks/pdf/test/shoulda_macros/shoulda_pdf.rb +2 -2
  66. data/bricks/pdf/zena/init.rb +2 -2
  67. data/bricks/pdf/zena/tasks.rb +2 -2
  68. data/bricks/sphinx/lib/bricks/sphinx.rb +6 -2
  69. data/bricks/sphinx/zena/{sphinx.yml → sphinx.yml.erb} +2 -2
  70. data/bricks/sphinx/zena/tasks.rb +28 -2
  71. data/bricks/tags/lib/bricks/tags.rb +16 -1
  72. data/bricks/tags/zena/test/unit/tags_test.rb +15 -0
  73. data/bricks/tags/zena/test/zafu/tags.yml +5 -1
  74. data/bricks/worker/lib/bricks/worker.rb +39 -0
  75. data/bricks/worker/zena/deploy.rb +0 -2
  76. data/bricks/worker/zena/init.rb +1 -0
  77. data/bricks/worker/zena/test/sites/zena/delayed_jobs.yml +16 -0
  78. data/bricks/worker/zena/test/zafu/worker.yml +8 -0
  79. data/bricks/zena/zena/migrate/01_base.rb +36 -60
  80. data/bricks/zena/zena/migrate/02_zerox1_schema.rb +388 -0
  81. data/bricks/zena/zena/migrate/03_zerox1_data.rb +380 -0
  82. data/bricks/zena/zena/migrate/20110315161158_add_reverse_scope_to_roles.rb +9 -0
  83. data/config/database_example.yml +1 -1
  84. data/config/environment.rb +1 -1
  85. data/config/gems.yml +17 -14
  86. data/db/init/base/skins/default/Node-+index.zafu +8 -1
  87. data/db/init/base/skins/default/Node-+login.zafu +1 -0
  88. data/db/init/base/skins/default/Node-+popupLayout.zafu +1 -2
  89. data/db/init/base/skins/default/Node-+search.zafu +2 -2
  90. data/db/init/base/skins/default/Node.zafu +9 -9
  91. data/db/init/base/skins/default/{favicon.png → img/favicon.png} +0 -0
  92. data/db/init/base/skins/default/{style.css → img/style.css} +0 -0
  93. data/db/init/base/skins/default/img/translations.yml +11 -0
  94. data/db/init/base/skins/default/notes.zafu +7 -9
  95. data/doc/zafu_changes.yml +12 -0
  96. data/lib/bricks/loader.rb +38 -15
  97. data/lib/tasks/zena.rake +74 -24
  98. data/lib/zena/acts/enrollable.rb +4 -1
  99. data/lib/zena/acts/secure.rb +2 -48
  100. data/lib/zena/acts/serializable.rb +13 -1
  101. data/lib/zena/app.rb +9 -0
  102. data/lib/zena/code_syntax.rb +154 -151
  103. data/lib/zena/console.rb +141 -0
  104. data/lib/zena/controller/test_case.rb +1 -1
  105. data/lib/zena/db_helper/abstract_db.rb +17 -5
  106. data/lib/zena/db_helper/mysql.rb +14 -12
  107. data/lib/zena/db_helper/postgresql.rb +1 -2
  108. data/lib/zena/db_helper/sqlite3.rb +6 -6
  109. data/lib/zena/deploy/awstats.conf.rhtml +1 -1
  110. data/lib/zena/deploy/httpd.rhtml +6 -1
  111. data/lib/zena/deploy/vhost.rhtml +9 -1
  112. data/lib/zena/deploy.rb +12 -7
  113. data/lib/zena/foxy_parser.rb +3 -1
  114. data/lib/zena/info.rb +1 -1
  115. data/lib/zena/parser/zafu_tags.rb +1 -0
  116. data/lib/zena/parser/zazen_rules.rb +1 -1
  117. data/lib/zena/remote/node.rb +15 -3
  118. data/lib/zena/remote/serializable_array.rb +19 -0
  119. data/lib/zena/remote.rb +1 -0
  120. data/lib/zena/routes.rb +7 -2
  121. data/lib/zena/site_worker.rb +11 -1
  122. data/lib/zena/unit/test_case.rb +68 -0
  123. data/lib/zena/use/action.rb +6 -2
  124. data/lib/zena/use/ajax.rb +127 -53
  125. data/lib/zena/use/ancestry.rb +11 -8
  126. data/lib/zena/use/calendar.rb +265 -129
  127. data/lib/zena/use/conditional.rb +1 -1
  128. data/lib/zena/use/context.rb +5 -5
  129. data/lib/zena/use/dates.rb +172 -60
  130. data/lib/zena/use/display.rb +70 -39
  131. data/lib/zena/use/error_rendering.rb +1 -3
  132. data/lib/zena/use/field_index.rb +4 -1
  133. data/lib/zena/use/forms.rb +94 -72
  134. data/lib/zena/use/fulltext.rb +16 -24
  135. data/lib/zena/use/html_tags.rb +20 -12
  136. data/lib/zena/use/i18n.rb +37 -37
  137. data/lib/zena/use/image_builder.rb +8 -1
  138. data/lib/zena/use/ml_index.rb +16 -16
  139. data/lib/zena/use/prop_eval.rb +10 -5
  140. data/lib/zena/use/query_builder.rb +55 -23
  141. data/lib/zena/use/query_node.rb +51 -25
  142. data/lib/zena/use/refactor.rb +2 -28
  143. data/lib/zena/use/relations.rb +1 -1
  144. data/lib/zena/use/rendering.rb +29 -0
  145. data/lib/zena/use/scope_index.rb +75 -14
  146. data/lib/zena/use/search.rb +5 -10
  147. data/lib/zena/use/test_helper.rb +2 -2
  148. data/lib/zena/use/urls.rb +125 -104
  149. data/lib/zena/use/workflow.rb +2 -1
  150. data/lib/zena/use/zafu_attributes.rb +2 -2
  151. data/lib/zena/use/zafu_safe_definitions.rb +20 -0
  152. data/lib/zena/use/zafu_templates.rb +20 -6
  153. data/lib/zena/use/zazen.rb +31 -20
  154. data/lib/zena/view/test_case.rb +5 -0
  155. data/lib/zena/zafu_compiler.rb +24 -2
  156. data/lib/zena.rb +12 -6
  157. data/locale/de/LC_MESSAGES/zena.mo +0 -0
  158. data/locale/de/zena.po +1345 -1164
  159. data/locale/en/LC_MESSAGES/zena.mo +0 -0
  160. data/locale/en/zena.po +1275 -1129
  161. data/locale/fr/LC_MESSAGES/zena.mo +0 -0
  162. data/locale/fr/zena.mo +0 -0
  163. data/locale/fr/zena.po +1617 -1441
  164. data/locale/log.txt +9 -0
  165. data/locale/zena.pot +957 -748
  166. data/public/javascripts/prototype.js +1 -1
  167. data/public/javascripts/zena.js +99 -44
  168. data/public/stylesheets/admin.css +6 -4
  169. data/public/stylesheets/backend.css +71 -0
  170. data/public/stylesheets/calendar.css +24 -25
  171. data/public/stylesheets/code.css +11 -6
  172. data/public/stylesheets/comment.css +2 -1
  173. data/public/stylesheets/popup.css +7 -8
  174. data/test/custom_queries/complex.host.yml +15 -1
  175. data/test/fixtures/files/Node-test.zafu +29 -28
  176. data/test/fixtures/files/translations_de.yml +12 -1
  177. data/test/fixtures/files/translations_fr.yml +12 -1
  178. data/test/functional/comments_controller_test.rb +9 -0
  179. data/test/functional/iformats_controller_test.rb +1 -1
  180. data/test/functional/nodes_controller_test.rb +124 -35
  181. data/test/functional/users_controller_test.rb +132 -3
  182. data/test/functional/virtual_classes_controller_test.rb +75 -4
  183. data/test/integration/navigation_test.rb +51 -9
  184. data/test/integration/query_node/basic.yml +19 -7
  185. data/test/integration/query_node/complex.yml +1 -1
  186. data/test/integration/query_node/dates.yml +27 -1
  187. data/test/integration/query_node/filters.yml +1 -1
  188. data/test/integration/query_node/relations.yml +13 -4
  189. data/test/integration/query_node_test.rb +4 -0
  190. data/test/integration/xml_api_test.rb +6 -1
  191. data/test/integration/zafu_compiler/action.yml +3 -3
  192. data/test/integration/zafu_compiler/ajax.yml +103 -22
  193. data/test/integration/zafu_compiler/basic.yml +0 -52
  194. data/test/integration/zafu_compiler/calendar.yml +44 -20
  195. data/test/integration/zafu_compiler/comments.yml +53 -0
  196. data/test/integration/zafu_compiler/complex.yml +11 -11
  197. data/test/integration/zafu_compiler/complex_ok.yml +16 -3
  198. data/test/integration/zafu_compiler/conditional.yml +15 -5
  199. data/test/integration/zafu_compiler/context.yml +9 -0
  200. data/test/integration/zafu_compiler/dates.yml +43 -15
  201. data/test/integration/zafu_compiler/display.yml +60 -6
  202. data/test/integration/zafu_compiler/errors.yml +6 -2
  203. data/test/integration/zafu_compiler/forms.yml +45 -6
  204. data/test/integration/zafu_compiler/i18n.yml +8 -1
  205. data/test/integration/zafu_compiler/meta.yml +38 -0
  206. data/test/integration/zafu_compiler/query.yml +43 -4
  207. data/test/integration/zafu_compiler/relations.yml +26 -33
  208. data/test/integration/zafu_compiler/rubyless.yml +10 -0
  209. data/test/integration/zafu_compiler/safe_definitions.yml +21 -1
  210. data/test/integration/zafu_compiler/urls.yml +75 -5
  211. data/test/integration/zafu_compiler/version.yml +2 -2
  212. data/test/integration/zafu_compiler/zafu_attributes.yml +5 -1
  213. data/test/integration/zafu_compiler/zazen.yml +14 -6
  214. data/test/integration/zafu_compiler_test.rb +5 -1
  215. data/test/sites/complex/columns.yml +5 -0
  216. data/test/sites/complex/roles.yml +4 -0
  217. data/test/sites/zena/nodes.yml +13 -2
  218. data/test/sites/zena/roles.yml +13 -5
  219. data/test/sites/zena/versions.yml +27 -9
  220. data/test/unit/column_test.rb +51 -5
  221. data/test/unit/iformat_test.rb +2 -2
  222. data/test/unit/node_test.rb +29 -17
  223. data/test/unit/note_test.rb +1 -1
  224. data/test/unit/relation_proxy_test.rb +4 -5
  225. data/test/unit/relation_test.rb +16 -0
  226. data/test/unit/remote_test.rb +2 -2
  227. data/test/unit/role_test.rb +292 -4
  228. data/test/unit/site_test.rb +12 -0
  229. data/test/unit/template_test.rb +1 -1
  230. data/test/unit/text_document_test.rb +1 -1
  231. data/test/unit/virtual_class_test.rb +200 -83
  232. data/test/unit/zena/acts/enrollable_test.rb +26 -31
  233. data/test/unit/zena/use/calendar_test.rb +90 -37
  234. data/test/unit/zena/use/field_index_test.rb +28 -0
  235. data/test/unit/zena/use/html_tags_test.rb +7 -3
  236. data/test/unit/zena/use/ml_index_test.rb +2 -16
  237. data/test/unit/zena/use/nested_attributes_alias_view_test.rb +2 -2
  238. data/test/unit/zena/use/prop_eval_test.rb +50 -8
  239. data/test/unit/zena/use/query_node_test.rb +11 -0
  240. data/test/unit/zena/use/rendering_test.rb +72 -0
  241. data/test/unit/zena/use/scope_index_test.rb +37 -2
  242. data/test/unit/zena/use/urls_test.rb +10 -0
  243. data/test/unit/zena/use/zazen_test.rb +3 -3
  244. data/vendor/plugins/gettext_i18n_rails/Gemfile +11 -0
  245. data/vendor/plugins/gettext_i18n_rails/Gemfile.lock +92 -0
  246. data/vendor/plugins/gettext_i18n_rails/Rakefile +12 -17
  247. data/vendor/plugins/gettext_i18n_rails/Readme.md +215 -0
  248. data/vendor/plugins/gettext_i18n_rails/VERSION +1 -1
  249. data/vendor/plugins/gettext_i18n_rails/gettext_i18n_rails.gemspec +38 -34
  250. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/active_record.rb +1 -1
  251. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/backend.rb +30 -14
  252. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb +1 -1
  253. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/html_safe_translations.rb +29 -0
  254. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/i18n_hacks.rb +29 -1
  255. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/model_attributes_finder.rb +7 -1
  256. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/railtie.rb +10 -0
  257. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/ruby_gettext_extractor.rb +6 -2
  258. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/string_interpolate_fix.rb +20 -0
  259. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/tasks.rb +120 -0
  260. data/vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails.rb +10 -3
  261. data/vendor/plugins/gettext_i18n_rails/lib/tasks/gettext_rails_i18n.rake +1 -74
  262. data/vendor/plugins/gettext_i18n_rails/spec/gettext_i18n_rails/active_record_spec.rb +51 -20
  263. data/vendor/plugins/gettext_i18n_rails/spec/gettext_i18n_rails/backend_spec.rb +12 -7
  264. data/vendor/plugins/gettext_i18n_rails/spec/gettext_i18n_rails/string_interpolate_fix_spec.rb +32 -0
  265. data/vendor/plugins/gettext_i18n_rails/spec/gettext_i18n_rails_spec.rb +38 -1
  266. data/vendor/plugins/gettext_i18n_rails/spec/rails2/Gemfile +11 -0
  267. data/vendor/plugins/gettext_i18n_rails/spec/spec_helper.rb +1 -8
  268. data/zena.gemspec +2241 -2217
  269. metadata +123 -83
  270. data/.gitignore +0 -36
  271. data/app/views/nodes/_dates.rhtml +0 -13
  272. data/db/init/base/skins/default/Node-+adminLayout.zafu +0 -46
  273. data/db/init/base/skins/default/Node-tree.zafu +0 -19
  274. data/vendor/plugins/gettext_i18n_rails/README.markdown +0 -143
@@ -5,8 +5,7 @@
5
5
  <div class='hidden'><input type='hidden' name='drive' value='parent'/></div>
6
6
  <% if @node[:parent_id] %><li><label><%= _('parent') %></label><%= select_id('node', 'parent_id') %></li><% end -%>
7
7
  <li><label><%= _('class') %></label><%= select('node', 'klass', @node.class.change_to_classes_for_form) %></li>
8
- <li><label><%= _('name') %></label><%= text_field('node', 'title', :size=>15) %></li>
9
- <% if @node.kind_of?(Page) -%>
8
+ <% if @node.vkind_of?('Page') -%>
10
9
  <li><label><%= _('custom base url') %></label><%= check_box('node', 'custom_base') %></li>
11
10
  <% end -%>
12
11
  <li class='submit'><%= submit_tag _('change') %></li>
@@ -16,14 +16,13 @@ elsif upd = params[:drive]
16
16
  page.replace_html "#{upd}_errors", :inline => @errors ? render_errors : error_messages_for(:node, :object => @node)
17
17
  else
18
18
  page.replace upd, :partial => upd
19
- page.replace 'messages', :inline => flash_messages
19
+ page.replace 'flash_messages', :inline => flash_messages(:page => page)
20
20
  page.visual_effect :highlight, upd
21
- page.visual_effect :fade, 'notice', :duration => 3
22
21
  end
23
22
  else
24
23
  flash['error'] = "unknown 'drive' parameter #{upd.inspect}"
25
- page.replace 'messages', :inline => flash_messages
24
+ page.replace 'flash_messages', :inline => flash_messages(:page => page)
26
25
  end
27
26
  else
28
27
  update_page_content(page, @node)
29
- end
28
+ end
@@ -1,4 +1,4 @@
1
- <h2 class='title'><%= _('manage relations') %></h2>
1
+ <h2 class='title'><%= _('relations') %></h2>
2
2
  <table id='relation_list' class='admin' cellspacing="0">
3
3
  <tr><th class='nav' colspan='9'><%= will_paginate @relations %></th></tr>
4
4
  <%= render :partial=>'relations/li', :collection=>@relations %>
@@ -1,4 +1,4 @@
1
- <h2 class='title'><%= _('manage sites') %></h2>
1
+ <h2 class='title'><%= _('sites') %></h2>
2
2
 
3
3
  <table id='site_list' class='admin' cellspacing="0">
4
4
  <tr><th class='nav' colspan='10'><%= will_paginate @sites %>
@@ -6,6 +6,4 @@
6
6
 
7
7
  <% end -%>
8
8
 
9
- <%= render :partial=>'nodes/dates' %>
10
-
11
9
  <%= render :partial=>'nodes/position' %>
@@ -6,7 +6,7 @@
6
6
  <label for="crop_x"><%= _("image") %></label>
7
7
  <div id="crop" class='toggle_div'>
8
8
  <div class='img_left'><%= link_to_remote(img_tag(@node,:mode=>'pv'), :url => crop_form_document_path(@node[:zip]), :method => :get) %></div>
9
- <ul class='infos'>
9
+ <ul class='crop_options'>
10
10
  <li><%= link_to_remote(_("crop/resize"), :url => crop_form_document_path(@node[:zip]), :method => :get) %></li>
11
11
  <li><%= _('original') %> <%= @node.width %>px / <%= @node.height %>px</li>
12
12
  <li><%= _('size') %> <%= fsize(@node.size) %></li>
@@ -7,12 +7,6 @@
7
7
  <label for='v_lang'><%= _("language") %></label>
8
8
  <%= select 'node', 'v_lang', current_site.lang_list.map {|l| [_(l), l]} %>
9
9
 
10
- <% if @node.kind_of?(Note) -%>
11
- <label for='log_at'><%= _("log date") %></label>
12
- <%= date_box(@node, 'log_at')%>
13
- <label for='event_at'><%= _("event date") %></label>
14
- <%= date_box(@node, 'event_at')%>
15
- <% end -%>
16
10
  <label><%= _('publication date') %></label>
17
11
  <%= date_box(@node, 'v_publish_from') %>
18
12
  <label for="summary"><%= _("summary") %></label>
@@ -1,4 +1,4 @@
1
- <h2 class='title'><%= _('manage users') %></h2>
1
+ <h2 class='title'><%= _('users') %></h2>
2
2
 
3
3
  <table id='user_list' class='admin' cellspacing="0">
4
4
  <tr><th class='nav' colspan='5'><%= will_paginate @users %></th></tr>
@@ -1,6 +1,6 @@
1
- <h3><%= @user.login %> : <%= _('preferences') %> </h3>
1
+ <h2 class='title'><%= @user.login %> : <%= _('preferences') %> </h2>
2
2
 
3
- <ul class='actions' id='preferences'>
3
+ <ul class='actions admin_group' id='preferences'>
4
4
 
5
5
  <li>
6
6
  <div id='user_info'>
@@ -4,7 +4,7 @@ else
4
4
  page << "try {"
5
5
  page.replace_html 'original_caution', :inline=>""
6
6
  page << "} catch(err) {}"
7
- page.replace 'messages', :inline => flash_messages
7
+ page.replace 'messages', :inline => flash_messages(:page => page)
8
8
  page['node_v_id'].value = @node.v_id
9
9
  if flash[:notice]
10
10
  flash[:notice] = nil
@@ -1,5 +1,10 @@
1
- <% @node.schema.columns.each do |name, col| -%>
2
- <% next if %w{title text summary}.include?(name) || !@node.safe_method_type([name]) -%>
3
- <label for='<%= col.name %>'><%= _(col.name) %></label>
4
- <%= text_area 'node', col.name, :cols => nil, :rows => 1, :value => @node.prop[col.name], :class => 'full_width' %>
1
+ <% @node.schema.columns.each do |col_name, col| -%>
2
+ <% next if %w{title text summary}.include?(col_name) || !@node.safe_method_type([col_name]) -%>
3
+ <label for='<%= col_name %>'><%= _(col_name) %></label>
4
+ <% case col.ptype
5
+ when :datetime %>
6
+ <%= date_box(@node, col_name, :size=>15) %>
7
+ <% else %>
8
+ <%= text_area 'node', col_name, :cols => nil, :rows => 1, :value => @node.prop[col_name], :class => 'full_width' %>
9
+ <% end %>
5
10
  <% end -%>
@@ -1,6 +1,6 @@
1
1
  # only called when the last version is destroyed in 'drive' popup
2
- page.replace "messages", :inline => flash_messages
3
- page.replace "versions", :partial => 'list'
2
+ page.replace 'flash_messages', :inline => flash_messages(:page => page)
3
+ page.replace 'versions', :partial => 'list'
4
4
  page.delay(0.3) do
5
5
  page << " if (parent != window) {
6
6
  parent.Zena.version_preview('#{zen_path(@node.parent)}');
@@ -1,9 +1,2 @@
1
- page.replace "messages", :inline => flash_messages
2
- if flash[:notice]
3
- flash[:notice] = nil
4
- page.visual_effect :fade, 'notice', :duration => 5.0
5
- elsif flash[:error]
6
- flash[:error] = nil
7
- page.visual_effect :fade, 'error', :duration => 5.0
8
- end
9
- page.replace "versions", :partial => 'list'
1
+ page.replace "versions", :partial => 'list'
2
+ page.replace 'flash_messages', :inline => flash_messages(:page => page)
@@ -26,16 +26,17 @@
26
26
  </tr>
27
27
  <tr>
28
28
  <td class='label'><%= _('kpath') %></td>
29
- <td><b><%= @virtual_class.kpath %></b><td>
29
+ <td><b><%= @virtual_class.kpath %></b></td>
30
30
  </tr>
31
31
  <tr><td class='label'><%= _('superclass')%></td><td><%= select('virtual_class', 'superclass', Node.classes_for_form(:without => ((@virtual_class.new_record? || @virtual_class.kind_of?(Role)) ? nil : @virtual_class.to_s)), :selected => @virtual_class.superclass.to_s ) %></td></tr>
32
32
 
33
33
  <% if @virtual_class.kind_of?(VirtualClass) -%>
34
34
  <% Zena::Use::Fulltext::FULLTEXT_FIELDS.reverse_each do |fld| -%>
35
35
  <tr><td class='label'><%= _(fld)%></td><td><%= text_area('virtual_class', fld, :rows => 2, :cols => 30) %></td></tr>
36
- <% end -%>
36
+ <% end -%>
37
37
  <tr><td class='label'><%= _('idx_class')%></td><td><%= select('virtual_class', 'idx_class', Zena::Use::ScopeIndex.models_for_form) %></td></tr>
38
38
  <tr><td class='label'><%= _('idx_scope')%></td><td><%= text_area('virtual_class', 'idx_scope', :rows => 2, :cols => 30) %></td></tr>
39
+ <tr><td class='label'><%= _('idx_reverse_scope')%></td><td><%= text_area('virtual_class', 'idx_reverse_scope', :rows => 2, :cols => 30) %></td></tr>
39
40
  <tr><td class='label'><%= _('prop eval')%></td><td><%= text_area('virtual_class', 'prop_eval', :rows => 2, :cols => 30) %></td></tr>
40
41
 
41
42
  <tr><td class='label'><%= _('create group')%></td><td><%= select('virtual_class', 'create_group_id', visitor.all_groups.map{|g| [g.name, g.id]} ) %></td></tr>
@@ -0,0 +1,13 @@
1
+ <h2 class='title'><%= _('classes import') %></h2>
2
+
3
+ <div class='zazen role_diff'><%= @diff %></div>
4
+
5
+ <div class='admin_group'><h3><%= _('import definitions') %></h3>
6
+
7
+ <%= form_tag({ :controller => 'virtual_classes', :action => 'import'}) %>
8
+ <p><%= hidden_field_tag(:roles, @yaml) %></p>
9
+ <p class="btn_validate">
10
+ <%= link_to(_('cancel'), :action => 'index')%> &nbsp;
11
+ <input type="submit" value='<%= _('apply') %>'/></p>
12
+ </form>
13
+ </div>
@@ -1,4 +1,6 @@
1
- <h2 class='title'><%= _('manage classes') %></h2>
1
+ <h2 class='title'><%= _('classes') %></h2>
2
+
3
+ <%= flash_messages %>
2
4
 
3
5
  <table id='virtual_class_list' class='admin' cellspacing="0">
4
6
  <tr><th class='nav' colspan='4'><%= will_paginate @virtual_classes %></th></tr>
@@ -6,10 +8,28 @@
6
8
  <%= render :partial=>'virtual_classes/add' %>
7
9
  </table>
8
10
 
9
- <div class='admin_group'><h3><%= _('import definitions') %></h3>
10
-
11
- <%= form_tag({ :controller => 'virtual_classes', :action => 'import'}, {:multipart => true} ) %>
12
- <input style='line-height:1.5em;' name="attachment" class='file' type="file" />
13
- <p class="btn_validate"><input type="submit" value='<%= _('import') %>'/></p>
14
- </form>
15
- </div>
11
+ <div class='admin_group'>
12
+ <% if @roles_backup -%>
13
+ <h3><%= _('import') %></h3>
14
+ <%= form_tag({ :controller => 'virtual_classes', :action => 'import'}) %>
15
+ <p>
16
+ <%= hidden_field_tag(:roles, @roles_backup) %>
17
+ <%#= hidden_field_tag(:delete_roles, '1') %>
18
+ </p>
19
+ <p class="btn_validate">
20
+ <%= link_to(_('back'), :action => 'index')%> &nbsp;
21
+ <input type="submit" value='<%= _('revert') %>'/>
22
+ </p>
23
+ </form>
24
+ <% else -%>
25
+ <h3><%= link_to(_('export'), :action => 'export') %></h3>
26
+ <h3><%= _('import') %></h3>
27
+ <%= form_tag({ :controller => 'virtual_classes', :action => 'import_prepare'}, {:multipart => true} ) %>
28
+ <p><input style='line-height:1.5em;' name="attachment" class='file' type="file" /></p>
29
+ <p class="btn_validate">
30
+ <%= link_to(_('cancel'), :action => 'index')%> &nbsp;
31
+ <input type="submit" value='<%= _('diff') %>'/>
32
+ </p>
33
+ </form>
34
+ <% end -%>
35
+ </div>
@@ -1,16 +1,4 @@
1
- <r:include template='$default/Node'>
2
- <r:with part='stylesheets'>
3
- <r:stylesheets/>
4
- <r:stylesheets list='default,admin'/>
5
- <link href="style.css" rel="Stylesheet" type="text/css"/>
6
- </r:with>
7
-
8
- <r:with part='context'>
9
- <ol class='admin_links' do='admin_links'>
10
- <li do='each' do='show'><a href='#'>do this</a></li>
11
- </ol>
12
- </r:with>
13
- <r:with part='title'/>
1
+ <r:include template='$default/Node-admin'>
14
2
  <r:with part='content' do='content_for_layout'>
15
3
  <r:include template='Node' part='title'/>
16
4
  <div id='related' do='visitor'>
@@ -20,6 +20,7 @@ td { padding:5px; }
20
20
  <body do='void' name='body'>
21
21
  <div id='login_form'>
22
22
  <p class='welcome' do='link'><r:t>Login for</r:t> <b do='title'/></p>
23
+ <r:flash_messages/>
23
24
  <form action="/session" method="post"> <table>
24
25
  <tr>
25
26
  <td><label for='user_login' do='trans'>User name:</label></td>
@@ -1,4 +1,4 @@
1
- <r:include template='Node'>
1
+ <r:include template='$default/Node'>
2
2
  <r:with part='menu'/>
3
3
  <r:with part='visitor'/>
4
4
  <r:with part='search'/>
@@ -15,8 +15,7 @@
15
15
  <body>
16
16
  <div id='loader'><img src='/images/ajax-loader.gif'/> <r:trans text='uploading'/></div>
17
17
 
18
- <div id='messages'>
19
- </div>
18
+ <r:flash_messages/>
20
19
 
21
20
  <r:content_for_layout/>
22
21
 
@@ -1,4 +1,4 @@
1
- <r:include template='Node'>
1
+ <r:include template='$default/Node'>
2
2
  <r:with part='title'/>
3
3
  <r:with part='container'>
4
4
 
@@ -0,0 +1,205 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <r:if test='visitor.is_anon?' do='not_found'/>
4
+ <html xmlns='http://www.w3.org/1999/xhtml' lang='#{v.lang}' xml:lang='en' do='load' dictionary='translations' missing='ignore'>
5
+ <head do='void' name='head'>
6
+ <title do='title_for_layout' do='show' attr='title' name='page_title'>page title</title>
7
+ <!-- link href='favicon.png' rel='shortcut icon' type='image/png' / -->
8
+ <meta http-equiv='Content-type' content='text/html; charset=utf-8' />
9
+ <r:void name='stylesheets'>
10
+ <r:stylesheets/>
11
+ <r:stylesheets list='backend,admin,comment'/>
12
+ </r:void>
13
+
14
+ <r:javascripts/>
15
+ <r:uses_datebox/>
16
+ </head>
17
+ <body>
18
+ <h1 id='logo' do='link' href='root' mode='admin' do='t'>admin_interface</h1>
19
+ <div id='container'>
20
+ <div id='navigation'>
21
+ <ul id='menu' do='admin_links'>
22
+ <li do='each' do='show'>x</li>
23
+ </ul>
24
+ </div>
25
+
26
+ <div id='content'>
27
+ <h1 id='title'><r:title/> <span class='klass'>(<r:klass/>)</span></h1>
28
+ <div id='preview'>
29
+ <h2 class='preview' do='link' do='t'>view_live</h2>
30
+ <r:Image?>
31
+ <table class='med_prev'><tr><td do='link' update='crop' crop='true'>
32
+ <r:img mode='med'/>
33
+ <span class='crop'>
34
+ <img src='/images/cut_red.png' title='#{t("crop")}'/>
35
+ </span>
36
+ </td></tr></table>
37
+ <r:else do='zazen' attr='text' live='true' code='#{content_lang}'/>
38
+ </r:Image?>
39
+ </div>
40
+
41
+ <div id='actions'>
42
+ <r:if test='can_edit?'>
43
+ <label do='t("edit #{klass}")'/>
44
+ <r:Image?>
45
+ <div id='crop' do='block' do='if' test='params[:crop]'>
46
+ <p do='else'>
47
+ <r:void actions='edit'/>
48
+ <r:link update='crop' crop='true'>
49
+ <img src='/images/cut_red.png'/> <r:t>crop</r:t>
50
+ </r:link>
51
+ </p>
52
+ <p do='link' id='crop_x' update='crop'><r:t>btn_x</r:t> <r:t>cancel</r:t></p>
53
+ <!-- JS trigger must run effect before crop editor -->
54
+ <r:js>$$('#crop>div').each(function(o) { new Effect.Appear(o, {duration:0.5}) });</r:js>
55
+ <div class='mask' style='display:none;'>&nbsp;</div>
56
+ <!--div class='wrap' style='display:none;' onclick='$("crop_x").onclick();'>
57
+ <div class='win' onclick='Event.stop(event);return false;' -->
58
+
59
+ <div class='wrap' style='display:none;'>
60
+ <div class='win'>
61
+ <p class='btn'>
62
+ <p class='backup'><input name='node[v_backup]' type='checkbox' value='true' checked='checked'/><r:t>backup</r:t></p>
63
+ <input type='submit' value='#{t("crop")}'/>
64
+ <p do='link' update='crop' do='t'>btn_x</p>
65
+ </p>
66
+ <div class='crop_ed' do='crop'/>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <r:else>
71
+ <p do='void' actions='edit'/>
72
+ </r:else>
73
+ </r:Image?>
74
+ </r:if>
75
+ <r:if test='can_publish?'>
76
+ <label do='t("publish #{klass}")'/>
77
+ <p do='void' actions='publish'/>
78
+ </r:if>
79
+ <r:if test='can_drive?'>
80
+ <label do='t("move/manage versions")'/>
81
+ <p do='void' actions='drive'/>
82
+ </r:if>
83
+ </div> <!-- actions -->
84
+
85
+ <div id='form' do='form'>
86
+ <r:if test='can_edit?' do='default' label='t'>
87
+ <r:input type='submit'/>
88
+ <input type='hidden' name='redir' value='#{path(this, :mode =&gt; "admin")}'/>
89
+ <div do='vclass' do='roles'>
90
+ <fieldset do='each'>
91
+ <legend do='name'/>
92
+ <ul class='columns' do='columns'>
93
+ <li do='each' do='textarea'/>
94
+ </ul>
95
+ </fieldset>
96
+ </div>
97
+ <r:input type='submit'/>
98
+ </r:if>
99
+ </div> <!-- form -->
100
+
101
+ <div id='browser'>
102
+ <div class='wrap'>
103
+ <div id='query'>
104
+ <div class='search' do='filter' live='true'>
105
+ <r:input param='qb'/>
106
+ </div>
107
+ <div id='qb_list' do='block' do='query' default='nodes in site limit 30 paginate p' select='#{params[:qb] || "nodes in site"} limit 30 paginate p' set_ref='this' set_epar='"qb"'>
108
+ <div class='pages'><r:t>page</r:t>: <r:link page='list' page_count='6' update='qb_list' encode_params='#{epar}'/> (<r:count/> <r:t>rec.</r:t>)</div>
109
+ <ul>
110
+ <r:include template='$default/Node-admin' part='elem'/>
111
+ </ul>
112
+ <r:elsif test='query_errors'>
113
+ <div class='pages error' do='query_errors'/>
114
+ </r:elsif>
115
+ <r:else>
116
+ <div class='pages' do='t'>not_found</div>
117
+ <ul></ul>
118
+ </r:else>
119
+ </div>
120
+ </div> <!-- #query -->
121
+ <div id='parents'>
122
+ <div class='search' do='filter' live='true'>
123
+ <r:input param='f1'/>
124
+ <r:select param='k1' root_class='Node' attr='kpath'/>
125
+ </div>
126
+ <div id='par_list' do='block' do='children where kpath like "#{params[:k1]}%" and title like "%#{params[:f1]}%" from parent from parent limit 30 paginate p' set_ref='parent' set_epar='"k1,f1,qb"'>
127
+ <div class='pages'><r:t>page</r:t>: <r:link page='list' page_count='6' update='par_list' encode_params='#{epar}'/> (<r:count/> <r:t>rec.</r:t>)</div>
128
+ <ul>
129
+ <li do='each' alt_class='stripe' on_if='id == ref.id' name='elem'>
130
+ <r:Image?>
131
+ <r:img mode='tipop'/>
132
+ <r:else>
133
+ <img src='#{vclass.icon || "/images/brick.png"}'/>
134
+ </r:else>
135
+ </r:Image?>
136
+ <r:link mode='admin' encode_params='#{epar}'>
137
+ <span class='id' do='id'/>
138
+ <r:Document?>
139
+ <r:show text='#{title.limit(14)}.#{ext}'/>
140
+ <r:else do='title.limit(23)'/>
141
+ </r:Document?>
142
+ </r:link>
143
+ </li>
144
+ </ul>
145
+ <r:else do='parent'>
146
+ <!-- no grand-parent -->
147
+ <div class='pages'><r:if test='!parent_id'><r:t>root_node</r:t><r:else do='t'>not_found</r:else></r:if></div>
148
+ <ul>
149
+ <r:include template='$default/Node-admin' part='elem' method='void'/>
150
+ </ul>
151
+ <r:else><!-- no parent -->
152
+ <div class='pages' do='t'>no_parent</div>
153
+ <ul>
154
+ </ul>
155
+ </r:else>
156
+ </r:else>
157
+ </div>
158
+ </div> <!-- #parents -->
159
+ <div id='siblings'>
160
+ <div class='search' do='filter' live='true'>
161
+ <r:input param='f2'/>
162
+ <r:select param='k2' root_class='Node' attr='kpath'/>
163
+ </div>
164
+ <div id='sib_list' do='block' do='children where kpath like "#{params[:k2]}%" and title like "%#{params[:f2]}%" from parent limit 30 paginate p' set_ref='this' set_epar='"k2,f2,qb"'>
165
+ <div class='pages'><r:t>page</r:t>: <r:link page='list' page_count='6' update='sib_list' encode_params='#{epar}'/> (<r:count/> <r:t>rec.</r:t>)</div>
166
+ <ul>
167
+ <r:include template='$default/Node-admin' part='elem'/>
168
+ </ul>
169
+ <r:else>
170
+ <!-- no parent, just show self -->
171
+ <div class='pages'><r:if test='!parent_id'><r:t>root_node</r:t><r:else do='t'>not_found</r:else></r:if></div>
172
+ <ul>
173
+ <r:include template='$default/Node-admin' part='elem' method='void'/>
174
+ </ul>
175
+ </r:else>
176
+ </div>
177
+ </div> <!-- #siblings -->
178
+ <div id='children'>
179
+ <div class='search' do='filter' live='true'>
180
+ <r:input param='f3'/>
181
+ <r:select param='k3' root_class='Node' attr='kpath'/>
182
+ </div>
183
+ <div id='ch_list' do='block' do='children where kpath like "#{params[:k3]}%" and title like "%#{params[:f3]}%" limit 30 paginate p' set_epar='"k3,f3,qb"'>
184
+ <div class='pages'><r:t>page</r:t>: <r:link page='list' page_count='6' update='ch_list' encode_params='#{epar}'/> (<r:count/> <r:t>rec.</r:t>)</div>
185
+ <ul>
186
+ <r:each set_ref='main' do='include' template='$default/Node-admin' part='elem' method='void'/>
187
+ <li class='add' do='add' do='t'>add_object</li>
188
+ <li class='add_doc' do='add_document' do='t'>upload_document</li>
189
+ <li do='form'><r:select name='klass' root_class='Node'/> <r:input name='title'/> <r:input type='submit'/></li>
190
+ </ul>
191
+ </div>
192
+ </div> <!-- #children -->
193
+
194
+ <r:js>
195
+ // TODO: scroll only in browser DIV
196
+ // $$('#browser .on').each(function(o) {
197
+ // o.scrollIntoView(true);
198
+ // });
199
+ </r:js>
200
+ </div> <!-- .wrap -->
201
+ </div> <!-- #browser -->
202
+ </div> <!-- content -->
203
+ </div>
204
+ </body>
205
+ </html>
@@ -1,13 +1,13 @@
1
1
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
2
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" do='void' lang="#{v_lang}" xml:lang='en'>
3
+ <html xmlns="http://www.w3.org/1999/xhtml" do='void' lang="#{v.lang}" xml:lang='en'>
4
4
  <head do='void' name='head'>
5
5
  <title do='title_for_layout' do='show' attr='title' name='page_title'>page title</title>
6
6
  <link href='favicon_tiny.png' rel='shortcut icon' type='image/png' />
7
7
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
8
8
  <r:void name='stylesheets'>
9
9
  <r:stylesheets media='all'/>
10
- <r:stylesheets media='all' list='default'/>
10
+ <r:stylesheets list='default'/>
11
11
  </r:void>
12
12
 
13
13
  <r:javascripts/>
@@ -18,10 +18,10 @@
18
18
  <div id='top' do='root' do='link'/>
19
19
  <div id='header'>
20
20
  <div id='login' do='login_link'/>
21
- <div id='visitor' do='visitor_link'/>
21
+ <div id='visitor'><r:visitor_link/> <r:if test='can_edit?' do='link' mode='admin' do='t'>btn_edit</r:if></div>
22
22
  <div id='search' do='search_box' type='search'/>
23
23
  <ol id='menu' do='root' do='pages'>
24
- <li do='each' on_if_node='ancestor' do='link'/>
24
+ <li do='each' on_if='is_ancestor?(main)' do='link'/>
25
25
  </ol>
26
26
  </div>
27
27
  <div id='container'>
@@ -34,8 +34,8 @@
34
34
  <li class='inline_form' do='form'>
35
35
  <ol>
36
36
  <li><r:select name='klass' root_class='Page'/></li>
37
- <li><input type='text' name='title' value=''/></li>
38
- <li class='validate'><input type="submit" value='#{trans("validate")'/></li>
37
+ <li><r:input type='text' name='title' value=''/></li>
38
+ <li class='validate'><r:input type="submit" value='#{trans("validate")'/></li>
39
39
  </ol>
40
40
  </li>
41
41
  </ol>
@@ -49,7 +49,7 @@
49
49
  <div id='related'>
50
50
  <r:documents name='documents'><h3 do='trans'>documents</h3>
51
51
  <ol>
52
- <li do='each' do='if' test='can_write?'>
52
+ <li do='each' do='if' eval='can_write?'>
53
53
  <r:link><r:img mode='tiny'/> <r:show attr='title'/>.<r:show attr='ext'/></r:link>
54
54
  <r:else>
55
55
  <r:link format='data'><r:img mode='tiny'/> <r:show attr='title'/>.<r:show attr='ext'/></r:link>
@@ -64,8 +64,8 @@
64
64
  <li do='add' before='self'/>
65
65
  <li class='inline_form' do='form'>
66
66
  <p class='node_klass'> <r:select name='klass' root_class='Page'/></p>
67
- <p class='node_title'><input type='text' name='title' value=''/></p>
68
- <p class='btn_validate'><input type="submit" value='#{trans("validate")}'/></p>
67
+ <p class='node_title'><r:input type='text' name='title' value=''/></p>
68
+ <p class='btn_validate'><r:input type="submit" value='#{trans("validate")}'/></p>
69
69
  </li>
70
70
  </ol>
71
71
  </r:pages>
@@ -75,8 +75,8 @@
75
75
  <li do='add' before='self'/>
76
76
  <li class='inline_form' do='form'>
77
77
  <p class='node_klass'> <r:select name='klass' root_class='Node'/></p>
78
- <p class='node_title'><input type='text' name='title' value=''/></p>
79
- <p class='btn_validate'><input type="submit" value='#{trans("validate")}'/></p>
78
+ <p class='node_title'><r:input type='text' name='title' value=''/></p>
79
+ <p class='btn_validate'><r:input type="submit" value='#{trans("validate")}'/></p>
80
80
  </li>
81
81
  </ol>
82
82
  </r:nodes>
@@ -8,8 +8,9 @@ module Bricks
8
8
  include ReCaptcha::AppHelper
9
9
 
10
10
  private
11
- def save_if_not_spam(obj, params)
12
- (!visitor.is_anon? || validate_recap(params, obj.errors, :rcc_pub => current_site.prop['recaptcha_pub'], :rcc_priv => current_site.prop['recaptcha_priv'])) && obj.save
11
+ def should_save(obj, params)
12
+ !visitor.is_anon? ||
13
+ validate_recap(params, obj.errors, :rcc_pub => current_site.prop['recaptcha_pub'], :rcc_priv => current_site.prop['recaptcha_priv'])
13
14
  end
14
15
  end
15
16
 
@@ -1,7 +1,8 @@
1
1
  # This fixes a bug between Rails 2.3.8 and Mongrel
2
2
  # Error calling Dispatcher.dispatch #<NoMethodError: undefined method `[]' for nil:NilClass>
3
3
  #
4
- if Rails.version == '2.3.8' && Gem.available?('mongrel', Gem::Requirement.new('~>1.1.5')) && self.class.const_defined?(:Mongrel)
4
+
5
+ if Rails.version =~ /2\.3\.\d+/ && Gem.available?('mongrel', Gem::Requirement.new('~>1.1.5')) && self.class.const_defined?(:Mongrel)
5
6
 
6
7
  # Pulled right from latest rack. Old looked like this in 1.1.0 version.
7
8
  #
data/bricks/pdf/README CHANGED
@@ -18,16 +18,16 @@ There is one method "render" that takes a hash as argument.
18
18
 
19
19
  == Examples
20
20
 
21
- Bricks::PDF.engine = 'prince'
21
+ Bricks::Pdf.engine = 'prince'
22
22
 
23
- Bricks::PDF.render :input => "myfile.html"
23
+ Bricks::Pdf.render :input => "myfile.html"
24
24
  => STDOUT
25
25
 
26
- Bricks::PDF.render :input => "myfile.html", :output => "out.pdf"
26
+ Bricks::Pdf.render :input => "myfile.html", :output => "out.pdf"
27
27
  => out.pdf (file)
28
28
 
29
- Bricks::PDF.render :data => "This is text to render."
29
+ Bricks::Pdf.render :data => "This is text to render."
30
30
  => STDOUT (strings)
31
31
 
32
- Bricks::PDF.render :data => "This is text to render.", :output => "out.pdf"
32
+ Bricks::Pdf.render :data => "This is text to render.", :output => "out.pdf"
33
33
  => out.pdf (file)
@@ -1,5 +1,5 @@
1
1
  module Bricks
2
- module PDF
2
+ module Pdf
3
3
  module Engine
4
4
  module Prince
5
5
  def command(opts)
@@ -31,7 +31,7 @@ module Bricks
31
31
  end
32
32
  end # Prince
33
33
  end # Engine
34
- end # PDF
34
+ end # Pdf
35
35
  end # Bricks
36
36
 
37
37