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
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZTEzODQ5MTBjODFlNTY1MGMxZGRjOWRjZWQwMTI1YjAzZTJiMGU1MA==
5
- data.tar.gz: !binary |-
6
- M2Q4MTkyYzYzZmY5NzFmODVmMjIzYjljYzk2YjNhNDMwOGMyYTU2MA==
2
+ SHA1:
3
+ metadata.gz: 5d3fe375c39131a88ec0ed914e5be808de7b4905
4
+ data.tar.gz: 867827becbeb93b65776148c34eabaf9c14c2c2c
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MTc2YmZjODU0NWU1MTdlNzQ2NzE5NWVhNzgzYzI5OWM4OWRiYjEzZjExNDVh
10
- MWM5ZTBkZTdmYTdjMGRmNWQwNGVjMzA2ZTk2MjQxMDVhZjM1MGQ4Y2Y0YjY5
11
- MzY4YzdiYjE1NmU5NjY5MGNhNTE3ZGI0ODgyYWI0YTUxZGQ0N2U=
12
- data.tar.gz: !binary |-
13
- NGViNDMwYjNmMjc5ODc0ZWZlOGEyM2U0NmI2ODM5OGFiZDM4ZWY0YWM4ZWQ4
14
- YTdjYzAwZDdkYjk3NTAzOTRiNjM5MWMyOTdmMDM4N2I3NGNmMzY5Njk5ZmE2
15
- N2JmMzQ4OGQxYmE3MDFiYmM4NmE5YjY3OTQ3YmFmMGY5ODA1OWI=
6
+ metadata.gz: 757dd0a080e250bfba7a484aadf905343c48c59732cb10d6305655c50061934ee37811ebdd23d6128cfd30b4dedc01fa79bcbd1059364243456955ae44cb1562
7
+ data.tar.gz: d449dff3abe43f00768ad6a26aa91da97cb5ff70f6fd707536e14a6e9714c3907b16850f6aee9f97ab3158f3b02b0b9e0f9ae3bbc36f2721ef7b7355a4bdde38
data/.gitignore CHANGED
@@ -1,5 +1,9 @@
1
1
  *.gem
2
2
  *.rbc
3
+ *.swp
4
+ *.DS_Store
5
+ *.local.yml
6
+ *structure.sql
3
7
  .bundle
4
8
  .config
5
9
  .yardoc
@@ -20,3 +24,5 @@ log
20
24
  *.log
21
25
  spec/test_app/designs
22
26
  spec/test_app/config/database.yml
