browsercms 3.0.0 → 3.0.1

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 (444) hide show
  1. data/app/controllers/cms/connectors_controller.rb +1 -1
  2. data/app/helpers/cms/application_helper.rb +2 -19
  3. data/app/helpers/cms/form_builder.rb +8 -5
  4. data/app/helpers/cms/menu_helper.rb +19 -5
  5. data/app/helpers/cms/page_helper.rb +9 -1
  6. data/app/helpers/cms/template_support.rb +21 -0
  7. data/app/models/abstract_file_block.rb +4 -0
  8. data/app/models/connector.rb +7 -3
  9. data/app/models/dynamic_view.rb +2 -4
  10. data/app/models/portlet.rb +22 -9
  11. data/app/models/section.rb +7 -5
  12. data/app/views/cms/blocks/_toolbar_for_member.html.erb +4 -4
  13. data/app/views/cms/blocks/index.html.erb +1 -1
  14. data/app/views/cms/blocks/usages.html.erb +44 -34
  15. data/app/views/cms/connectors/new.html.erb +2 -2
  16. data/app/views/cms/dynamic_views/_form.html.erb +1 -1
  17. data/app/views/cms/dynamic_views/index.html.erb +7 -3
  18. data/app/views/cms/email_messages/index.html.erb +3 -5
  19. data/app/views/cms/form_builder/_cms_datetime_select.html.erb +12 -0
  20. data/app/views/cms/form_builder/_cms_text_editor.html.erb +2 -2
  21. data/app/views/cms/form_builder/_cms_text_field.html.erb +1 -2
  22. data/app/views/cms/groups/_permissions.html.erb +1 -0
  23. data/app/views/cms/groups/_sections.html.erb +1 -0
  24. data/app/views/cms/groups/index.html.erb +3 -5
  25. data/app/views/cms/page_routes/index.html.erb +13 -7
  26. data/app/views/cms/page_routes/show.html.erb +4 -4
  27. data/app/views/cms/pages/_edit_connector.html.erb +4 -1
  28. data/app/views/cms/pages/_edit_container.html.erb +4 -1
  29. data/app/views/cms/redirects/index.html.erb +12 -7
  30. data/app/views/cms/routes/index.html.erb +11 -7
  31. data/app/views/cms/sections/_form.html.erb +4 -5
  32. data/app/views/cms/users/_groups.html.erb +1 -0
  33. data/app/views/layouts/_cms_toolbar.html.erb +37 -4
  34. data/app/views/layouts/_page_toolbar.html.erb +2 -2
  35. data/browsercms.gemspec +381 -3
  36. data/db/demo/data.rb +2 -1
  37. data/doc/app/classes/AbstractFileBlock.html +146 -0
  38. data/doc/app/classes/ActiveRecord.html +105 -0
  39. data/doc/app/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html +242 -0
  40. data/doc/app/classes/ActiveSupport.html +111 -0
  41. data/doc/app/classes/ActiveSupport/Cache.html +111 -0
  42. data/doc/app/classes/ActiveSupport/Cache/FileStore.html +146 -0
  43. data/doc/app/classes/ActsAsList.html +147 -0
  44. data/doc/app/classes/ActsAsList/ClassMethods.html +202 -0
  45. data/doc/app/classes/ActsAsList/InstanceMethods.html +510 -0
  46. data/doc/app/classes/ApplicationController.html +119 -0
  47. data/doc/app/classes/ApplicationHelper.html +112 -0
  48. data/doc/app/classes/Attachment.html +726 -0
  49. data/doc/app/classes/Category.html +230 -0
  50. data/doc/app/classes/CategoryType.html +214 -0
  51. data/doc/app/classes/Cms.html +638 -0
  52. data/doc/app/classes/Cms/Acts.html +111 -0
  53. data/doc/app/classes/Cms/Acts/ContentBlock.html +146 -0
  54. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html +165 -0
  55. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods/InstanceMethods.html +140 -0
  56. data/doc/app/classes/Cms/ApplicationController.html +418 -0
  57. data/doc/app/classes/Cms/ApplicationHelper.html +814 -0
  58. data/doc/app/classes/Cms/AttachmentsController.html +154 -0
  59. data/doc/app/classes/Cms/Authentication.html +116 -0
  60. data/doc/app/classes/Cms/Authentication/Controller.html +702 -0
  61. data/doc/app/classes/Cms/Authentication/Model.html +165 -0
  62. data/doc/app/classes/Cms/Authentication/Model/ClassMethods.html +246 -0
  63. data/doc/app/classes/Cms/Authentication/Model/InstanceMethods.html +412 -0
  64. data/doc/app/classes/Cms/BaseController.html +113 -0
  65. data/doc/app/classes/Cms/Behaviors.html +235 -0
  66. data/doc/app/classes/Cms/Behaviors/Archiving.html +147 -0
  67. data/doc/app/classes/Cms/Behaviors/Archiving/InstanceMethods.html +220 -0
  68. data/doc/app/classes/Cms/Behaviors/Archiving/MacroMethods.html +175 -0
  69. data/doc/app/classes/Cms/Behaviors/Attaching.html +160 -0
  70. data/doc/app/classes/Cms/Behaviors/Attaching/InstanceMethods.html +670 -0
  71. data/doc/app/classes/Cms/Behaviors/Attaching/MacroMethods.html +188 -0
  72. data/doc/app/classes/Cms/Behaviors/Categorizing.html +148 -0
  73. data/doc/app/classes/Cms/Behaviors/Categorizing/ClassMethods.html +105 -0
  74. data/doc/app/classes/Cms/Behaviors/Categorizing/InstanceMethods.html +140 -0
  75. data/doc/app/classes/Cms/Behaviors/Categorizing/MacroMethods.html +178 -0
  76. data/doc/app/classes/Cms/Behaviors/ClassMethods.html +272 -0
  77. data/doc/app/classes/Cms/Behaviors/Connecting.html +148 -0
  78. data/doc/app/classes/Cms/Behaviors/Connecting/ClassMethods.html +188 -0
  79. data/doc/app/classes/Cms/Behaviors/Connecting/InstanceMethods.html +312 -0
  80. data/doc/app/classes/Cms/Behaviors/Connecting/MacroMethods.html +184 -0
  81. data/doc/app/classes/Cms/Behaviors/DynamicAttributes.html +285 -0
  82. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/InstanceMethods.html +181 -0
  83. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/MacroMethods.html +243 -0
  84. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange.html +178 -0
  85. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/InstanceMethods.html +142 -0
  86. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/MacroMethods.html +175 -0
  87. data/doc/app/classes/Cms/Behaviors/Hiding.html +148 -0
  88. data/doc/app/classes/Cms/Behaviors/Hiding/ClassMethods.html +105 -0
  89. data/doc/app/classes/Cms/Behaviors/Hiding/InstanceMethods.html +220 -0
  90. data/doc/app/classes/Cms/Behaviors/Hiding/MacroMethods.html +176 -0
  91. data/doc/app/classes/Cms/Behaviors/InstanceMethods.html +234 -0
  92. data/doc/app/classes/Cms/Behaviors/Pagination.html +151 -0
  93. data/doc/app/classes/Cms/Behaviors/Pagination/ClassMethods.html +252 -0
  94. data/doc/app/classes/Cms/Behaviors/Pagination/Collection.html +437 -0
  95. data/doc/app/classes/Cms/Behaviors/Pagination/InvalidPage.html +146 -0
  96. data/doc/app/classes/Cms/Behaviors/Publishing.html +179 -0
  97. data/doc/app/classes/Cms/Behaviors/Publishing/ClassMethods.html +105 -0
  98. data/doc/app/classes/Cms/Behaviors/Publishing/InstanceMethods.html +333 -0
  99. data/doc/app/classes/Cms/Behaviors/Publishing/MacroMethods.html +180 -0
  100. data/doc/app/classes/Cms/Behaviors/Rendering.html +179 -0
  101. data/doc/app/classes/Cms/Behaviors/Rendering/MacroMethods.html +186 -0
  102. data/doc/app/classes/Cms/Behaviors/Searching.html +147 -0
  103. data/doc/app/classes/Cms/Behaviors/Searching/ClassMethods.html +164 -0
  104. data/doc/app/classes/Cms/Behaviors/Searching/MacroMethods.html +188 -0
  105. data/doc/app/classes/Cms/Behaviors/SoftDeleting.html +148 -0
  106. data/doc/app/classes/Cms/Behaviors/SoftDeleting/ClassMethods.html +217 -0
  107. data/doc/app/classes/Cms/Behaviors/SoftDeleting/InstanceMethods.html +247 -0
  108. data/doc/app/classes/Cms/Behaviors/SoftDeleting/MacroMethods.html +205 -0
  109. data/doc/app/classes/Cms/Behaviors/Taggable.html +148 -0
  110. data/doc/app/classes/Cms/Behaviors/Taggable/ClassMethods.html +164 -0
  111. data/doc/app/classes/Cms/Behaviors/Taggable/InstanceMethods.html +197 -0
  112. data/doc/app/classes/Cms/Behaviors/Taggable/MacroMethods.html +182 -0
  113. data/doc/app/classes/Cms/Behaviors/Userstamping.html +148 -0
  114. data/doc/app/classes/Cms/Behaviors/Userstamping/ClassMethods.html +105 -0
  115. data/doc/app/classes/Cms/Behaviors/Userstamping/InstanceMethods.html +143 -0
  116. data/doc/app/classes/Cms/Behaviors/Userstamping/MacroMethods.html +181 -0
  117. data/doc/app/classes/Cms/Behaviors/Versioning.html +148 -0
  118. data/doc/app/classes/Cms/Behaviors/Versioning/ClassMethods.html +237 -0
  119. data/doc/app/classes/Cms/Behaviors/Versioning/InstanceMethods.html +685 -0
  120. data/doc/app/classes/Cms/Behaviors/Versioning/MacroMethods.html +290 -0
  121. data/doc/app/classes/Cms/CacheController.html +174 -0
  122. data/doc/app/classes/Cms/Caching.html +171 -0
  123. data/doc/app/classes/Cms/CategoriesController.html +113 -0
  124. data/doc/app/classes/Cms/CategoryTypesController.html +148 -0
  125. data/doc/app/classes/Cms/ConnectorsController.html +215 -0
  126. data/doc/app/classes/Cms/ContentBlockController.html +1175 -0
  127. data/doc/app/classes/Cms/ContentController.html +313 -0
  128. data/doc/app/classes/Cms/ContentTypesController.html +148 -0
  129. data/doc/app/classes/Cms/DashboardController.html +151 -0
  130. data/doc/app/classes/Cms/DataLoader.html +182 -0
  131. data/doc/app/classes/Cms/DynamicViewsController.html +359 -0
  132. data/doc/app/classes/Cms/EmailMessagesController.html +172 -0
  133. data/doc/app/classes/Cms/ErrorHandling.html +172 -0
  134. data/doc/app/classes/Cms/Errors.html +111 -0
  135. data/doc/app/classes/Cms/Errors/AccessDenied.html +146 -0
  136. data/doc/app/classes/Cms/Extensions.html +140 -0
  137. data/doc/app/classes/Cms/Extensions/ActionView.html +111 -0
  138. data/doc/app/classes/Cms/Extensions/ActionView/Base.html +141 -0
  139. data/doc/app/classes/Cms/Extensions/ActiveRecord.html +116 -0
  140. data/doc/app/classes/Cms/Extensions/ActiveRecord/Base.html +144 -0
  141. data/doc/app/classes/Cms/Extensions/ActiveRecord/Errors.html +140 -0
  142. data/doc/app/classes/Cms/Extensions/Hash.html +175 -0
  143. data/doc/app/classes/Cms/Extensions/Integer.html +146 -0
  144. data/doc/app/classes/Cms/Extensions/NilClass.html +212 -0
  145. data/doc/app/classes/Cms/Extensions/String.html +212 -0
  146. data/doc/app/classes/Cms/FileBlocksController.html +113 -0
  147. data/doc/app/classes/Cms/FormBuilder.html +312 -0
  148. data/doc/app/classes/Cms/FormTagHelper.html +245 -0
  149. data/doc/app/classes/Cms/GroupsController.html +225 -0
  150. data/doc/app/classes/Cms/HomeController.html +148 -0
  151. data/doc/app/classes/Cms/HtmlBlocksController.html +113 -0
  152. data/doc/app/classes/Cms/ImageBlocksController.html +113 -0
  153. data/doc/app/classes/Cms/LinksController.html +341 -0
  154. data/doc/app/classes/Cms/MenuHelper.html +330 -0
  155. data/doc/app/classes/Cms/PageHelper.html +292 -0
  156. data/doc/app/classes/Cms/PageRouteConditionsController.html +113 -0
  157. data/doc/app/classes/Cms/PageRouteOptionsController.html +355 -0
  158. data/doc/app/classes/Cms/PageRouteRequirementsController.html +113 -0
  159. data/doc/app/classes/Cms/PageRoutesController.html +284 -0
  160. data/doc/app/classes/Cms/PagesController.html +331 -0
  161. data/doc/app/classes/Cms/PathHelper.html +268 -0
  162. data/doc/app/classes/Cms/PortletController.html +150 -0
  163. data/doc/app/classes/Cms/PortletsController.html +301 -0
  164. data/doc/app/classes/Cms/RedirectsController.html +172 -0
  165. data/doc/app/classes/Cms/ResourceController.html +616 -0
  166. data/doc/app/classes/Cms/Routes.html +303 -0
  167. data/doc/app/classes/Cms/RoutesController.html +164 -0
  168. data/doc/app/classes/Cms/SectionNodesController.html +272 -0
  169. data/doc/app/classes/Cms/SectionNodesHelper.html +145 -0
  170. data/doc/app/classes/Cms/SectionsController.html +542 -0
  171. data/doc/app/classes/Cms/SessionsController.html +270 -0
  172. data/doc/app/classes/Cms/TagsController.html +152 -0
  173. data/doc/app/classes/Cms/TasksController.html +221 -0
  174. data/doc/app/classes/Cms/ToolbarController.html +153 -0
  175. data/doc/app/classes/Cms/UsersController.html +405 -0
  176. data/doc/app/classes/Connector.html +350 -0
  177. data/doc/app/classes/ContentType.html +448 -0
  178. data/doc/app/classes/ContentTypeGroup.html +111 -0
  179. data/doc/app/classes/DynamicPortlet.html +148 -0
  180. data/doc/app/classes/DynamicView.html +411 -0
  181. data/doc/app/classes/EmailMessage.html +228 -0
  182. data/doc/app/classes/EmailMessageMailer.html +150 -0
  183. data/doc/app/classes/EmailPagePortlet.html +184 -0
  184. data/doc/app/classes/FileBlock.html +202 -0
  185. data/doc/app/classes/Group.html +170 -0
  186. data/doc/app/classes/GroupPermission.html +111 -0
  187. data/doc/app/classes/GroupSection.html +111 -0
  188. data/doc/app/classes/GroupType.html +111 -0
  189. data/doc/app/classes/GroupTypePermission.html +111 -0
  190. data/doc/app/classes/GuestUser.html +347 -0
  191. data/doc/app/classes/HtmlBlock.html +170 -0
  192. data/doc/app/classes/ImageBlock.html +202 -0
  193. data/doc/app/classes/InitialData.html +171 -0
  194. data/doc/app/classes/Link.html +249 -0
  195. data/doc/app/classes/LoginPortlet.html +151 -0
  196. data/doc/app/classes/Page.html +954 -0
  197. data/doc/app/classes/PagePartial.html +201 -0
  198. data/doc/app/classes/PageRoute.html +335 -0
  199. data/doc/app/classes/PageRouteCondition.html +113 -0
  200. data/doc/app/classes/PageRouteOption.html +111 -0
  201. data/doc/app/classes/PageRouteRequirement.html +113 -0
  202. data/doc/app/classes/PageTemplate.html +278 -0
  203. data/doc/app/classes/Permission.html +111 -0
  204. data/doc/app/classes/Portlet.html +738 -0
  205. data/doc/app/classes/Redirect.html +111 -0
  206. data/doc/app/classes/Section.html +580 -0
  207. data/doc/app/classes/SectionNode.html +410 -0
  208. data/doc/app/classes/Sequence.html +146 -0
  209. data/doc/app/classes/Site.html +253 -0
  210. data/doc/app/classes/Tag.html +292 -0
  211. data/doc/app/classes/TagCloudPortlet.html +176 -0
  212. data/doc/app/classes/Tagging.html +146 -0
  213. data/doc/app/classes/Task.html +288 -0
  214. data/doc/app/classes/User.html +618 -0
  215. data/doc/app/classes/UserGroupMembership.html +111 -0
  216. data/doc/app/created.rid +1 -0
  217. data/doc/app/files/app/controllers/application_controller_rb.html +109 -0
  218. data/doc/app/files/app/controllers/cms/application_controller_rb.html +101 -0
  219. data/doc/app/files/app/controllers/cms/attachments_controller_rb.html +101 -0
  220. data/doc/app/files/app/controllers/cms/base_controller_rb.html +101 -0
  221. data/doc/app/files/app/controllers/cms/cache_controller_rb.html +101 -0
  222. data/doc/app/files/app/controllers/cms/categories_controller_rb.html +101 -0
  223. data/doc/app/files/app/controllers/cms/category_types_controller_rb.html +101 -0
  224. data/doc/app/files/app/controllers/cms/connectors_controller_rb.html +101 -0
  225. data/doc/app/files/app/controllers/cms/content_block_controller_rb.html +107 -0
  226. data/doc/app/files/app/controllers/cms/content_controller_rb.html +101 -0
  227. data/doc/app/files/app/controllers/cms/content_types_controller_rb.html +101 -0
  228. data/doc/app/files/app/controllers/cms/dashboard_controller_rb.html +101 -0
  229. data/doc/app/files/app/controllers/cms/dynamic_views_controller_rb.html +101 -0
  230. data/doc/app/files/app/controllers/cms/email_messages_controller_rb.html +101 -0
  231. data/doc/app/files/app/controllers/cms/error_handling_rb.html +101 -0
  232. data/doc/app/files/app/controllers/cms/file_blocks_controller_rb.html +101 -0
  233. data/doc/app/files/app/controllers/cms/groups_controller_rb.html +101 -0
  234. data/doc/app/files/app/controllers/cms/home_controller_rb.html +101 -0
  235. data/doc/app/files/app/controllers/cms/html_blocks_controller_rb.html +101 -0
  236. data/doc/app/files/app/controllers/cms/image_blocks_controller_rb.html +101 -0
  237. data/doc/app/files/app/controllers/cms/links_controller_rb.html +101 -0
  238. data/doc/app/files/app/controllers/cms/page_route_conditions_controller_rb.html +101 -0
  239. data/doc/app/files/app/controllers/cms/page_route_options_controller_rb.html +101 -0
  240. data/doc/app/files/app/controllers/cms/page_route_requirements_controller_rb.html +101 -0
  241. data/doc/app/files/app/controllers/cms/page_routes_controller_rb.html +101 -0
  242. data/doc/app/files/app/controllers/cms/pages_controller_rb.html +101 -0
  243. data/doc/app/files/app/controllers/cms/portlet_controller_rb.html +101 -0
  244. data/doc/app/files/app/controllers/cms/portlets_controller_rb.html +101 -0
  245. data/doc/app/files/app/controllers/cms/redirects_controller_rb.html +101 -0
  246. data/doc/app/files/app/controllers/cms/resource_controller_rb.html +108 -0
  247. data/doc/app/files/app/controllers/cms/routes_controller_rb.html +101 -0
  248. data/doc/app/files/app/controllers/cms/section_nodes_controller_rb.html +101 -0
  249. data/doc/app/files/app/controllers/cms/sections_controller_rb.html +101 -0
  250. data/doc/app/files/app/controllers/cms/sessions_controller_rb.html +107 -0
  251. data/doc/app/files/app/controllers/cms/tags_controller_rb.html +101 -0
  252. data/doc/app/files/app/controllers/cms/tasks_controller_rb.html +101 -0
  253. data/doc/app/files/app/controllers/cms/toolbar_controller_rb.html +101 -0
  254. data/doc/app/files/app/controllers/cms/users_controller_rb.html +101 -0
  255. data/doc/app/files/app/helpers/application_helper_rb.html +108 -0
  256. data/doc/app/files/app/helpers/cms/application_helper_rb.html +107 -0
  257. data/doc/app/files/app/helpers/cms/form_builder_rb.html +101 -0
  258. data/doc/app/files/app/helpers/cms/form_tag_helper_rb.html +101 -0
  259. data/doc/app/files/app/helpers/cms/menu_helper_rb.html +101 -0
  260. data/doc/app/files/app/helpers/cms/page_helper_rb.html +101 -0
  261. data/doc/app/files/app/helpers/cms/path_helper_rb.html +101 -0
  262. data/doc/app/files/app/helpers/cms/section_nodes_helper_rb.html +101 -0
  263. data/doc/app/files/app/models/abstract_file_block_rb.html +101 -0
  264. data/doc/app/files/app/models/attachment_rb.html +109 -0
  265. data/doc/app/files/app/models/category_rb.html +101 -0
  266. data/doc/app/files/app/models/category_type_rb.html +101 -0
  267. data/doc/app/files/app/models/connector_rb.html +101 -0
  268. data/doc/app/files/app/models/content_type_group_rb.html +101 -0
  269. data/doc/app/files/app/models/content_type_rb.html +101 -0
  270. data/doc/app/files/app/models/dynamic_view_rb.html +101 -0
  271. data/doc/app/files/app/models/email_message_mailer_rb.html +101 -0
  272. data/doc/app/files/app/models/email_message_rb.html +101 -0
  273. data/doc/app/files/app/models/file_block_rb.html +101 -0
  274. data/doc/app/files/app/models/group_permission_rb.html +101 -0
  275. data/doc/app/files/app/models/group_rb.html +101 -0
  276. data/doc/app/files/app/models/group_section_rb.html +101 -0
  277. data/doc/app/files/app/models/group_type_permission_rb.html +101 -0
  278. data/doc/app/files/app/models/group_type_rb.html +101 -0
  279. data/doc/app/files/app/models/guest_user_rb.html +101 -0
  280. data/doc/app/files/app/models/html_block_rb.html +101 -0
  281. data/doc/app/files/app/models/image_block_rb.html +101 -0
  282. data/doc/app/files/app/models/link_rb.html +101 -0
  283. data/doc/app/files/app/models/page_partial_rb.html +101 -0
  284. data/doc/app/files/app/models/page_rb.html +101 -0
  285. data/doc/app/files/app/models/page_route_condition_rb.html +101 -0
  286. data/doc/app/files/app/models/page_route_option_rb.html +101 -0
  287. data/doc/app/files/app/models/page_route_rb.html +101 -0
  288. data/doc/app/files/app/models/page_route_requirement_rb.html +101 -0
  289. data/doc/app/files/app/models/page_template_rb.html +101 -0
  290. data/doc/app/files/app/models/permission_rb.html +101 -0
  291. data/doc/app/files/app/models/portlet_rb.html +101 -0
  292. data/doc/app/files/app/models/redirect_rb.html +101 -0
  293. data/doc/app/files/app/models/section_node_rb.html +101 -0
  294. data/doc/app/files/app/models/section_rb.html +101 -0
  295. data/doc/app/files/app/models/site_rb.html +101 -0
  296. data/doc/app/files/app/models/tag_rb.html +101 -0
  297. data/doc/app/files/app/models/tagging_rb.html +101 -0
  298. data/doc/app/files/app/models/task_rb.html +101 -0
  299. data/doc/app/files/app/models/user_group_membership_rb.html +101 -0
  300. data/doc/app/files/app/models/user_rb.html +108 -0
  301. data/doc/app/files/app/portlets/dynamic_portlet_rb.html +101 -0
  302. data/doc/app/files/app/portlets/email_page_portlet_rb.html +101 -0
  303. data/doc/app/files/app/portlets/login_portlet_rb.html +101 -0
  304. data/doc/app/files/app/portlets/tag_cloud_portlet_rb.html +101 -0
  305. data/doc/app/files/doc/README_FOR_APP.html +127 -0
  306. data/doc/app/files/lib/acts_as_list_rb.html +101 -0
  307. data/doc/app/files/lib/browsercms_rb.html +113 -0
  308. data/doc/app/files/lib/cms/acts/content_block_rb.html +101 -0
  309. data/doc/app/files/lib/cms/authentication/controller_rb.html +101 -0
  310. data/doc/app/files/lib/cms/authentication/model_rb.html +101 -0
  311. data/doc/app/files/lib/cms/behaviors/archiving_rb.html +101 -0
  312. data/doc/app/files/lib/cms/behaviors/attaching_rb.html +101 -0
  313. data/doc/app/files/lib/cms/behaviors/categorizing_rb.html +101 -0
  314. data/doc/app/files/lib/cms/behaviors/connecting_rb.html +101 -0
  315. data/doc/app/files/lib/cms/behaviors/dynamic_attributes_rb.html +101 -0
  316. data/doc/app/files/lib/cms/behaviors/flush_cache_on_change_rb.html +101 -0
  317. data/doc/app/files/lib/cms/behaviors/hiding_rb.html +101 -0
  318. data/doc/app/files/lib/cms/behaviors/pagination_rb.html +107 -0
  319. data/doc/app/files/lib/cms/behaviors/publishing_rb.html +101 -0
  320. data/doc/app/files/lib/cms/behaviors/rendering_rb.html +101 -0
  321. data/doc/app/files/lib/cms/behaviors/searching_rb.html +101 -0
  322. data/doc/app/files/lib/cms/behaviors/soft_deleting_rb.html +101 -0
  323. data/doc/app/files/lib/cms/behaviors/taggable_rb.html +101 -0
  324. data/doc/app/files/lib/cms/behaviors/userstamping_rb.html +101 -0
  325. data/doc/app/files/lib/cms/behaviors/versioning_rb.html +101 -0
  326. data/doc/app/files/lib/cms/behaviors_rb.html +147 -0
  327. data/doc/app/files/lib/cms/caching_rb.html +101 -0
  328. data/doc/app/files/lib/cms/data_loader_rb.html +101 -0
  329. data/doc/app/files/lib/cms/extensions/action_view/base_rb.html +101 -0
  330. data/doc/app/files/lib/cms/extensions/active_record/base_rb.html +101 -0
  331. data/doc/app/files/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements_rb.html +101 -0
  332. data/doc/app/files/lib/cms/extensions/active_record/errors_rb.html +101 -0
  333. data/doc/app/files/lib/cms/extensions/active_support/cache/file_store_rb.html +101 -0
  334. data/doc/app/files/lib/cms/extensions/hash_rb.html +101 -0
  335. data/doc/app/files/lib/cms/extensions/integer_rb.html +101 -0
  336. data/doc/app/files/lib/cms/extensions/nil_rb.html +101 -0
  337. data/doc/app/files/lib/cms/extensions/string_rb.html +101 -0
  338. data/doc/app/files/lib/cms/extensions_rb.html +101 -0
  339. data/doc/app/files/lib/cms/init_rb.html +101 -0
  340. data/doc/app/files/lib/cms/routes_rb.html +101 -0
  341. data/doc/app/files/lib/initial_data_rb.html +101 -0
  342. data/doc/app/files/lib/sequence_rb.html +101 -0
  343. data/doc/app/fr_class_index.html +205 -0
  344. data/doc/app/fr_file_index.html +152 -0
  345. data/doc/app/fr_method_index.html +738 -0
  346. data/doc/app/index.html +24 -0
  347. data/doc/app/rdoc-style.css +208 -0
  348. data/doc/guides/html/build_it_yourself.html +175 -0
  349. data/doc/guides/html/deployment_guide.html +181 -0
  350. data/doc/guides/html/designer_guide.html +153 -0
  351. data/doc/guides/html/developer_guide.html +266 -0
  352. data/doc/guides/html/files/javascripts/code_highlighter.js +188 -0
  353. data/doc/guides/html/files/javascripts/guides.js +7 -0
  354. data/doc/guides/html/files/javascripts/highlighters.js +90 -0
  355. data/doc/guides/html/files/stylesheets/main.css +441 -0
  356. data/doc/guides/html/files/stylesheets/reset.css +43 -0
  357. data/doc/guides/html/files/stylesheets/style.css +13 -0
  358. data/doc/guides/html/files/stylesheets/syntax.css +31 -0
  359. data/doc/guides/html/getting_started.html +181 -0
  360. data/doc/guides/html/images/bg.png +0 -0
  361. data/doc/guides/html/images/bottom_cap.png +0 -0
  362. data/doc/guides/html/images/browsercms_logo.png +0 -0
  363. data/doc/guides/html/images/dot.png +0 -0
  364. data/doc/guides/html/images/icons/README +5 -0
  365. data/doc/guides/html/images/icons/callouts/1.png +0 -0
  366. data/doc/guides/html/images/icons/callouts/10.png +0 -0
  367. data/doc/guides/html/images/icons/callouts/11.png +0 -0
  368. data/doc/guides/html/images/icons/callouts/12.png +0 -0
  369. data/doc/guides/html/images/icons/callouts/13.png +0 -0
  370. data/doc/guides/html/images/icons/callouts/14.png +0 -0
  371. data/doc/guides/html/images/icons/callouts/15.png +0 -0
  372. data/doc/guides/html/images/icons/callouts/2.png +0 -0
  373. data/doc/guides/html/images/icons/callouts/3.png +0 -0
  374. data/doc/guides/html/images/icons/callouts/4.png +0 -0
  375. data/doc/guides/html/images/icons/callouts/5.png +0 -0
  376. data/doc/guides/html/images/icons/callouts/6.png +0 -0
  377. data/doc/guides/html/images/icons/callouts/7.png +0 -0
  378. data/doc/guides/html/images/icons/callouts/8.png +0 -0
  379. data/doc/guides/html/images/icons/callouts/9.png +0 -0
  380. data/doc/guides/html/images/icons/caution.png +0 -0
  381. data/doc/guides/html/images/icons/example.png +0 -0
  382. data/doc/guides/html/images/icons/home.png +0 -0
  383. data/doc/guides/html/images/icons/important.png +0 -0
  384. data/doc/guides/html/images/icons/next.png +0 -0
  385. data/doc/guides/html/images/icons/note.png +0 -0
  386. data/doc/guides/html/images/icons/prev.png +0 -0
  387. data/doc/guides/html/images/icons/tip.png +0 -0
  388. data/doc/guides/html/images/icons/up.png +0 -0
  389. data/doc/guides/html/images/icons/warning.png +0 -0
  390. data/doc/guides/html/images/top_cap.png +0 -0
  391. data/doc/guides/html/images/top_cap_content.png +0 -0
  392. data/doc/guides/html/index.html +168 -0
  393. data/doc/guides/html/installing_modules.html +181 -0
  394. data/doc/guides/html/user_guide.html +266 -0
  395. data/lib/cms/behaviors/attaching.rb +1 -1
  396. data/lib/cms/behaviors/rendering.rb +1 -1
  397. data/lib/cms/behaviors/taggable.rb +2 -1
  398. data/lib/cms/behaviors/versioning.rb +1 -1
  399. data/lib/cms/init.rb +4 -4
  400. data/lib/tasks/cms.rake +16 -42
  401. data/public/images/cms/buttons/button_cap_off_middle.gif +0 -0
  402. data/public/images/cms/buttons/button_left_bg.png +0 -0
  403. data/public/images/cms/buttons/button_off_middle.png +0 -0
  404. data/public/images/cms/nav_admin.gif +0 -0
  405. data/public/images/cms/nav_admin_h.gif +0 -0
  406. data/public/images/cms/nav_admin_on.gif +0 -0
  407. data/public/images/cms/nav_content_library.gif +0 -0
  408. data/public/images/cms/nav_content_library_h.gif +0 -0
  409. data/public/images/cms/nav_content_library_on.gif +0 -0
  410. data/public/images/cms/nav_dash.gif +0 -0
  411. data/public/images/cms/nav_dash_h.gif +0 -0
  412. data/public/images/cms/nav_dash_on.gif +0 -0
  413. data/public/images/cms/nav_sitemap.gif +0 -0
  414. data/public/images/cms/nav_sitemap_h.gif +0 -0
  415. data/public/images/cms/nav_sitemap_on.gif +0 -0
  416. data/public/stylesheets/cms/administration.css +91 -91
  417. data/public/stylesheets/cms/block.css +25 -25
  418. data/public/stylesheets/cms/buttons.css +120 -111
  419. data/public/stylesheets/cms/content_library.css +2 -1
  420. data/public/stylesheets/cms/content_types.css +3 -3
  421. data/public/stylesheets/cms/dashboard.css +118 -118
  422. data/public/stylesheets/cms/data_table.css +155 -155
  423. data/public/stylesheets/cms/form_layout.css +269 -269
  424. data/public/stylesheets/cms/jquery.contextMenu.css +61 -61
  425. data/public/stylesheets/cms/login.css +77 -77
  426. data/public/stylesheets/cms/menu.css +116 -116
  427. data/public/stylesheets/cms/nav.css +98 -111
  428. data/public/stylesheets/cms/page_toolbar.css +134 -134
  429. data/public/stylesheets/cms/sitemap.css +31 -15
  430. data/rails_generators/content_block/content_block_generator.rb +4 -9
  431. data/rails_generators/content_block/templates/_form.html.erb +3 -1
  432. data/rails_generators/portlet/portlet_generator.rb +2 -6
  433. data/rails_generators/portlet/templates/_form.html.erb +1 -0
  434. data/templates/blank.rb +30 -0
  435. data/templates/demo.rb +28 -0
  436. data/templates/module.rb +945 -0
  437. data/test/functional/cms/connectors_controller_test.rb +12 -1
  438. data/test/functional/cms/portlets_controller_test.rb +10 -0
  439. data/test/unit/behaviors/taggable_test.rb +19 -0
  440. data/test/unit/helpers/menu_helper_test.rb +72 -1
  441. data/test/unit/lib/generators_test.rb +21 -3
  442. data/test/unit/models/connector_test.rb +16 -0
  443. data/test/unit/models/sections_test.rb +4 -0
  444. metadata +380 -2
