newsletter 3.0.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +6 -0
  3. data/.ruby-version +1 -1
  4. data/Gemfile +17 -5
  5. data/README.md +40 -0
  6. data/app/assets/images/newsletter/BottomRight.gif +0 -0
  7. data/app/assets/images/newsletter/MidRight.gif +0 -0
  8. data/app/assets/images/newsletter/TopCenter.gif +0 -0
  9. data/app/assets/images/newsletter/TopRight.gif +0 -0
  10. data/app/assets/images/newsletter/calendar_date_select/calendar.gif +0 -0
  11. data/app/assets/images/newsletter/iReach_logo.gif +0 -0
  12. data/app/assets/images/newsletter/spacer.gif +0 -0
  13. data/app/assets/images/newsletter/topMid.gif +0 -0
  14. data/app/assets/javascripts/newsletter/application.js +6 -0
  15. data/app/assets/stylesheets/newsletter/admin.css +261 -0
  16. data/app/assets/stylesheets/newsletter/application.css +3 -1
  17. data/app/assets/stylesheets/newsletter/nav.css +68 -0
  18. data/app/assets/stylesheets/newsletter/timepicker.css +54 -0
  19. data/app/controllers/newsletter/application_controller.rb +5 -26
  20. data/app/controllers/newsletter/areas_controller.rb +0 -38
  21. data/app/controllers/newsletter/designs_controller.rb +5 -2
  22. data/app/controllers/newsletter/elements_controller.rb +7 -7
  23. data/app/controllers/newsletter/fields_controller.rb +1 -46
  24. data/app/controllers/newsletter/newsletters_controller.rb +6 -24
  25. data/app/controllers/newsletter/pieces_controller.rb +8 -21
  26. data/app/helpers/newsletter/designs_helper.rb +1 -8
  27. data/app/helpers/newsletter/layout_helper.rb +43 -0
  28. data/app/helpers/newsletter/newsletters_helper.rb +9 -5
  29. data/app/models/newsletter/area.rb +1 -4
  30. data/app/models/newsletter/asset.rb +7 -1
  31. data/app/models/newsletter/design.rb +48 -34
  32. data/app/models/newsletter/element.rb +0 -42
  33. data/app/models/newsletter/field.rb +7 -10
  34. data/app/models/newsletter/field/inline_asset.rb +15 -2
  35. data/app/models/newsletter/newsletter.rb +18 -11
  36. data/app/models/newsletter/piece.rb +20 -24
  37. data/app/views/layouts/newsletter/application.html.erb +20 -116
  38. data/app/views/layouts/newsletter/layout.html.erb +15 -0
  39. data/app/views/newsletter/areas/_area.html.erb +1 -1
  40. data/app/views/newsletter/designs/_area_fields.html.erb +1 -1
  41. data/app/views/newsletter/designs/_form.html.erb +11 -29
  42. data/app/views/newsletter/designs/_newsletter_area.html.erb +2 -2
  43. data/app/views/newsletter/designs/edit.html.erb +3 -6
  44. data/app/views/newsletter/designs/index.html.erb +7 -6
  45. data/app/views/newsletter/designs/new.html.erb +2 -2
  46. data/app/views/newsletter/designs/show.html.erb +5 -5
  47. data/app/views/newsletter/elements/_field_fields.html.erb +12 -25
  48. data/app/views/newsletter/elements/_form.html.erb +38 -34
  49. data/app/views/newsletter/elements/edit.html.erb +2 -5
  50. data/app/views/newsletter/elements/index.html.erb +7 -7
  51. data/app/views/newsletter/elements/new.html.erb +2 -2
  52. data/app/views/newsletter/elements/show.html.erb +5 -5
  53. data/app/views/newsletter/fields/_inline_asset.html.erb +12 -32
  54. data/app/views/newsletter/fields/_text.html.erb +2 -4
  55. data/app/views/newsletter/fields/_text_area.html.erb +2 -7
  56. data/app/views/newsletter/newsletters/_form.html.erb +6 -16
  57. data/app/views/newsletter/newsletters/_head.html.erb +2 -3
  58. data/app/views/newsletter/newsletters/_newsletter.html.erb +11 -6
  59. data/app/views/newsletter/newsletters/archive.html.erb +1 -1
  60. data/app/views/newsletter/newsletters/edit.html.erb +8 -16
  61. data/app/views/newsletter/newsletters/index.html.erb +7 -7
  62. data/app/views/newsletter/newsletters/new.html.erb +2 -2
  63. data/app/views/newsletter/newsletters/show.html.erb +11 -6
  64. data/app/views/newsletter/pieces/_form.html.erb +1 -8
  65. data/app/views/newsletter/pieces/edit.html.erb +2 -4
  66. data/app/views/newsletter/pieces/new.html.erb +3 -5
  67. data/config/locales/newsletters.en.yml +27 -0
  68. data/config/routes.rb +4 -4
  69. data/designs/exports/Example.yml +202 -0
  70. data/designs/exports/example-export.yaml +481 -87
  71. data/lib/deleteable.rb +12 -14
  72. data/lib/newsletter/engine.rb +112 -6
  73. data/lib/newsletter/version.rb +1 -1
  74. data/lib/tasks/newsletter.rake +54 -41
  75. data/newsletter.gemspec +3 -1
  76. data/spec/test_app/.rspec +2 -0
  77. data/spec/test_app/app/controllers/application_controller.rb +5 -0
  78. data/spec/test_app/app/models/ability.rb +8 -0
  79. data/spec/test_app/app/models/user.rb +10 -0
  80. data/spec/test_app/app/views/layouts/application.html.erb +3 -1
  81. data/spec/test_app/config/database.postgres.yml +21 -0
  82. data/spec/test_app/config/initializers/carrierwave.rb +23 -0
  83. data/spec/test_app/config/newsletter.yml +6 -3
  84. data/spec/test_app/config/routes.rb +1 -2
  85. data/spec/test_app/db/migrate/20131222171230_create_users.rb +13 -0
  86. data/spec/test_app/db/schema.rb +13 -2
  87. data/spec/test_app/features/newsletter_management.feature +39 -0
  88. data/spec/test_app/features/piece_management.feature +20 -0
  89. data/spec/test_app/features/step_definitions/debugging_steps.rb +3 -0
  90. data/spec/test_app/features/step_definitions/design_steps.rb +3 -0
  91. data/spec/test_app/features/step_definitions/login_steps.rb +4 -0
  92. data/spec/test_app/features/step_definitions/newsletter_steps.rb +24 -0
  93. data/spec/test_app/features/step_definitions/piece_steps.rb +26 -0
  94. data/{features → spec/test_app/features}/step_definitions/webrat_steps.rb +10 -6
  95. data/spec/test_app/features/support/env.rb +36 -0
  96. data/spec/test_app/features/support/functions.rb +3 -0
  97. data/{features → spec/test_app/features}/support/paths.rb +10 -1
  98. data/spec/test_app/lib/debugging.rb +61 -0
  99. data/spec/test_app/script/full_suite +44 -0
  100. data/spec/test_app/script/rspec_multi_db +26 -0
  101. data/spec/test_app/spec/controllers/newsletter/pieces_controller_spec.rb +175 -0
  102. data/spec/test_app/spec/factories/_functions.rb +19 -0
  103. data/spec/test_app/spec/factories/assets.rb +8 -0
  104. data/spec/test_app/spec/factories/designs.rb +1 -1
  105. data/spec/test_app/spec/factories/newsletters.rb +68 -6
  106. data/spec/test_app/spec/factories/pieces.rb +8 -0
  107. data/spec/test_app/spec/factories/users.rb +13 -0
  108. data/spec/test_app/spec/features/newsletter/design_spec.rb +175 -0
  109. data/spec/test_app/spec/features/newsletter/element_spec.rb +53 -0
  110. data/spec/test_app/spec/features/newsletter/newsletter_spec.rb +99 -3
  111. data/spec/test_app/spec/helpers/newsletter/newsletters_helper_spec.rb +65 -0
  112. data/spec/test_app/spec/models/newsletter/asset_spec.rb +23 -0
  113. data/spec/test_app/spec/models/newsletter/design_spec.rb +23 -2
  114. data/spec/test_app/spec/models/newsletter/element_spec.rb +4 -0
  115. data/spec/test_app/spec/models/newsletter/inline_asset_spec.rb +43 -0
  116. data/spec/test_app/spec/models/newsletter/newsletter_spec.rb +102 -2
  117. data/spec/test_app/spec/models/newsletter/piece_spec.rb +33 -0
  118. data/spec/test_app/spec/rails_helper.rb +82 -0
  119. data/spec/test_app/spec/routing/newsletter/pieces_routing_spec.rb +28 -0
  120. data/spec/test_app/spec/spec_helper.rb +73 -64
  121. data/spec/test_app/spec/support/carrierwave.rb +7 -0
  122. data/spec/test_app/spec/support/continuances.rb +18 -0
  123. data/spec/test_app/spec/support/files/iReach_logo.gif +0 -0
  124. data/spec/test_app/spec/support/files/test.pdf +0 -0
  125. data/spec/test_app/spec/support/functions.rb +3 -0
  126. metadata +145 -726
  127. data/README +0 -243
  128. data/README.rdoc +0 -3
  129. data/app/views/newsletter/elements/_newsletter_field.html.erb +0 -37
  130. data/features/support/env.rb +0 -17
  131. data/lib/tasks/newsletter_tasks.rake +0 -4
  132. data/lib/tasks/rspec.rake +0 -158
  133. data/spec/spec_helper.rb +0 -55
  134. data/spec/test_app/db/structure.sql +0 -12
  135. data/spec/test_app/newsletters/designs/My_Design/elements/_left_column_article.html.erb +0 -10
  136. data/spec/test_app/newsletters/designs/My_Design/elements/_left_column_image.html.erb +0 -2
  137. data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_article.html.erb +0 -5
  138. data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_headline.html.erb +0 -1
  139. data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_image.html.erb +0 -1
  140. data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_paragraph.html.erb +0 -3
  141. data/spec/test_app/newsletters/designs/My_Design/layout.html.erb +0 -66
  142. data/spec/test_app/newsletters/designs/Testo_Changeo/elements/_left_column_article.html.erb +0 -10
  143. data/spec/test_app/newsletters/designs/Testo_Changeo/layout.html.erb +0 -66
  144. data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_left_column_article.html.erb +0 -10
  145. data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_left_column_image.html.erb +0 -2
  146. data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_article.html.erb +0 -5
  147. data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_headline.html.erb +0 -1
  148. data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_image.html.erb +0 -1
  149. data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_paragraph.html.erb +0 -3
  150. data/spec/test_app/newsletters/designs/empower_innovative_e-business/layout.html.erb +0 -66
  151. data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_left_column_article.html.erb +0 -10
  152. data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_left_column_image.html.erb +0 -2
  153. data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_article.html.erb +0 -5
  154. data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_headline.html.erb +0 -1
  155. data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_image.html.erb +0 -1
  156. data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_paragraph.html.erb +0 -3
  157. data/spec/test_app/newsletters/designs/enable_extensible_systems/layout.html.erb +0 -66
  158. data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_left_column_article.html.erb +0 -10
  159. data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_left_column_image.html.erb +0 -2
  160. data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_article.html.erb +0 -5
  161. data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_headline.html.erb +0 -1
  162. data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_image.html.erb +0 -1
  163. data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_paragraph.html.erb +0 -3
  164. data/spec/test_app/newsletters/designs/engage_innovative_schemas/layout.html.erb +0 -67
  165. data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_left_column_article.html.erb +0 -10
  166. data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_left_column_image.html.erb +0 -2
  167. data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_article.html.erb +0 -5
  168. data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_headline.html.erb +0 -1
  169. data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_image.html.erb +0 -1
  170. data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_paragraph.html.erb +0 -3
  171. data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/layout.html.erb +0 -66
  172. data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_left_column_article.html.erb +0 -10
  173. data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_left_column_image.html.erb +0 -2
  174. data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_article.html.erb +0 -5
  175. data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_headline.html.erb +0 -1
  176. data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_image.html.erb +0 -1
  177. data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_paragraph.html.erb +0 -3
  178. data/spec/test_app/newsletters/designs/harness_integrated_partnerships/layout.html.erb +0 -66
  179. data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_left_column_article.html.erb +0 -10
  180. data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_left_column_image.html.erb +0 -2
  181. data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_article.html.erb +0 -5
  182. data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_headline.html.erb +0 -1
  183. data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_image.html.erb +0 -1
  184. data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_paragraph.html.erb +0 -3
  185. data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/layout.html.erb +0 -66
  186. data/spec/test_app/newsletters/designs/integrate_mission-critical_systems/elements/_left_column_article.html.erb +0 -10
  187. data/spec/test_app/newsletters/designs/integrate_mission-critical_systems/layout.html.erb +0 -66
  188. data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_left_column_article.html.erb +0 -10
  189. data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_left_column_image.html.erb +0 -2
  190. data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_article.html.erb +0 -5
  191. data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_headline.html.erb +0 -1
  192. data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_image.html.erb +0 -1
  193. data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_paragraph.html.erb +0 -3
  194. data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/layout.html.erb +0 -67
  195. data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_left_column_article.html.erb +0 -10
  196. data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_left_column_image.html.erb +0 -2
  197. data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_article.html.erb +0 -5
  198. data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_headline.html.erb +0 -1
  199. data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_image.html.erb +0 -1
  200. data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_paragraph.html.erb +0 -3
  201. data/spec/test_app/newsletters/designs/iterate_strategic_architectures/layout.html.erb +0 -67
  202. data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_left_column_article.html.erb +0 -10
  203. data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_left_column_image.html.erb +0 -2
  204. data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_article.html.erb +0 -5
  205. data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_headline.html.erb +0 -1
  206. data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_image.html.erb +0 -1
  207. data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_paragraph.html.erb +0 -3
  208. data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/layout.html.erb +0 -67
  209. data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_left_column_article.html.erb +0 -10
  210. data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_left_column_image.html.erb +0 -2
  211. data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_article.html.erb +0 -5
  212. data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_headline.html.erb +0 -1
  213. data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_image.html.erb +0 -1
  214. data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_paragraph.html.erb +0 -3
  215. data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/layout.html.erb +0 -67
  216. data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_left_column_article.html.erb +0 -10
  217. data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_left_column_image.html.erb +0 -2
  218. data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_article.html.erb +0 -5
  219. data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_headline.html.erb +0 -1
  220. data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_image.html.erb +0 -1
  221. data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_paragraph.html.erb +0 -3
  222. data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/layout.html.erb +0 -66
  223. data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_left_column_article.html.erb +0 -10
  224. data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_left_column_image.html.erb +0 -2
  225. data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_article.html.erb +0 -5
  226. data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_headline.html.erb +0 -1
  227. data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_image.html.erb +0 -1
  228. data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_paragraph.html.erb +0 -3
  229. data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/layout.html.erb +0 -66
  230. data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_left_column_article.html.erb +0 -10
  231. data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_left_column_image.html.erb +0 -2
  232. data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_article.html.erb +0 -5
  233. data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_headline.html.erb +0 -1
  234. data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_image.html.erb +0 -1
  235. data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_paragraph.html.erb +0 -3
  236. data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/layout.html.erb +0 -67
  237. data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_left_column_article.html.erb +0 -10
  238. data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_left_column_image.html.erb +0 -2
  239. data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_article.html.erb +0 -5
  240. data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_headline.html.erb +0 -1
  241. data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_image.html.erb +0 -1
  242. data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_paragraph.html.erb +0 -3
  243. data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/layout.html.erb +0 -66
  244. data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_left_column_article.html.erb +0 -10
  245. data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_left_column_image.html.erb +0 -2
  246. data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_article.html.erb +0 -5
  247. data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_headline.html.erb +0 -1
  248. data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_image.html.erb +0 -1
  249. data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_paragraph.html.erb +0 -3
  250. data/spec/test_app/newsletters/designs/target_enterprise_functionalities/layout.html.erb +0 -67
  251. data/spec/test_app/newsletters/designs/transition_enterprise_systems/elements/_left_column_article.html.erb +0 -10
  252. data/spec/test_app/newsletters/designs/transition_enterprise_systems/layout.html.erb +0 -66
  253. data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_left_column_article.html.erb +0 -10
  254. data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_left_column_image.html.erb +0 -2
  255. data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_article.html.erb +0 -5
  256. data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_headline.html.erb +0 -1
  257. data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_image.html.erb +0 -1
  258. data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_paragraph.html.erb +0 -3
  259. data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/layout.html.erb +0 -66