27
+ spec/test_app/public/newsletter_assets
28
+ spec/test_app/public/images/*
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-1.9.3-p551
1
+ ruby-2.1.5
data/Gemfile CHANGED
@@ -3,26 +3,38 @@ source "https://rubygems.org"
3
3
  # Declare your gem's dependencies in newsletter.gemspec.
4
4
  # Bundler will treat runtime dependencies like base dependencies, and
5
5
  # development dependencies will be added by default to the :development group.
6
+ gem 'dotenv-rails', :require => 'dotenv/rails-now'
6
7
  gemspec
7
8
 
8
9
  # jquery-rails is used by the dummy application
9
10
  gem "jquery-rails"
11
+ gem 'jquery-ui-rails'
10
12
 
11
13
  # Declare any dependencies that are still in development here instead of in
12
14
  # your gemspec. These might include edge Rails or gems from your path or
13
15
  # Git. Remember to move these dependencies to your gemspec before releasing
14
16
  # your gem to rubygems.org.
15
17
 
16
- # Testing Gems
18
+ gem "devise"
17
19
  gem 'mysql2'
18
- gem "rspec-rails", "~>2.14"
19
- gem "cucumber-rails", require: false
20
20
  gem "factory_girl_rails", "~>4.3"
21
- gem 'poltergeist'
22
21
  gem "faker"
23
22
  gem "sqlite3"
24
- gem 'database_cleaner'
25
23
  gem 'pry-rails'
26
24
  gem 'spring'
27
25
  gem 'spring-commands-rspec'
28
26
  gem 'spring-commands-cucumber'
27
+ gem 'quiet_assets'
28
+ if ENV['POSTGRES']
29
+ gem 'pg'
30
+ end
31
+
32
+ # Testing Gems
33
+ group :test do
34
+ gem 'simplecov', require: false
35
+ gem 'database_cleaner'
36
+ gem 'poltergeist'
37
+ gem "rspec-rails", "~>3.2"
38
+ gem "rspec-activemodel-mocks"
39
+ gem "cucumber-rails", require: false
40
+ end
data/README.md ADDED
@@ -0,0 +1,40 @@
1
+ Newsletter
2
+ ==========
3
+ Put some boilerplate here
4
+
5
+ Requirements
6
+ ------------
7
+
8
+ * Rails 3.2.x
9
+ * Ruby 1.9.3-x
10
+ * [Bundler](http://bundler.io)
11
+
12
+ Optional Dependencies
13
+ ---------------------
14
+ * [RVM](http://rvm.io) - How we control our ruby environment(mainly concerns development)
15
+
16
+
17
+ Installation
18
+ ------------
19
+ * using bundler, edit your Gemfile.. add a one of the following lines:
20
+
21
+ gem 'mail_manager', '~>3' # this points to the latest rails stable 3.2.x version
22
+ # OR
23
+ gem 'mail_manager', git: 'https://github.com/LoneStarInternet/mail_manager.git', branch: 'rails3.2.x' # for the bleeding edge rails 3.2.x version
24
+
25
+ * then run bundle install:
26
+
27
+ bundle install
28
+
29
+ * generate and configure the newsletter settings file at config/newsletter.yml: (replace table prefix with something... or nothing if you don't want to scope it)
30
+
31
+ rake newsletter:default_app_config[table_prefix]
32
+
33
+ * generate migrations
34
+
35
+ rake newsletter:import_migrations
36
+
37
+ * migrate the database
38
+
39
+ rake db:migrate
40
+
@@ -12,4 +12,10 @@
12
12
  //
13
13
  //= require jquery
14
14
  //= require jquery_ujs
15
+ //= require jquery-ui
16
+ //= require jquery_nested_form
15
17
  //= require_tree .
18
+
19
+ jQuery(document).ready(function(){
20
+ jQuery(document).tooltip();
21
+ });
@@ -0,0 +1,261 @@
1
+ body {
2
+ margin:0;
3
+ padding:0;
4
+ border:0;
5
+ font-family:Arial, Helvetica, sans-serif;
6
+ font-size:12px;
7
+ background:#fdba59;
8
+ }
9
+
10
+ #top {
11
+ background-image: url('/assets/newsletter/topMid.gif');
12
+ height: 85px;
13
+ min-width: 766px;
14
+ }
15
+ /*
16
+ img {
17
+ display: block;
18
+ }
19
+
20
+ .main {
21
+ font-family: helvetica, arial, sans-serif;
22
+ font-size: 11pt;
23
+ font-weight: normal;
24
+ padding-left: 20px;
25
+ padding-top: 20px;
26
+ padding-right: 10px;
27
+ padding-bottom: 5px; }
28
+
29
+ #container{
30
+ margin:0;
31
+ padding:0;
32
+ width:100%;
33
+ float:left;
34
+ }
35
+ */
36
+ h1 {
37
+ font-size: 16pt;
38
+ color: #599c41;
39
+ }
40
+
41
+ h2.list_group {
42
+ padding-bottom: 0;
43
+ margin-bottom: 0;
44
+ font-size: 12pt;
45
+ }
46
+
47
+ #page_content {
48
+ overflow: hidden;
49
+ background-image: url('/assets/newsletter/MidRight.gif');
50
+ background-repeat: repeat-y;
51
+ background-position: right;
52
+ padding: 10px 40px 10px 10px;
53
+ min-height: 300px;
54
+ }
55
+
56
+ /*Content------------------------------------------------*/
57
+ /*
58
+ #content {
59
+ margin:0;
60
+ padding:10px 15px 15px 15px;
61
+ clear:both;
62
+ font-family: Arial, Helvetica, sans-serif;
63
+ border-top: 1px solid #c4c1a8;
64
+ }
65
+
66
+ #content table {
67
+ font-family:Arial, Helvetica, sans-serif;
68
+ font-size: 14px;
69
+ }
70
+ */
71
+ hr {
72
+ margin: 0 0 0 10px;
73
+ width: 620px;
74
+ text-align:center;
75
+ color: #636343;
76
+ }
77
+
78
+
79
+ /* tables used as lists ------------------------------*/
80
+ table.list {
81
+ margin:10px 0 20px 20px;
82
+ padding: 0;
83
+ border-top: 1px solid #599c41;
84
+ border-right: 1px solid #599c41;
85
+ border-left: 1px solid #599c41;
86
+ font-size: 10pt;
87
+ border-collapse: collapse;
88
+ }
89
+
90
+ table.list th {
91
+ background-color: #fef1de;
92
+ border-bottom: 2px solid #599c41;
93
+ padding: 3px 10px 0;
94
+ }
95
+
96
+ table.list td {
97
+ margin:0;
98
+ padding: 5px 5px 5px;
99
+ border-bottom: 1px solid #599c41;
100
+ }
101
+
102
+ table.list tr.title {
103
+ font-weight: bold;
104
+ color: #ffffff;
105
+ font-size: 11pt;
106
+ background: #599c41;
107
+ white-space: nowrap;
108
+ }
109
+
110
+
111
+ /* none of the hover stuff will work in IE
112
+ * without a proper DOCTYPE declaration.
113
+ * HTML 1.0 Transitional//EN works, as does
114
+ * XHTML 1.0 Strict//EN
115
+ */
116
+
117
+ table.list tr.odd {
118
+ background: #d9eabd;
119
+ }
120
+ table.list tr.even:hover {
121
+ background: #d9dcd3;
122
+ }
123
+
124
+ table.list tr.odd:hover {
125
+ background: #e0f2c3;
126
+ }
127
+
128
+ table.list tr.even {
129
+ background: #e2e8d9;
130
+ }
131
+
132
+
133
+ /* form labels have different alignment*/
134
+ label {font-size: 11pt;
135
+ font-family: helvetica, arial, sans-serif;
136
+ font-weight: bold;
137
+ text-align: right;
138
+ color:#555;
139
+ width: 145px;
140
+ float:left;
141
+ display: block;
142
+ text-align: right;
143
+ padding: 7px 7px 0 0;
144
+ }
145
+
146
+ input, select, textarea {
147
+ margin: 6px 0;
148
+ padding: 2px;
149
+ text-align: left;
150
+ color: #444;
151
+ border: 1px solid #599c41;
152
+ font-size: 10pt;
153
+ background-color: #e2e8d9;
154
+ }
155
+
156
+
157
+ /*Input style buttons within table*/
158
+
159
+
160
+ input.button {
161
+ background: #ffd04f;
162
+ background-image: -webkit-linear-gradient(top, #ffd04f, #faeabe);
163
+ background-image: -moz-linear-gradient(top, #ffd04f, #faeabe);
164
+ background-image: -ms-linear-gradient(top, #ffd04f, #faeabe);
165
+ background-image: -o-linear-gradient(top, #ffd04f, #faeabe);
166
+ background-image: linear-gradient(to bottom, #ffd04f, #faeabe);
167
+ -webkit-border-radius: 12;
168
+ -moz-border-radius: 12;
169
+ border-radius: 10px;
170
+ padding: 0 10px;
171
+ border: solid #669421 1px;
172
+ text-decoration: none;
173
+ font-size: 11pt;
174
+ font-weight: bold;
175
+ color: #555;
176
+ margin-right: 10px;
177
+ cursor: pointer;
178
+ }
179
+
180
+ input.button:hover {
181
+ background: #bafc56;
182
+ background-image: -webkit-linear-gradient(top, #bafc56, #f7ffeb);
183
+ background-image: -moz-linear-gradient(top, #bafc56, #f7ffeb);
184
+ background-image: -ms-linear-gradient(top, #bafc56, #f7ffeb);
185
+ background-image: -o-linear-gradient(top, #bafc56, #f7ffeb);
186
+ background-image: linear-gradient(to bottom, #bafc56, #f7ffeb);
187
+ text-decoration: none;
188
+ }
189
+
190
+ a.button:link, a.button:visited {
191
+ /* background: #a6f038;
192
+ background-image: -webkit-linear-gradient(top, #a6f038, #f4ffe3);
193
+ background-image: -moz-linear-gradient(top, #a6f038, #f4ffe3);
194
+ background-image: -ms-linear-gradient(top, #a6f038, #f4ffe3);
195
+ background-image: -o-linear-gradient(top, #a6f038, #f4ffe3);
196
+ background-image: linear-gradient(to bottom, #a6f038, #f4ffe3);*/
197
+ /* freaky orange background */
198
+ background: #ffd04f;
199
+ background-image: -webkit-linear-gradient(top, #ffd04f, #faeabe);
200
+ background-image: -moz-linear-gradient(top, #ffd04f, #faeabe);
201
+ background-image: -ms-linear-gradient(top, #ffd04f, #faeabe);
202
+ background-image: -o-linear-gradient(top, #ffd04f, #faeabe);
203
+ background-image: linear-gradient(to bottom, #ffd04f, #faeabe);
204
+ -webkit-border-radius: 10;
205
+ -moz-border-radius: 10;
206
+ border-radius: 10px;
207
+ padding: 2px 10px 1px 10px;
208
+ border: solid #669421 1px;
209
+ text-decoration: none;
210
+ font-size: 11pt;
211
+ font-weight: bold;
212
+ color: #555;
213
+ margin-right: 10px;
214
+ /* do I need this? */
215
+ cursor: pointer;
216
+ }
217
+
218
+ a.button:hover {
219
+ background: #bafc56;
220
+ background-image: -webkit-linear-gradient(top, #bafc56, #f7ffeb);
221
+ background-image: -moz-linear-gradient(top, #bafc56, #f7ffeb);
222
+ background-image: -ms-linear-gradient(top, #bafc56, #f7ffeb);
223
+ background-image: -o-linear-gradient(top, #bafc56, #f7ffeb);
224
+ background-image: linear-gradient(to bottom, #bafc56, #f7ffeb);
225
+ text-decoration: none;
226
+ }
227
+
228
+ .newsletter_parts_group {
229
+ margin-top: 10px;
230
+ padding: 0 5px 5px 15px;
231
+ border: thin dashed #599c41;
232
+ background-color: #eee;
233
+ width: 755px;
234
+ }
235
+
236
+ a:link {
237
+ color: #F60;
238
+ text-decoration:none;
239
+ }
240
+
241
+ a:visited {
242
+ color:#F60;
243
+ text-decoration:none;
244
+ }
245
+
246
+ a:hover {
247
+ color: #efaa45;
248
+ }
249
+
250
+ .submit_button {
251
+ width: 500px;
252
+ text-align: right;
253
+ }
254
+
255
+ .mailing_lists_group {
256
+ margin-top: 10px;
257
+ padding: 0 5px 5px 15px;
258
+ border: thin dashed black;
259
+ background-color: #eee;
260
+ width: 500px;
261
+ }
@@ -9,5 +9,7 @@
9
9
  * compiled file, but it's generally better to create a new file per style scope.
10
10
  *
11
11
  *= require_self
12
- *= require_tree .
12
+ *= require newsletter/timepicker
13
+ *= require newsletter/nav
14
+ *= require newsletter/admin
13
15
  */
@@ -0,0 +1,68 @@
1
+ .line
2
+ { color: #d9eabd;
3
+ width:160px;
4
+ background: #d9eabd;
5
+ border:none;
6
+ height:1px;
7
+ margin:4px 0;
8
+
9
+ }
10
+
11
+ #menu {font-size: 10pt;
12
+ float: left;
13
+ padding-left: 3px;
14
+ padding-bottom: 10px;
15
+ margin: 0 5px 5px 0;
16
+ /*border-right: 1px solid #fdba59;
17
+ border-bottom: 1px solid #fdba59;*/
18
+ font-family: helvetica, arial, sans-serif;
19
+ font-weight: bold;
20
+ line-height: 12pt;
21
+ color: #000000;
22
+ width:176px;
23
+ background: #8fc23f; /* Old browsers */
24
+ background: -moz-linear-gradient(top, #8fc23f 0%, #b2d57b 50%, #fffffe 100%); /* FF3.6+ */
25
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8fc23f), color-stop(50%,#b2d57b), color-stop(100%,#fffffe)); /* Chrome,Safari4+ */
26
+ background: -webkit-linear-gradient(top, #8fc23f 0%,#b2d57b 50%,#fffffe 100%); /* Chrome10+,Safari5.1+ */
27
+ background: -o-linear-gradient(top, #8fc23f 0%,#b2d57b 50%,#fffffe 100%); /* Opera 11.10+ */
28
+ background: -ms-linear-gradient(top, #8fc23f 0%,#b2d57b 50%,#fffffe 100%); /* IE10+ */
29
+ background: linear-gradient(to bottom, #8fc23f 0%,#b2d57b 50%,#fffffe 100%); /* W3C */
30
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8fc23f', endColorstr='#fffffe',GradientType=0 ); /* IE6-9 */
31
+ }
32
+
33
+ #menu a:link { color: #000000; text-decoration: none; }
34
+ #menu a:visited { color: #000000; text-decoration: none; }
35
+ #menu a:active { color: #000000; text-decoration: none; }
36
+ #menu a:hover { color: #Fc6; text-decoration: none; }
37
+
38
+ #menu ul {
39
+ padding-left: 10px;
40
+ list-style: outside none none;
41
+ }
42
+
43
+ #menu ul li {
44
+ border-bottom: 1px solid #fff;
45
+ }
46
+
47
+ #menu ul li ul {
48
+ padding-left: 20px;
49
+ list-style: outside none none;
50
+ }
51
+
52
+ #menu ul li ul li {font-size: 9pt;
53
+ font-family: helvetica, arial, sans-serif;
54
+ font-weight: bold;
55
+ line-height: 12pt;
56
+ color: #a42529;
57
+ border: none;
58
+
59
+ }
60
+ #menu ul li ul li a:link { color:#C18100; text-decoration: none; }
61
+ #menu ul li ul li a:visited { color:#a42529; text-decoration: none; }
62
+ #menu ul li ul li a:hover { color:#FC6; text-decoration: none; }
63
+
64
+ .table-bk {
65
+ background: url(/assets/newsletter/menuMain.gif) no-repeat top right;
66
+ padding-top: 20px;
67
+ padding-left:3px;
68
+ }