@@ -0,0 +1,111 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Permission</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Permission</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/app/models/permission_rb.html">
59
+ app/models/permission.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ ActiveRecord::Base
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+
86
+ </div>
87
+
88
+
89
+ <!-- if includes -->
90
+
91
+ <div id="section">
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <!-- if method_list -->
101
+
102
+
103
+ </div>
104
+
105
+
106
+ <div id="validator-badges">
107
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
108
+ </div>
109
+
110
+ </body>
111
+ </html>
@@ -0,0 +1,738 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Portlet</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Portlet</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/app/models/portlet_rb.html">
59
+ app/models/portlet.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ ActiveRecord::Base
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000068">columns_for_index</a>&nbsp;&nbsp;
90
+ <a href="#M000059">content_block_type</a>&nbsp;&nbsp;
91
+ <a href="#M000060">content_block_type_for_list</a>&nbsp;&nbsp;
92
+ <a href="#M000063">default_template</a>&nbsp;&nbsp;
93
+ <a href="#M000065">default_template_path</a>&nbsp;&nbsp;
94
+ <a href="#M000062">form</a>&nbsp;&nbsp;
95
+ <a href="#M000058">get_subclass</a>&nbsp;&nbsp;
96
+ <a href="#M000056">has_edit_link?</a>&nbsp;&nbsp;
97
+ <a href="#M000055">helper_class</a>&nbsp;&nbsp;
98
+ <a href="#M000054">helper_path</a>&nbsp;&nbsp;
99
+ <a href="#M000053">inherited</a>&nbsp;&nbsp;
100
+ <a href="#M000066">inline_options</a>&nbsp;&nbsp;
101
+ <a href="#M000069">instance_name</a>&nbsp;&nbsp;
102
+ <a href="#M000061">portlet_type_name</a>&nbsp;&nbsp;
103
+ <a href="#M000064">set_default_template_path</a>&nbsp;&nbsp;
104
+ <a href="#M000073">store_errors_in_flash</a>&nbsp;&nbsp;
105
+ <a href="#M000074">store_hash_in_flash</a>&nbsp;&nbsp;
106
+ <a href="#M000072">store_params_in_flash</a>&nbsp;&nbsp;
107
+ <a href="#M000067">type_name</a>&nbsp;&nbsp;
108
+ <a href="#M000057">types</a>&nbsp;&nbsp;
109
+ <a href="#M000071">url_for_failure</a>&nbsp;&nbsp;
110
+ <a href="#M000070">url_for_success</a>&nbsp;&nbsp;
111
+ </div>
112
+ </div>
113
+
114
+ </div>
115
+
116
+
117
+ <!-- if includes -->
118
+
119
+ <div id="section">
120
+
121
+
122
+
123
+
124
+
125
+ <div id="attribute-list">
126
+ <h3 class="section-bar">Attributes</h3>
127
+
128
+ <div class="name-list">
129
+ <table>
130
+ <tr class="top-aligned-row context-row">
131
+ <td class="context-item-name">connect_to_container</td>
132
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
133
+ <td class="context-item-desc">
134
+ These are here simply to temporarily hold these values Makes it easy to
135
+ pass them through the process of selecting a portlet type
136
+
137
+ </td>
138
+ </tr>
139
+ <tr class="top-aligned-row context-row">
140
+ <td class="context-item-name">connect_to_page_id</td>
141
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
142
+ <td class="context-item-desc">
143
+ These are here simply to temporarily hold these values Makes it easy to
144
+ pass them through the process of selecting a portlet type
145
+
146
+ </td>
147
+ </tr>
148
+ <tr class="top-aligned-row context-row">
149
+ <td class="context-item-name">controller</td>
150
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
151
+ <td class="context-item-desc"></td>
152
+ </tr>
153
+ </table>
154
+ </div>
155
+ </div>
156
+
157
+
158
+
159
+ <!-- if method_list -->
160
+ <div id="methods">
161
+ <h3 class="section-bar">Public Class methods</h3>
162
+
163
+ <div id="method-M000068" class="method-detail">
164
+ <a name="M000068"></a>
165
+
166
+ <div class="method-heading">
167
+ <a href="#M000068" class="method-signature">
168
+ <span class="method-name">columns_for_index</span><span class="method-args">()</span>
169
+ </a>
170
+ </div>
171
+
172
+ <div class="method-description">
173
+ <p><a class="source-toggle" href="#"
174
+ onclick="toggleCode('M000068-source');return false;">[Source]</a></p>
175
+ <div class="method-source-code" id="M000068-source">
176
+ <pre>
177
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 97</span>
178
+ 97: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">columns_for_index</span>
179
+ 98: [ {<span class="ruby-identifier">:label</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;Name&quot;</span>, <span class="ruby-identifier">:method</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:name</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;name&quot;</span> },
180
+ 99: {<span class="ruby-identifier">:label</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;Type&quot;</span>, <span class="ruby-identifier">:method</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:type_name</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;type&quot;</span> },
181
+ 100: {<span class="ruby-identifier">:label</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;Updated On&quot;</span>, <span class="ruby-identifier">:method</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:updated_on_string</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;updated_at&quot;</span>} ]
182
+ 101: <span class="ruby-keyword kw">end</span>
183
+ </pre>
184
+ </div>
185
+ </div>
186
+ </div>
187
+
188
+ <div id="method-M000059" class="method-detail">
189
+ <a name="M000059"></a>
190
+
191
+ <div class="method-heading">
192
+ <a href="#M000059" class="method-signature">
193
+ <span class="method-name">content_block_type</span><span class="method-args">()</span>
194
+ </a>
195
+ </div>
196
+
197
+ <div class="method-description">
198
+ <p><a class="source-toggle" href="#"
199
+ onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
200
+ <div class="method-source-code" id="M000059-source">
201
+ <pre>
202
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 56</span>
203
+ 56: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">content_block_type</span>
204
+ 57: <span class="ruby-value str">&quot;portlet&quot;</span>
205
+ 58: <span class="ruby-keyword kw">end</span>
206
+ </pre>
207
+ </div>
208
+ </div>
209
+ </div>
210
+
211
+ <div id="method-M000060" class="method-detail">
212
+ <a name="M000060"></a>
213
+
214
+ <div class="method-heading">
215
+ <a href="#M000060" class="method-signature">
216
+ <span class="method-name">content_block_type_for_list</span><span class="method-args">()</span>
217
+ </a>
218
+ </div>
219
+
220
+ <div class="method-description">
221
+ <p><a class="source-toggle" href="#"
222
+ onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
223
+ <div class="method-source-code" id="M000060-source">
224
+ <pre>
225
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 60</span>
226
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">content_block_type_for_list</span>
227
+ 61: <span class="ruby-value str">&quot;portlet&quot;</span>
228
+ 62: <span class="ruby-keyword kw">end</span>
229
+ </pre>
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+ <div id="method-M000063" class="method-detail">
235
+ <a name="M000063"></a>
236
+
237
+ <div class="method-heading">
238
+ <a href="#M000063" class="method-signature">
239
+ <span class="method-name">default_template</span><span class="method-args">()</span>
240
+ </a>
241
+ </div>
242
+
243
+ <div class="method-description">
244
+ <p><a class="source-toggle" href="#"
245
+ onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
246
+ <div class="method-source-code" id="M000063-source">
247
+ <pre>
248
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 73</span>
249
+ 73: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">default_template</span>
250
+ 74: <span class="ruby-identifier">template_file</span> = <span class="ruby-constant">ActionController</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>.<span class="ruby-identifier">view_paths</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">vp</span><span class="ruby-operator">|</span>
251
+ 75: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">vp</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;/&quot;</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">vp</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Rails</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">vp</span>.<span class="ruby-identifier">to_s</span>)
252
+ 76: <span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">default_template_path</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'.*'</span>]
253
+ 77: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">first</span>
254
+ 78: <span class="ruby-identifier">template_file</span> <span class="ruby-value">? </span><span class="ruby-identifier">open</span>(<span class="ruby-identifier">template_file</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span> } <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;&quot;</span>
255
+ 79: <span class="ruby-keyword kw">end</span>
256
+ </pre>
257
+ </div>
258
+ </div>
259
+ </div>
260
+
261
+ <div id="method-M000065" class="method-detail">
262
+ <a name="M000065"></a>
263
+
264
+ <div class="method-heading">
265
+ <a href="#M000065" class="method-signature">
266
+ <span class="method-name">default_template_path</span><span class="method-args">()</span>
267
+ </a>
268
+ </div>
269
+
270
+ <div class="method-description">
271
+ <p><a class="source-toggle" href="#"
272
+ onclick="toggleCode('M000065-source');return false;">[Source]</a></p>
273
+ <div class="method-source-code" id="M000065-source">
274
+ <pre>
275
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 85</span>
276
+ 85: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">default_template_path</span>
277
+ 86: <span class="ruby-ivar">@default_template_path</span> <span class="ruby-operator">||=</span> <span class="ruby-node">&quot;portlets/#{name.tableize.sub('_portlets','')}/render&quot;</span>
278
+ 87: <span class="ruby-keyword kw">end</span>
279
+ </pre>
280
+ </div>
281
+ </div>
282
+ </div>
283
+
284
+ <div id="method-M000062" class="method-detail">
285
+ <a name="M000062"></a>
286
+
287
+ <div class="method-heading">
288
+ <a href="#M000062" class="method-signature">
289
+ <span class="method-name">form</span><span class="method-args">()</span>
290
+ </a>
291
+ </div>
292
+
293
+ <div class="method-description">
294
+ <p><a class="source-toggle" href="#"
295
+ onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
296
+ <div class="method-source-code" id="M000062-source">
297
+ <pre>
298
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 69</span>
299
+ 69: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">form</span>
300
+ 70: <span class="ruby-node">&quot;portlets/#{name.tableize.sub('_portlets','')}/form&quot;</span>
301
+ 71: <span class="ruby-keyword kw">end</span>
302
+ </pre>
303
+ </div>
304
+ </div>
305
+ </div>
306
+
307
+ <div id="method-M000058" class="method-detail">
308
+ <a name="M000058"></a>
309
+
310
+ <div class="method-heading">
311
+ <a href="#M000058" class="method-signature">
312
+ <span class="method-name">get_subclass</span><span class="method-args">(type)</span>
313
+ </a>
314
+ </div>
315
+
316
+ <div class="method-description">
317
+ <p><a class="source-toggle" href="#"
318
+ onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
319
+ <div class="method-source-code" id="M000058-source">
320
+ <pre>
321
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 51</span>
322
+ 51: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">get_subclass</span>(<span class="ruby-identifier">type</span>)
323
+ 52: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Unknown Portlet Type&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">types</span>.<span class="ruby-identifier">map</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">:name</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">type</span>)
324
+ 53: <span class="ruby-identifier">type</span>.<span class="ruby-identifier">constantize</span>
325
+ 54: <span class="ruby-keyword kw">end</span>
326
+ </pre>
327
+ </div>
328
+ </div>
329
+ </div>
330
+
331
+ <div id="method-M000056" class="method-detail">
332
+ <a name="M000056"></a>
333
+
334
+ <div class="method-heading">
335
+ <a href="#M000056" class="method-signature">
336
+ <span class="method-name">has_edit_link?</span><span class="method-args">()</span>
337
+ </a>
338
+ </div>
339
+
340
+ <div class="method-description">
341
+ <p><a class="source-toggle" href="#"
342
+ onclick="toggleCode('M000056-source');return false;">[Source]</a></p>
343
+ <div class="method-source-code" id="M000056-source">
344
+ <pre>
345
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 37</span>
346
+ 37: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">has_edit_link?</span>
347
+ 38: <span class="ruby-keyword kw">false</span>
348
+ 39: <span class="ruby-keyword kw">end</span>
349
+ </pre>
350
+ </div>
351
+ </div>
352
+ </div>
353
+
354
+ <div id="method-M000055" class="method-detail">
355
+ <a name="M000055"></a>
356
+
357
+ <div class="method-heading">
358
+ <a href="#M000055" class="method-signature">
359
+ <span class="method-name">helper_class</span><span class="method-args">()</span>
360
+ </a>
361
+ </div>
362
+
363
+ <div class="method-description">
364
+ <p><a class="source-toggle" href="#"
365
+ onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
366
+ <div class="method-source-code" id="M000055-source">
367
+ <pre>
368
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 31</span>
369
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">helper_class</span>
370
+ 32: <span class="ruby-node">&quot;#{name}Helper&quot;</span>.<span class="ruby-identifier">constantize</span>
371
+ 33: <span class="ruby-keyword kw">end</span>
372
+ </pre>
373
+ </div>
374
+ </div>
375
+ </div>
376
+
377
+ <div id="method-M000054" class="method-detail">
378
+ <a name="M000054"></a>
379
+
380
+ <div class="method-heading">
381
+ <a href="#M000054" class="method-signature">
382
+ <span class="method-name">helper_path</span><span class="method-args">()</span>
383
+ </a>
384
+ </div>
385
+
386
+ <div class="method-description">
387
+ <p><a class="source-toggle" href="#"
388
+ onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
389
+ <div class="method-source-code" id="M000054-source">
390
+ <pre>
391
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 27</span>
392
+ 27: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">helper_path</span>
393
+ 28: <span class="ruby-node">&quot;app/portlets/helpers/#{name.underscore}_helper.rb&quot;</span>
394
+ 29: <span class="ruby-keyword kw">end</span>
395
+ </pre>
396
+ </div>
397
+ </div>
398
+ </div>
399
+
400
+ <div id="method-M000053" class="method-detail">
401
+ <a name="M000053"></a>
402
+
403
+ <div class="method-heading">
404
+ <a href="#M000053" class="method-signature">
405
+ <span class="method-name">inherited</span><span class="method-args">(subclass)</span>
406
+ </a>
407
+ </div>
408
+
409
+ <div class="method-description">
410
+ <p><a class="source-toggle" href="#"
411
+ onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
412
+ <div class="method-source-code" id="M000053-source">
413
+ <pre>
414
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 15</span>
415
+ 15: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">subclass</span>)
416
+ 16: <span class="ruby-keyword kw">super</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span> <span class="ruby-keyword kw">super</span>
417
+ 17: <span class="ruby-keyword kw">ensure</span>
418
+ 18: <span class="ruby-identifier">subclass</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
419
+ 19:
420
+ 20: <span class="ruby-identifier">has_dynamic_attributes</span>
421
+ 21:
422
+ 22: <span class="ruby-identifier">acts_as_content_block</span>(
423
+ 23: <span class="ruby-identifier">:versioned</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>,
424
+ 24: <span class="ruby-identifier">:publishable</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>,
425
+ 25: <span class="ruby-identifier">:renderable</span> =<span class="ruby-operator">&gt;</span> {<span class="ruby-identifier">:instance_variable_name_for_view</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;@portlet&quot;</span>})
426
+ 26:
427
+ 27: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">helper_path</span>
428
+ 28: <span class="ruby-node">&quot;app/portlets/helpers/#{name.underscore}_helper.rb&quot;</span>
429
+ 29: <span class="ruby-keyword kw">end</span>
430
+ 30:
431
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">helper_class</span>
432
+ 32: <span class="ruby-node">&quot;#{name}Helper&quot;</span>.<span class="ruby-identifier">constantize</span>
433
+ 33: <span class="ruby-keyword kw">end</span>
434
+ 34: <span class="ruby-keyword kw">end</span>
435
+ 35: <span class="ruby-keyword kw">end</span>
436
+ </pre>
437
+ </div>
438
+ </div>
439
+ </div>
440
+
441
+ <div id="method-M000064" class="method-detail">
442
+ <a name="M000064"></a>
443
+
444
+ <div class="method-heading">
445
+ <a href="#M000064" class="method-signature">
446
+ <span class="method-name">set_default_template_path</span><span class="method-args">(s)</span>
447
+ </a>
448
+ </div>
449
+
450
+ <div class="method-description">
451
+ <p><a class="source-toggle" href="#"
452
+ onclick="toggleCode('M000064-source');return false;">[Source]</a></p>
453
+ <div class="method-source-code" id="M000064-source">
454
+ <pre>
455
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 81</span>
456
+ 81: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set_default_template_path</span>(<span class="ruby-identifier">s</span>)
457
+ 82: <span class="ruby-ivar">@default_template_path</span> = <span class="ruby-identifier">s</span>
458
+ 83: <span class="ruby-keyword kw">end</span>
459
+ </pre>
460
+ </div>
461
+ </div>
462
+ </div>
463
+
464
+ <div id="method-M000057" class="method-detail">
465
+ <a name="M000057"></a>
466
+
467
+ <div class="method-heading">
468
+ <a href="#M000057" class="method-signature">
469
+ <span class="method-name">types</span><span class="method-args">()</span>
470
+ </a>
471
+ </div>
472
+
473
+ <div class="method-description">
474
+ <p><a class="source-toggle" href="#"
475
+ onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
476
+ <div class="method-source-code" id="M000057-source">
477
+ <pre>
478
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 41</span>
479
+ 41: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">types</span>
480
+ 42: <span class="ruby-ivar">@types</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependencies</span>.<span class="ruby-identifier">load_paths</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
481
+ 43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/app\/portlets/</span>
482
+ 44: <span class="ruby-constant">Dir</span>[<span class="ruby-node">&quot;#{d}/*_portlet.rb&quot;</span>].<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
483
+ 45: <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">p</span>, <span class="ruby-value str">&quot;.rb&quot;</span>).<span class="ruby-identifier">classify</span>
484
+ 46: <span class="ruby-keyword kw">end</span>
485
+ 47: <span class="ruby-keyword kw">end</span>
486
+ 48: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">sort</span>
487
+ 49: <span class="ruby-keyword kw">end</span>
488
+ </pre>
489
+ </div>
490
+ </div>
491
+ </div>
492
+
493
+ <h3 class="section-bar">Public Instance methods</h3>
494
+
495
+ <div id="method-M000066" class="method-detail">
496
+ <a name="M000066"></a>
497
+
498
+ <div class="method-heading">
499
+ <a href="#M000066" class="method-signature">
500
+ <span class="method-name">inline_options</span><span class="method-args">()</span>
501
+ </a>
502
+ </div>
503
+
504
+ <div class="method-description">
505
+ <p><a class="source-toggle" href="#"
506
+ onclick="toggleCode('M000066-source');return false;">[Source]</a></p>
507
+ <div class="method-source-code" id="M000066-source">
508
+ <pre>
509
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 89</span>
510
+ 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inline_options</span>
511
+ 90: {<span class="ruby-identifier">:inline</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">template</span>}
512
+ 91: <span class="ruby-keyword kw">end</span>
513
+ </pre>
514
+ </div>
515
+ </div>
516
+ </div>
517
+
518
+ <div id="method-M000069" class="method-detail">
519
+ <a name="M000069"></a>
520
+
521
+ <div class="method-heading">
522
+ <a href="#M000069" class="method-signature">
523
+ <span class="method-name">instance_name</span><span class="method-args">()</span>
524
+ </a>
525
+ </div>
526
+
527
+ <div class="method-description">
528
+ <p><a class="source-toggle" href="#"
529
+ onclick="toggleCode('M000069-source');return false;">[Source]</a></p>
530
+ <div class="method-source-code" id="M000069-source">
531
+ <pre>
532
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 104</span>
533
+ 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instance_name</span>
534
+ 105: <span class="ruby-node">&quot;#{self.class.name.demodulize.underscore}_#{id}&quot;</span>
535
+ 106: <span class="ruby-keyword kw">end</span>
536
+ </pre>
537
+ </div>
538
+ </div>
539
+ </div>
540
+
541
+ <div id="method-M000061" class="method-detail">
542
+ <a name="M000061"></a>
543
+
544
+ <div class="method-heading">
545
+ <a href="#M000061" class="method-signature">
546
+ <span class="method-name">portlet_type_name</span><span class="method-args">()</span>
547
+ </a>
548
+ </div>
549
+
550
+ <div class="method-description">
551
+ <p>
552
+ For column in list
553
+ </p>
554
+ <p><a class="source-toggle" href="#"
555
+ onclick="toggleCode('M000061-source');return false;">[Source]</a></p>
556
+ <div class="method-source-code" id="M000061-source">
557
+ <pre>
558
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 65</span>
559
+ 65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">portlet_type_name</span>
560
+ 66: <span class="ruby-identifier">type</span>.<span class="ruby-identifier">titleize</span>
561
+ 67: <span class="ruby-keyword kw">end</span>
562
+ </pre>
563
+ </div>
564
+ </div>
565
+ </div>
566
+
567
+ <div id="method-M000073" class="method-detail">
568
+ <a name="M000073"></a>
569
+
570
+ <div class="method-heading">
571
+ <a href="#M000073" class="method-signature">
572
+ <span class="method-name">store_errors_in_flash</span><span class="method-args">(errors)</span>
573
+ </a>
574
+ </div>
575
+
576
+ <div class="method-description">
577
+ <p>
578
+ This will convert the errors object into a hash and then store it in the
579
+ flash under the key #{portlet.instance_name}_errors
580
+ </p>
581
+ <p><a class="source-toggle" href="#"
582
+ onclick="toggleCode('M000073-source');return false;">[Source]</a></p>
583
+ <div class="method-source-code" id="M000073-source">
584
+ <pre>
585
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 130</span>
586
+ 130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_errors_in_flash</span>(<span class="ruby-identifier">errors</span>)
587
+ 131: <span class="ruby-identifier">store_hash_in_flash</span>(<span class="ruby-node">&quot;#{instance_name}_errors&quot;</span>,
588
+ 132: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">inject</span>({}){<span class="ruby-operator">|</span><span class="ruby-identifier">h</span>, (<span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span>)<span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>; <span class="ruby-identifier">h</span>})
589
+ 133: <span class="ruby-keyword kw">end</span>
590
+ </pre>
591
+ </div>
592
+ </div>
593
+ </div>
594
+
595
+ <div id="method-M000074" class="method-detail">
596
+ <a name="M000074"></a>
597
+
598
+ <div class="method-heading">
599
+ <a href="#M000074" class="method-signature">
600
+ <span class="method-name">store_hash_in_flash</span><span class="method-args">(key, hash)</span>
601
+ </a>
602
+ </div>
603
+
604
+ <div class="method-description">
605
+ <p><a class="source-toggle" href="#"
606
+ onclick="toggleCode('M000074-source');return false;">[Source]</a></p>
607
+ <div class="method-source-code" id="M000074-source">
608
+ <pre>
609
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 135</span>
610
+ 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_hash_in_flash</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">hash</span>)
611
+ 136: <span class="ruby-identifier">flash</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-constant">HashWithIndifferentAccess</span>.<span class="ruby-identifier">new</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span>,(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)<span class="ruby-operator">|</span>
612
+ 137: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">StringIO</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Tempfile</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">v</span>
613
+ 138: <span class="ruby-identifier">p</span>[<span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-identifier">v</span>
614
+ 139: <span class="ruby-keyword kw">end</span>
615
+ 140: <span class="ruby-identifier">p</span>
616
+ 141: <span class="ruby-keyword kw">end</span>
617
+ 142: <span class="ruby-keyword kw">end</span>
618
+ </pre>
619
+ </div>
620
+ </div>
621
+ </div>
622
+
623
+ <div id="method-M000072" class="method-detail">
624
+ <a name="M000072"></a>
625
+
626
+ <div class="method-heading">
627
+ <a href="#M000072" class="method-signature">
628
+ <span class="method-name">store_params_in_flash</span><span class="method-args">()</span>
629
+ </a>
630
+ </div>
631
+
632
+ <div class="method-description">
633
+ <p>
634
+ This will copy all the params from this request into the flash. The key in
635
+ the flash with be the portlet <a
636
+ href="Portlet.html#M000069">instance_name</a> and the value will be the
637
+ hash of all the params, except the params that have values that are a
638
+ StringIO or a Tempfile will be left out.
639
+ </p>
640
+ <p><a class="source-toggle" href="#"
641
+ onclick="toggleCode('M000072-source');return false;">[Source]</a></p>
642
+ <div class="method-source-code" id="M000072-source">
643
+ <pre>
644
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 124</span>
645
+ 124: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_params_in_flash</span>
646
+ 125: <span class="ruby-identifier">store_hash_in_flash</span> <span class="ruby-identifier">instance_name</span>, <span class="ruby-identifier">params</span>
647
+ 126: <span class="ruby-keyword kw">end</span>
648
+ </pre>
649
+ </div>
650
+ </div>
651
+ </div>
652
+
653
+ <div id="method-M000067" class="method-detail">
654
+ <a name="M000067"></a>
655
+
656
+ <div class="method-heading">
657
+ <a href="#M000067" class="method-signature">
658
+ <span class="method-name">type_name</span><span class="method-args">()</span>
659
+ </a>
660
+ </div>
661
+
662
+ <div class="method-description">
663
+ <p><a class="source-toggle" href="#"
664
+ onclick="toggleCode('M000067-source');return false;">[Source]</a></p>
665
+ <div class="method-source-code" id="M000067-source">
666
+ <pre>
667
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 93</span>
668
+ 93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">type_name</span>
669
+ 94: <span class="ruby-identifier">type</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">titleize</span>
670
+ 95: <span class="ruby-keyword kw">end</span>
671
+ </pre>
672
+ </div>
673
+ </div>
674
+ </div>
675
+
676
+ <div id="method-M000071" class="method-detail">
677
+ <a name="M000071"></a>
678
+
679
+ <div class="method-heading">
680
+ <a href="#M000071" class="method-signature">
681
+ <span class="method-name">url_for_failure</span><span class="method-args">()</span>
682
+ </a>
683
+ </div>
684
+
685
+ <div class="method-description">
686
+ <p><a class="source-toggle" href="#"
687
+ onclick="toggleCode('M000071-source');return false;">[Source]</a></p>
688
+ <div class="method-source-code" id="M000071-source">
689
+ <pre>
690
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 114</span>
691
+ 114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">url_for_failure</span>
692
+ 115: [<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:failure_url</span>], <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">failure_url</span>, <span class="ruby-identifier">request</span>.<span class="ruby-identifier">referer</span>].<span class="ruby-identifier">detect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
693
+ 116: <span class="ruby-operator">!</span><span class="ruby-identifier">e</span>.<span class="ruby-identifier">blank?</span>
694
+ 117: <span class="ruby-keyword kw">end</span>
695
+ 118: <span class="ruby-keyword kw">end</span>
696
+ </pre>
697
+ </div>
698
+ </div>
699
+ </div>
700
+
701
+ <div id="method-M000070" class="method-detail">
702
+ <a name="M000070"></a>
703
+
704
+ <div class="method-heading">
705
+ <a href="#M000070" class="method-signature">
706
+ <span class="method-name">url_for_success</span><span class="method-args">()</span>
707
+ </a>
708
+ </div>
709
+
710
+ <div class="method-description">
711
+ <p><a class="source-toggle" href="#"
712
+ onclick="toggleCode('M000070-source');return false;">[Source]</a></p>
713
+ <div class="method-source-code" id="M000070-source">
714
+ <pre>
715
+ <span class="ruby-comment cmt"># File app/models/portlet.rb, line 108</span>
716
+ 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">url_for_success</span>
717
+ 109: [<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:success_url</span>], <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">success_url</span>, <span class="ruby-identifier">request</span>.<span class="ruby-identifier">referer</span>].<span class="ruby-identifier">detect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
718
+ 110: <span class="ruby-operator">!</span><span class="ruby-identifier">e</span>.<span class="ruby-identifier">blank?</span>
719
+ 111: <span class="ruby-keyword kw">end</span>
720
+ 112: <span class="ruby-keyword kw">end</span>
721
+ </pre>
722
+ </div>
723
+ </div>
724
+ </div>
725
+
726
+
727
+ </div>
728
+
729
+
730
+ </div>
731
+
732
+
733
+ <div id="validator-badges">
734
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
735
+ </div>
736
+
737
+ </body>
738
+ </html>