@@ -1,10 +1,7 @@
1
1
  ---
2
2
  :name: My Design
3
- :html_text: ! "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html
4
- xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<meta http-equiv=\"Content-Type\"
5
- content=\"text/html; charset=utf-8\" />\r\n<title>Simple Newsletter</title>\r\n<style
6
- type=\"text/css\">\r\nh1{font-family: Arial Black, Arial, Helvetica, sans-serif;
7
- color: #333333; font-size:22px; margin:0; padding: 20px 0 10px 0; }\r\nh2{font-family:
3
+ :html_text: ! "<style type=\"text/css\">\r\nh1{font-family: Arial Black, Arial, Helvetica,
4
+ sans-serif; color: #333333; font-size:22px; margin:0; padding: 0 0 10px 0; }\r\nh2{font-family:
8
5
  Arial Black, Arial, Helvetica, sans-serif; color: #333333; font-size:17px; margin:0;
9
6
  padding: 7px 0 0 0;}\r\nh3 {font-family: Arial Black, Arial, Helvetica, sans-serif;
10
7
  color: #0068b3; font-size:9pt; margin:0; padding: 0;}\r\np {font-family: Arial,
@@ -15,33 +12,36 @@
15
12
  bold;}\r\np.right a {font-size: 7pt;}\r\nhr{color: #7fc348; margin:5px 0; height:
16
13
  1px; padding: 0;}\r\n.bullet {color: #7fc348; font-weight: bold; height: 5px;}\r\np.pullquote
17
14
  {color: #333333; background:url(<%= asset_path( \"images/pullquote_bg.gif\") %>)
18
- repeat-x ; margin:0; padding: 15px; text-align:center; font-style: italic; font-size:
19
- 7pt;}\r\np.pullquote a { color: #333333;}\r\np.pullquote a:hover {color: #0068b3;}\r\n</style><% unless is_email? %><%=
20
- yield :head_content %><%= javascript_include_tag :application %><% end %>\r\n</head>\r\n\r\n<body>\r\n<table
21
- cellspacing=\"0\" cellpadding=\"0\" style=\"margin: 0 8px; width: 574px;\">\r\n<tr><td
22
- colspan=\"2\" align=\"center\">\r\n<%= image_tag \"images/newsletter_header.gif\",
23
- \ {:width=>\"564\"} %></td></tr>\r\n<tr bgcolor=\"#0068b3\" cellpadding=\"2\" cellspacing=\"2\"><td
24
- style=\"font-family:arial,sans-serif;font-size:11px;color:#FFFFFF;\"cellpadding=\"2\"
25
- cellspacing=\"2\">A Professional Employer Organization Newsletter</td><td align=\"right\"
15
+ repeat-x ; margin:0; padding: 15px; text-align:center; font-style: italic; font-size:\r\n7pt;}\r\np.pullquote
16
+ a { color: #333333;}\r\np.pullquote a:hover {color: #0068b3;}\r\n .wrappertable
17
+ {\r\n\twidth: 587px;\r\n\tmargin: 0 8px;\r\n }\r\n .leftcoltable {\r\n\twidth:
18
+ 227px;\r\n } \r\n .rightcoltable {\r\n\twidth: 347px;\r\n }\r\n .left_col_img
19
+ {\r\n\twidth: 220px;\r\n }\r\n .right_col_img {\r\n\twidth: 320px;\r\n }\r\n
20
+ \ .right_col_art_img {\r\n\twidth: 174px;\r\n }\r\n@media only screen and (max-device-width:
21
+ 600px) {\r\n .wrappertable {\r\n\twidth: 95%;\r\n }\r\n .leftcoltable {\r\n\twidth:
22
+ 100%;\r\n }\r\n .rightcoltable {\r\n\twidth: 100%;\r\n }\r\n .left_col_img {\r\n\twidth:
23
+ 95%;\r\n }\r\n .right_col_img {\r\n\twidth: 95%;\r\n }\r\n .header_img {\r\n\twidth:
24
+ 100%;\r\n }\r\n}\r\n</style>\r\n<center>\r\n<table cellspacing=\"0\" cellpadding=\"0\"
25
+ class=\"wrappertable\" width=\"587\">\r\n<tr><td colspan=\"2\" align=\"center\"><%= design_image(\"newsletter_header.png\", width: \"587\", class: \"header_img\") %></td></tr>\r\n<tr
26
+ bgcolor=\"#0068b3\" cellpadding=\"2\" cellspacing=\"2\"><td style=\"font-family:arial,sans-serif;font-size:11px;color:#FFFFFF;\"cellpadding=\"2\"
27
+ cellspacing=\"2\">&nbsp;Your Tagline or Newsletter Description</td><td align=\"right\"
26
28
  style=\"font-family:arial,sans-serif;font-size:12px;color:#FFFFFF;\" cellpadding=\"2\"
27
- cellspacing=\"2\"><%= @newsletter.name %></td></tr><h3><%= link_to \"Newsletter
28
- Archives\", \"#{::Newsletter.site_url}/newsletters/archive\", :target => '_blank'
29
- %></h3>\r\n</table>\r\n\r\n<table cellspacing=\"0\" cellpadding=\"0\" style=\"margin:
30
- 0 8px; width: 574px;\">\r\n<tr valign=\"top\">\r\n<td width=\"227\">\r\n\r\n<h2>In
31
- This Issue</h2>\r\n<!-- Left Column -->\r\n<%= render left_column %>\r\n<hr />\r\n\r\n<h3><%=
32
- link_to \"Newsletter Archives\", \"#{::Newsletter.site_url}/newsletters/archive\",
33
- :target => '_blank' %></h3>\r\n\r\n\r\n<p>If you missed a previous release or simply
34
- want to review an article of interest, all our newsletters have been archived. <%=
35
- link_to \"Read More\", \"#{::Newsletter.site_url}/newsletters/archive\" %></p>\r\n\r\n\r\n</td>\r\n<!--Right
36
- Column-->\r\n<td width=\"347\" style=\"padding-left: 15px; padding-top: 20px;\">\r\n<%=
37
- render right_column %>\r\n</td>\r\n</tr>\r\n\r\n<% if is_email? %>\r\n<tr><td colspan=\"3\"><hr
38
- /><p class=\"footer\" align=\"center\"><font color=\"#aaaaaa\">To remove your address
39
- from this newsletter list, please click <%= link_to \"Here\", '#UNSUBSCRIBE_URL#'
40
- %>.</font></p></td></tr>\r\n<% end %>\r\n\r\n<tr><td colspan=\"3\"><hr /><p class=\"footer\"
29
+ cellspacing=\"2\"><%= @newsletter.name %>&nbsp;</td></tr>\r\n</table>\r\n\r\n<table
30
+ cellspacing=\"0\" cellpadding=\"0\" class=\"wrappertable\" width=\"587\">\r\n<tr
31
+ valign=\"top\">\r\n<td><table cellspacing=\"0\" cellpadding=\"0\" class=\"leftcoltable\"
32
+ align=\"left\"><tr><td>\r\n<h2>In This Issue</h2>\r\n<!-- Left Column -->\r\n<%=
33
+ render left_column %>\r\n<hr />\r\n<h3><%= link_to \"Newsletter Archives\", \"#{::Newsletter.site_url}/newsletters/archive\",
34
+ :target => '_blank' %></h3>\r\n<p>If you missed a previous release or simply want
35
+ to review an article of interest, all our newsletters have been archived. <%= link_to
36
+ \"Read More\", \"#{::Newsletter.site_url}/newsletters/archive\" %></p>\r\n</td></tr></table>\r\n<!--Right
37
+ Column-->\r\n<table cellspacing=\"0\" cellpadding=\"0\" class=\"rightcoltable\"
38
+ align=\"right\"><tr><td>\r\n<%= render right_column %>\r\n</td></tr></table></td>\r\n</tr>\r\n<%
39
+ if is_email? %>\r\n<tr><td><hr /><p class=\"footer\" align=\"center\"><font color=\"#aaaaaa\">To
40
+ remove your address from this newsletter list, please click <%= link_to \"Here\",
41
+ '#UNSUBSCRIBE_URL##' %>.</font></p></td></tr>\r\n<% end %>\r\n<tr><td><hr /><p class=\"footer\"
41
42
  align=\"center\"><font color=\"#555555\"><b>My Company, Inc.</b> <span class=\"bullet\">&#8226;</span>
42
- 123 Test Road <span class=\"bullet\">&#8226;</span> Austin, TX 78230 p:210.495.1171
43
- <span class=\"bullet\">&#8226;</span> f:555.555.1244 <span class=\"bullet\">&#8226;</span>
44
- toll free: 1.800.555.5555</font></p></td></tr>\r\n\r\n\r\n\r\n\r\n\r\n\r\n</table>\r\n</body>\r\n</html>\r\n"
43
+ 123 Test Road <span class=\"bullet\">&#8226;</span> Austin, TX 78701 <span class=\"bullet\">&#8226;</span>
44
+ p:512.555.1212</font></p></td></tr>\r\n</table>\r\n</center>"
45
45
  :description: This is the simple newsletter template.
46
46
  :areas:
47
47
  - :name: left_column
@@ -50,7 +50,7 @@
50
50
  :description: This will house the elements of the 'right_column'
51
51
  :elements:
52
52
  - :name: Left Column Article
53
- :description: Has a heading, an excerpt, and a Read More link
53
+ :description: Article with a heading, an excerpt, and a Read More link
54
54
  :html_text: ! '<hr />
55
55
 
56
56
  <h3>
@@ -76,31 +76,28 @@
76
76
  - :name: left_column
77
77
  :description: This will house the elements of the 'left_column'
78
78
  :fields:
79
+ - :name: headline
80
+ :label: Headline
81
+ :sequence: 1
82
+ :is_required:
83
+ :description: ''
84
+ :type: Newsletter::Field::Text
79
85
  - :name: article_excerpt
80
86
  :label: Article Excerpt
81
- :sequence:
87
+ :sequence: 1
82
88
  :is_required:
83
- :description: Article Excerpt
89
+ :description: ''
84
90
  :type: Newsletter::Field::TextArea
85
91
  - :name: link
86
92
  :label: Read More Link
87
- :sequence:
93
+ :sequence: 1
88
94
  :is_required:
89
- :description: Read More Link
95
+ :description: ''
90
96
  :type: Newsletter::Field::InlineAsset
91
- - :name: headline
92
- :label: Headline
93
- :sequence:
94
- :is_required:
95
- :description: Headline
96
- :type: Newsletter::Field::Text
97
97
  - :name: Left Column Image
98
98
  :description: Image that is formatted for the left column
99
- :html_text: ! '<hr />
100
-
101
- <p><%= image_tag image.url, {:width=>"220", :alt=>image.text } %></p>
102
-
103
- '
99
+ :html_text: ! "<hr />\r\n<p><%= image_tag image.url, {:width=>\"220\", :alt=>image.text,
100
+ :class=>\"left_col_img\" } %></p>\r\n"
104
101
  :areas:
105
102
  - :name: left_column
106
103
  :description: This will house the elements of the 'left_column'
@@ -109,50 +106,44 @@
109
106
  :label: Image
110
107
  :sequence: 1
111
108
  :is_required: true
112
- :description: image formatted for left column
109
+ :description: Should be 220 px wide
113
110
  :type: Newsletter::Field::InlineAsset
114
- - :name: Right column article
115
- :description: RIght Column Article
116
- :html_text: ! '<h1><%= headline %></h1>
117
-
118
- <p class="right">
119
-
120
- <%= image_tag(image.url, {:width=>"174", :vspace=>"5", :hspace=>"10", :align=>"left",
121
- :alt => image.text} ) unless image.url.blank? %>
122
-
123
- <%= filter(article_excerpt) %>
124
-
125
- <nobr><%= link_to(''Read More'', link.url) unless link.url.blank? %></nobr></p>'
111
+ - :name: Right Column Article
112
+ :description: Includes a headline, excerpt, image, and read more link
113
+ :html_text: ! "<h1><%= headline %></h1>\r\n<p class=\"right\">\r\n<%= image_tag(image.url,
114
+ {:width=>\"174\", :vspace=>\"5\", :hspace=>\"10\", :align=>\"left\", :alt => image.text,
115
+ :class=>\"right_col_art_img\"} ) unless image.url.blank? %>\r\n<%= filter(article_excerpt)
116
+ %>\r\n<nobr><%= link_to('Read More', link.url) unless link.url.blank? %></nobr></p>"
126
117
  :areas:
127
118
  - :name: right_column
128
119
  :description: This will house the elements of the 'right_column'
129
120
  :fields:
130
121
  - :name: headline
131
122
  :label: Headline
132
- :sequence:
123
+ :sequence: 1
133
124
  :is_required:
134
- :description: Headline
125
+ :description: ''
135
126
  :type: Newsletter::Field::Text
127
+ - :name: article_excerpt
128
+ :label: Article Excerpt
129
+ :sequence: 1
130
+ :is_required:
131
+ :description: ''
132
+ :type: Newsletter::Field::TextArea
136
133
  - :name: image
137
134
  :label: Image
138
- :sequence:
135
+ :sequence: 1
139
136
  :is_required:
140
- :description: Article Image
137
+ :description: Should be 174 px wide
141
138
  :type: Newsletter::Field::InlineAsset
142
139
  - :name: link
143
140
  :label: Read More Link
144
- :sequence:
141
+ :sequence: 2
145
142
  :is_required:
146
- :description: Read More Link
143
+ :description: ''
147
144
  :type: Newsletter::Field::InlineAsset
148
- - :name: article_excerpt
149
- :label: Article Excerpt
150
- :sequence:
151
- :is_required:
152
- :description: Article Excerpt
153
- :type: Newsletter::Field::TextArea
154
145
  - :name: Right Column Headline
155
- :description: Headline for use in the right column!
146
+ :description: ''
156
147
  :html_text: <h1><%= headline %></h1>
157
148
  :areas:
158
149
  - :name: right_column
@@ -160,41 +151,444 @@
160
151
  :fields:
161
152
  - :name: headline
162
153
  :label: Headline
163
- :sequence:
154
+ :sequence: 1
164
155
  :is_required:
165
- :description: Headline
156
+ :description: ''
166
157
  :type: Newsletter::Field::Text
167
158
  - :name: Right Column Image
168
- :description: Image for use in the right column
159
+ :description: ''
169
160
  :html_text: ! '<%= image_tag image.url, {:width=>"320", :alt=>image.text, :style=>"margin:0;
170
- padding: 15px 0 0 0;"} %>'
161
+ padding: 15px 0 0 0;", :class=>"right_col_img"} %>'
171
162
  :areas:
172
163
  - :name: right_column
173
164
  :description: This will house the elements of the 'right_column'
174
165
  :fields:
175
166
  - :name: image
176
167
  :label: Image
177
- :sequence:
168
+ :sequence: 1
178
169
  :is_required:
179
- :description: Right Column Image
170
+ :description: Should be 320 px wide
180
171
  :type: Newsletter::Field::InlineAsset
181
172
  - :name: Right Column Paragraph
182
- :description: paragraph for use in the right column, may contain a link
173
+ :description: Paragraph with read more link.
183
174
  :html_text: ! "<p class=\"right\">\n\t<%= filter(body) %> <%= link_to 'Read More',
184
175
  link.url unless link.url.blank? %>\n</p>"
185
176
  :areas:
186
177
  - :name: right_column
187
178
  :description: This will house the elements of the 'right_column'
188
179
  :fields:
189
- - :name: link
190
- :label: Link
191
- :sequence:
192
- :is_required:
193
- :description: Link
194
- :type: Newsletter::Field::InlineAsset
195
180
  - :name: body
196
181
  :label: Body
197
- :sequence:
182
+ :sequence: 1
198
183
  :is_required:
199
- :description: Body
184
+ :description: ''
200
185
  :type: Newsletter::Field::TextArea
186
+ - :name: link
187
+ :label: Read More Link
188
+ :sequence: 1
189
+ :is_required:
190
+ :description: ''
191
+ :type: Newsletter::Field::InlineAsset
192
+ :images:
193
+ - :name: newsletter_header.png
194
+ :data: ! 'iVBORw0KGgoAAAANSUhEUgAAAksAAABeCAIAAAC8W8dUAAAAGXRFWHRTb2Z0
195
+
196
+ d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9i
197
+
198
+ ZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2Vo
199
+
200
+ aUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6
201
+
202
+ bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2
203
+
204
+ LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpS
205
+
206
+ REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJk
207
+
208
+ Zi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIg
209
+
210
+ eG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8i
211
+
212
+ IHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5
213
+
214
+ cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5j
215
+
216
+ b20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRp
217
+
218
+ ZDowMjgwMTE3NDA3MjA2ODExODA4M0NEQ0E2N0Y3QUVBMiIgeG1wTU06RG9j
219
+
220
+ dW1lbnRJRD0ieG1wLmRpZDo4NjczRDZEREMxM0MxMUU0ODhBOUI4OUM2MUEw
221
+
222
+ QzNFRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NjczRDZEQ0MxM0Mx
223
+
224
+ MUU0ODhBOUI4OUM2MUEwQzNFRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQ
225
+
226
+ aG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9t
227
+
228
+ IHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDM4MDExNzQwNzIwNjgxMTgw
229
+
230
+ ODNDRENBNjdGN0FFQTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDI4
231
+
232
+ MDExNzQwNzIwNjgxMTgwODNDRENBNjdGN0FFQTIiLz4gPC9yZGY6RGVzY3Jp
233
+
234
+ cHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9
235
+
236
+ InIiPz5DleZ0AAAfOElEQVR42uxdC2wUR5p22Nmzje0Yv2bsMR7jYfwifiY2
237
+
238
+ 5mFhyNrLYRzgQLtcUEJE7jabRIm0nHJ3OmmVKKfTLnfill3pBFn2BJITmYsS
239
+
240
+ SHjEiIUDDOZpFmPwBoMN2GP8msHGNnbw3CJxf9xkdrarurv6MT3dw/8pikxP
241
+
242
+ T3VVTVd99dX/1/8/8/jx4wgEAoFAIMIOzyDDIRAIBAIZDoFAIBAIZDgEAoFA
243
+
244
+ IJDhEAgEAoFAhkMgEAgEIqQM1zvWKX5DRny2cXph3DcyNjUsckN8VNKzkYn4
245
+
246
+ uiAQCMTTznBAbx+1vSl+z8t5/1ZgXWiQXvj42r923G8SuSEvoerVwvefhhei
247
+
248
+ t7e3p6eHvJ6amupyubR6SnNzM3kxMzMzIyMDx2QYY3h4eHJygncxKSk5JiYG
249
+
250
+ OwcRDFhC9eBj3bsMwnDAx+L09lQB6K2xsZG8DnPQe++9FxkZqclTqI+ora1F
251
+
252
+ hgtv9PXdvX//PvXtCo8G+qbx7LPPalWg1+tNSUnBN0cxZoTqwd6p2+2ec0bo
253
+
254
+ gpPuPfgeSGJycvL06dPYDwiECBvt3r37yy+/1Ios6+vrt23bhh1rSobjZBwK
255
+
256
+ OBPh+PHj4+Pj2A8IBIlLly4BG7ndbm3mpd7erVu3dnR0YMeamOFAxp1xH0AB
257
+
258
+ ZyKcOnUKOwGBIMXWvn37NFv6Hzu2Y8eOyclJ7Fv1sIT28U13Py6z10RaolHA
259
+
260
+ mQJnz54tLi5GaxkC4RdbQG9asZHX6927d69WQhARYg0HmHw0cqn/KAo4E+HE
261
+
262
+ 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
591
+
592
+ rsO3AAAAAElFTkSuQmCC
593
+
594
+ '