pulitzer 0.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 (237) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/javascripts/pulitzer/application.js +13 -0
  6. data/app/assets/stylesheets/pulitzer/pulitzer.scss +55 -0
  7. data/app/controllers/pulitzer/application_controller.rb +2 -0
  8. data/app/controllers/pulitzer/post_type_content_element_types_controller.rb +42 -0
  9. data/app/controllers/pulitzer/post_types_controller.rb +46 -0
  10. data/app/helpers/pulitzer/application_helper.rb +4 -0
  11. data/app/models/pulitzer/content_element.rb +10 -0
  12. data/app/models/pulitzer/content_element_type.rb +5 -0
  13. data/app/models/pulitzer/post.rb +13 -0
  14. data/app/models/pulitzer/post_tag.rb +6 -0
  15. data/app/models/pulitzer/post_type.rb +7 -0
  16. data/app/models/pulitzer/post_type_content_element_type.rb +6 -0
  17. data/app/models/pulitzer/tag.rb +6 -0
  18. data/app/views/pulitzer/post_type_content_element_types/_form.html.erb +6 -0
  19. data/app/views/pulitzer/post_type_content_element_types/_new.html.erb +7 -0
  20. data/app/views/pulitzer/post_type_content_element_types/_show.html.erb +1 -0
  21. data/app/views/pulitzer/post_type_content_element_types/_show_wrapper.html.erb +3 -0
  22. data/app/views/pulitzer/post_types/_form.html.erb +5 -0
  23. data/app/views/pulitzer/post_types/_new.html.erb +5 -0
  24. data/app/views/pulitzer/post_types/_show.html.erb +9 -0
  25. data/app/views/pulitzer/post_types/_show_wrapper.html.erb +3 -0
  26. data/app/views/pulitzer/post_types/index.html.erb +10 -0
  27. data/config/routes.rb +10 -0
  28. data/db/migrate/20150618224344_create_pulitzer_post_types.rb +9 -0
  29. data/db/migrate/20150618225402_create_pulitzer_content_element_types.rb +9 -0
  30. data/db/migrate/20150619204615_create_pulitzer_posts.rb +11 -0
  31. data/db/migrate/20150619204708_create_pulitzer_content_elements.rb +13 -0
  32. data/db/migrate/20150619213436_create_pulitzer_tags.rb +9 -0
  33. data/db/migrate/20150619213457_create_pulitzer_post_tags.rb +11 -0
  34. data/db/migrate/20150619215914_create_pulitzer_post_type_content_element_types.rb +11 -0
  35. data/lib/pulitzer.rb +11 -0
  36. data/lib/pulitzer/engine.rb +5 -0
  37. data/lib/pulitzer/version.rb +3 -0
  38. data/lib/tasks/pulitzer_tasks.rake +4 -0
  39. data/test/dummy/README.rdoc +28 -0
  40. data/test/dummy/Rakefile +6 -0
  41. data/test/dummy/app/assets/javascripts/application.js +14 -0
  42. data/test/dummy/app/assets/javascripts/jquery.js +5 -0
  43. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  44. data/test/dummy/app/controllers/application_controller.rb +5 -0
  45. data/test/dummy/app/helpers/application_helper.rb +2 -0
  46. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  47. data/test/dummy/app/views/pages/about_us.html.erb +6 -0
  48. data/test/dummy/app/views/pages/freeform.html.erb +14 -0
  49. data/test/dummy/app/views/pages/news_post.html.erb +7 -0
  50. data/test/dummy/bin/bundle +3 -0
  51. data/test/dummy/bin/rails +4 -0
  52. data/test/dummy/bin/rake +4 -0
  53. data/test/dummy/bin/setup +29 -0
  54. data/test/dummy/config.ru +4 -0
  55. data/test/dummy/config/application.rb +27 -0
  56. data/test/dummy/config/boot.rb +5 -0
  57. data/test/dummy/config/database.yml +25 -0
  58. data/test/dummy/config/environment.rb +5 -0
  59. data/test/dummy/config/environments/development.rb +41 -0
  60. data/test/dummy/config/environments/production.rb +79 -0
  61. data/test/dummy/config/environments/test.rb +42 -0
  62. data/test/dummy/config/initializers/assets.rb +11 -0
  63. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  64. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  65. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  66. data/test/dummy/config/initializers/inflections.rb +16 -0
  67. data/test/dummy/config/initializers/mime_types.rb +4 -0
  68. data/test/dummy/config/initializers/session_store.rb +3 -0
  69. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  70. data/test/dummy/config/initializers/zz_pulitzer.rb +3 -0
  71. data/test/dummy/config/locales/en.yml +23 -0
  72. data/test/dummy/config/routes.rb +4 -0
  73. data/test/dummy/config/secrets.yml +22 -0
  74. data/test/dummy/db/development.sqlite3 +0 -0
  75. data/test/dummy/db/migrate/20150625192924_create_pulitzer_post_types.pulitzer.rb +10 -0
  76. data/test/dummy/db/migrate/20150625192925_create_pulitzer_content_element_types.pulitzer.rb +10 -0
  77. data/test/dummy/db/migrate/20150625192926_create_pulitzer_posts.pulitzer.rb +12 -0
  78. data/test/dummy/db/migrate/20150625192927_create_pulitzer_content_elements.pulitzer.rb +14 -0
  79. data/test/dummy/db/migrate/20150625192928_create_pulitzer_tags.pulitzer.rb +10 -0
  80. data/test/dummy/db/migrate/20150625192929_create_pulitzer_post_tags.pulitzer.rb +12 -0
  81. data/test/dummy/db/migrate/20150625192930_create_pulitzer_post_type_content_element_types.pulitzer.rb +12 -0
  82. data/test/dummy/db/schema.rb +68 -0
  83. data/test/dummy/log/development.log +4372 -0
  84. data/test/dummy/public/404.html +67 -0
  85. data/test/dummy/public/422.html +67 -0
  86. data/test/dummy/public/500.html +66 -0
  87. data/test/dummy/public/favicon.ico +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sass/faca21f8cc1e6bdb3fc9e3e087d038391ae74526/pulitzer.scssc +0 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/004e72dae5fb159ab1c1fb162fe0d209 +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/1cb45855b1d13a7dae098a4a542d51b1 +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/5e30a6b911437f1428dc32c3ae182123 +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/7fe72ac1c0db1a7e8e7f59cf25e8a39e +0 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/82b37ae9eccec44c1ef44cfdd07d8534 +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/8fe470ebff974f35be605fa1dc583ece +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/9a7aa90e84b6f412242d6f7e1d0ee512 +0 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/b64d755b3940b7045f395e71db79fd9c +0 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/d4bb7badcb1b309db8160072e914e8fe +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-08zyyPW4DC5BuW2SyBr2LYZ3IrdhOd7rtpShhckqXU.cache +1 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0RJ0Rsb7qP6ZZJluLW3cbgJjcQT1FePgGpiTJGT_aVE.cache +0 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1tItTBIc7d10vYKmWUNskcT7TSwjvGrexYJmR3DIijI.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/35BMR87VTZgirjaMKsghOiSHs94OBA_pP364An1bTsA.cache +0 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3_cVu1qD2wyfJaEKkxDOTycJKDikwM-KUQJWsGr5crA.cache +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3pMO9Kf_9hz0uQe-LghWq9-Xa0V4MNb4KbK2VcZEp7Y.cache +1 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/42VyPV4PW2T3LFPH9M5rpeqocu35faHC9c3sveA49zw.cache +1 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4HyiWcmuWrVJEc_R-VqDvy322uTybNKera8NZH00ESI.cache +0 -0
  109. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4gp31EykPGdm9ry5i81zVw5NHgUAWON6d5-ciySA8pI.cache +1 -0
  110. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/50A56yRgYN88NN7c506zNhOUfXQyXQGeB6zyotaZQ7k.cache +0 -0
  111. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5X8fUAWM-1pTBG_Vk77HN-ZeQmn0HUPcJZCjmEi_S1Q.cache +1 -0
  112. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6hNY2ophiwNt0q1pHJUOyuW7jjee3uEs4cIRtfEgGHw.cache +1 -0
  113. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/79iOOdDEyQ9mbnn5VNpUwXe2iegE1tTkav4BiG7f524.cache +0 -0
  114. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7ChBb8TaVHXmz9rpW0O7cGMLgORnSdx8mqxit9bOTbU.cache +1 -0
  115. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7tCTORONmMW4rAQTWMRJyfPXWmvuJJHq-gpDQKy1Yjs.cache +0 -0
  116. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8QZc0a_7Q0wo6-pr4dTRC3rVfHH7mh48tY-wevuD_Vs.cache +1 -0
  117. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8RFdOVB2ghOvlHJT15BZdAMNQDR6eImM13buoGwohq8.cache +0 -0
  118. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/95yLFfFEO7GooUWUBj0lErh8FJ6RINSfwDB93p3qu4w.cache +1 -0
  119. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9tbsF_0OEswoAyZbikcrqaJn3GlGmZzcswpSP4O7Cx4.cache +1 -0
  120. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A1ooFlfliaYcx_ZAn4CDJeUhUfd3SbEj9xEDUBAWXog.cache +1 -0
  121. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AFPiqjV9OQWH_QDNAj4mApBnEN-IWFepnJJS8oc7wDs.cache +1 -0
  122. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/B5vDSotLk_L30AZ5clvespHOtKueKA-4o4jKd30sFis.cache +1 -0
  123. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BRjSJh7bbxkVCzEFov6eOUJts5aX76pnXjeTi2eqHGo.cache +0 -0
  124. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/D4mIaLtjpXgckG2c8YI1EXdk6ROHNVEiErSyNll_0vM.cache +0 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DBmDriNZFgsVRArtgQCcqc_8ZJVirk45CTKcS_Xug3I.cache +1 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DSKjPEFfkPlxF6LF1HJDZhfhOLm6VqOMCzk9J8kIekg.cache +0 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DrpwkX-OyAtsIDhMr83V5MLJXLP5NTdU9_1e5PFYg8w.cache +0 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/E0wkpbLNMgDDWQ2FkYDNFVFu3KLPoyzjpv5qrGheI90.cache +1 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/E70UF9b1yy6b8kGSFRFrf2FWhNBDokvBibVHdKwLRGc.cache +0 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EYT7wrL_duwC2O_QOgZGOxSLhDSERnI2piJzw_t6OsA.cache +0 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GGiafk7GZPfhpFrell7AA35SAiWe0cZRDgwFb-JQx0o.cache +0 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/G_sFkDAoW4FgYAwZGROMJB-YJnt5IJI9UAmaxtnFPBY.cache +1 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GeRPU_pRAc3Zt6oyz62xuE_ChcdE3DJ_C-k8HcVj1zg.cache +1 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GihCGGQj_0myOMqWNfFSUE2JqdSRmEXc-nQZ6ZB7XAM.cache +1 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/H26L-yoe1NgYI0rbQRI0iYOazszvmx4ZEVMAwGQmUoI.cache +1 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I11pmPcq103o2sseZc6h6ALAXFTwBLgzap_3Ql1JNqo.cache +1 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JUqfvWWt7YbWQ_xRJzxHYPNgv-JBVAo_UxwqiPPMnfY.cache +1 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JsPz6JpeLPsZx9pEKClCEFfwLfQI_Fjbm6-3n43mcpk.cache +1 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KSA5oWhz3N0ipaLOXRLl6nXNgL24MC7YjHEObbJLVPU.cache +3 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KcWGRf36zxQIkvRhH6lwG-DeTBrzzXCOkmXHzuvfKvU.cache +0 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LMIo15eyR_NbValaznSuCDCkOS5Q-Xpn-MlIUJh7RW4.cache +2 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Lw930e2h_PThvGB6rGP3QK-KWdEBwe4rBFqS20XR1e4.cache +3 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MDUZfg_BvtAn8kWQmPQjrOEtE-C8oPCeJsBFbrtOCd0.cache +1 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N3VXkSBP6gTzM4n8mAlAoc1cPxaZNHNGoZdPCJcDtM8.cache +0 -0
  145. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PEMqm-8RSLvuBOtVw_cSNelvCnH7GRqVzhV7wOpg13c.cache +1 -0
  146. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Pev3by5fB2haEgbvJ1CFRiYFdPgcaV4HPkN6WR7H3bQ.cache +1 -0
  147. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QJhobxOyBNnJeBi18a1eMLY4pwObQU9Uq1YyeyXXXdw.cache +1 -0
  148. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R7jAWjFfdkpvEwh5xGjMdpCTuZB0e72TOTxvJ7VFFVQ.cache +2 -0
  149. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RTo9y01O9lIjoqUdeBrEi2EPMpciD5fTzSvZjmPn6Oc.cache +1 -0
  150. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RlDS6T40Bfjg68D0PWcnFiJaiFvKKcvyMmfFpYu9UBk.cache +0 -0
  151. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RnUpNzk4NVwWAOkGCRT5IpvAA7txxH1xPXSRXHqT3aY.cache +0 -0
  152. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/STZyXlXOEu2dyTbfRD3pXENtNNpJb4QeWjvUxzkVOs8.cache +0 -0
  153. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TQJlt7MakbzwVn8HoPdiuS571vxdbwEYRtCUa-KFJLU.cache +1 -0
  154. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/To0z6Hj5J13hdMoTg_YJyVFOLRbfpdutQNC7lgDhACw.cache +0 -0
  155. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UddM9UW1DZQz900R_2Zvotj5MgvQLdRM6ZCfhYf0uC8.cache +0 -0
  156. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UhykQ5-BmYltflugLiUlLsQnyegJVoPlQ31pOArOMI8.cache +1 -0
  157. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V1FfK7tBdyYAoj9Im314fHzwm9RAn5od_Km9BhxEgtw.cache +2 -0
  158. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VUtY0J67tWo5MEzLI3NaZt4YB9cnzCLFuqbmBwhDcUI.cache +0 -0
  159. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Vtn1yNkBgVaWtcQuJjr-5FSjD0W2g2YYEOQ915HZnI4.cache +1 -0
  160. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WHh6i-pCnF581JV9QR3cCMCOU5oX8JlWoAQHYZAIdx4.cache +2 -0
  161. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WwquhKSEZnwq7dTYneBQOxwhim3gW0zapN9hAtM4atU.cache +1 -0
  162. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YMfvjXCEkHLkMRgCPazo7PuKmJT65g1H_hE3rTPkhG4.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z0sd5oAn3be2vUMVFdfttsrx-G1HPa_QWCJPEg0IrmI.cache +0 -0
  164. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z9fsXNV73ZWjg9blRuf_jQ81LdVl5BdfAYQg23JZGBw.cache +0 -0
  165. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZgfDcZyRBPY4I_cuBDQL5a9S2JJOlq35bmkGTrpIJuE.cache +1 -0
  166. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZmbxWparhG6H2CfaBZ5kuaMkxfC-7Kg5QxSLDqwxZWY.cache +1 -0
  167. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_2StBk0c3KvXkEYyeYTHlcMC6UqEIuubl9_RDFGPg7o.cache +0 -0
  168. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ahjKGUHAX9EMmK8Eu7AAZWV1mn08qZJj4FAPx3ArTkY.cache +1 -0
  169. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bKY1AybfK_tJZx-8Ydgbqy1jY8TSaSL2MYKG4pv6bRY.cache +0 -0
  170. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bLvIalIdmjW9lsoyaye8t8VsvhaVSo3yftVyt3zoP4c.cache +0 -0
  171. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/d5h7GEmVchJierGzqeShjW0w8UI9wEfkTyeNkGyRVxU.cache +2 -0
  172. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ef5gnLhbxegRtTFi3QS_E3m-x00HYm0-mOA6EBBif4s.cache +1 -0
  173. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/f09JTBYN1HQL-X86MKYyxEP8XvpjFyojnjH-CaxHnjk.cache +2 -0
  174. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gQEIaiDr6dCJJdaT5Yvh2x88-LqvCmzz-cP7GJB71H8.cache +1 -0
  175. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gQqAwNSYFpXBqsgKQbOKGM2k3KwNI56qagD-i3jrQww.cache +1 -0
  176. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gwRH94Syz5xQTpyvcVWvRO_inVmO2G5sTDco1TFT1VI.cache +0 -0
  177. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hDeE9BU1SjspaJWoLfDSl_sZi2Q4h-FSbhhCgp_9M1M.cache +1 -0
  178. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hQABwIPGXGFZWklgjF-dhm7Dd48lOzuc-NFg3nwooHs.cache +0 -0
  179. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hbiJ-4Wne9Z-rHTg9Kdm2FvUXm_oeuLgTTY1BmF0cUs.cache +1 -0
  180. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/huwgjz4WCZbCDeRnjMm5uswnTEpygaAbPswaFXuVsKY.cache +0 -0
  181. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/i4aJJz_5-I_k0ZfZn_Z2m2Tn0e9Gx1S00UWAVpzNPXw.cache +0 -0
  182. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iCYOTGD-0ICTr05jumQrEm67ZMOBU3QzR36hsW8SpyY.cache +1 -0
  183. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j1G3Zlovfy9GRLm4ees3494CM9tKa21hEC2bElcQFyM.cache +1 -0
  184. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jlTQhwfvsj51RHZnYR5PD_0zRosotUOm6jNMJAsX5So.cache +1 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kRTjW-ZCAVS1UK02aqd6xdgQGFsVYX4eB9vi98XdD1Y.cache +0 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kVaA-SczgfyOXi1dvJcTFCrXv0X5ojQwgPRQpZIaHlo.cache +1 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/l-ii3pQzKE7RrOEZ-A3PfqiIYMNT564i-nLYBXixN5w.cache +0 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lQfi7_9NVt9B3-6ft9WnTSO4fbLSi7N6U-ur42kDsqA.cache +1 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lZD2UFo9Ba1EO_kYjxAkUzRjPiA63AY7PB4B_g69Gvo.cache +0 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/loiZHpwOeWM3DcboigcEbIP_PdVuX-akyTpE_UNNffc.cache +1 -0
  191. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lx0JhorRbO7fnp7J_lrIBscDwYzX00AAXCBfD1inPuY.cache +1 -0
  192. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mJ0STcD3sO0M2e2IvrfcJ0ILyMSNjfVEI6iSVsgYQbY.cache +1 -0
  193. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mWjoV7g3kv2mVhmzID0_RpnNsum_nh7KR0FCGe4dtCw.cache +1 -0
  194. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mggOgr7zbPCTtrRplDL7Dr6Sok5BR3YVEqV1p5OBY4o.cache +1 -0
  195. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ms4WcZVBsE4ICqk4B87y30HcqPMTT7zvn6D2lo78nLk.cache +1 -0
  196. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nFpkbZmc3YfdnNiT4B8ir8kEaJWQEIc3qbvZ40tmM6w.cache +1 -0
  197. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nbpYu-GidXvi1dYXBwpWsuI0Eoij2sVM1i3a25hvWS4.cache +2 -0
  198. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oe2oGfWiLvFbbM_FGZACv2QY3aaRzIdMvJLegdDH_ZM.cache +1 -0
  199. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oxD6zUQbxFU2CAnQNkMSn7MvM5bqwMqD0js9bs2EfrI.cache +0 -0
  200. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/p1bvGOcoMQu1N5xodBzdDm6dkYCcn-KT_tjH5-P4cs4.cache +2 -0
  201. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pMjyk3hmQeuWha9mjL8RXjIM_hEg_bmXfBUYMbGo_E0.cache +1 -0
  202. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pyJXoXVkRgi0jyb4RcKxLzGu_s6lHz3zdARCXH-vOQo.cache +1 -0
  203. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qA9C3BJr6LX6Q79O4zLLhtatB0Kzpv4Y0cTI2-K8RSc.cache +1 -0
  204. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r16w3XbkYd72A9F9oeioMOW1eJZU8MqGlRPHgbiPAbU.cache +0 -0
  205. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rmXUN0lBiAaCrkiCZZKylr35dYVRBZnWCwZNF3YxLs0.cache +2 -0
  206. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ryazGFP3ATnDAbnmN63VtaJGmehI6B731TvHjzhBuJE.cache +1 -0
  207. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sZ8aVXB0J-s-6Id6ksoEi1gZBnvnAvNbZPPJjeKEmLg.cache +3 -0
  208. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sze14GfsIVY8Kbkhc0sQUCHFyXSrXd4ujqJHuwCmEf4.cache +0 -0
  209. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tA78fXoU8jMDr4hv5R0Oq1nW7Wcu48M0y4ThErjKiI0.cache +0 -0
  210. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uHd5ZZG5nP9R1K-K0bEEk2LuLE_pzhc5A7QKOodkOfQ.cache +0 -0
  211. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uZaIP73k0AzjZhEW5B4weVqYw3xEKb01gWmOD40ZOL8.cache +2 -0
  212. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/v8FbTiNsXB2auGgUuXFpgUpG9SQNl-BAONf4MCICf04.cache +1 -0
  213. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vYhRYYlKhLpZ_i4HV0cCeJWqJozf9DXT60FkMK_eTt0.cache +0 -0
  214. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vpogvDh-FSk2btjJEXKpR5ZD0haueQJdftTZX4OC07w.cache +1 -0
  215. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wZxKt2tiT80vMI4-IbJhDqjd4a6IKmTxOEmkkCoLFW4.cache +1 -0
  216. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wyC5DtTaVdJxBQl2g_k6VfdGGa6Dbbm2IyAwqNtFgAI.cache +0 -0
  217. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xbRmVpp4FzoR1zcjud3xmbfmH9QyZbfURSoK_65W798.cache +0 -0
  218. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xkRNjrYToPmdhtUNfb6qI3oL_QwsAvBBNFnfLl1cj8c.cache +0 -0
  219. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/z2aKp21iz0pO1MjcGA6vX-6d4IUpAM_OJQS9TCG4qso.cache +0 -0
  220. data/test/fixtures/pulitzer/content_element_types.yml +7 -0
  221. data/test/fixtures/pulitzer/content_elements.yml +11 -0
  222. data/test/fixtures/pulitzer/post_tags.yml +9 -0
  223. data/test/fixtures/pulitzer/post_type_content_element_types.yml +9 -0
  224. data/test/fixtures/pulitzer/post_types.yml +7 -0
  225. data/test/fixtures/pulitzer/posts.yml +7 -0
  226. data/test/fixtures/pulitzer/tags.yml +7 -0
  227. data/test/integration/navigation_test.rb +10 -0
  228. data/test/models/pulitzer/content_element_test.rb +9 -0
  229. data/test/models/pulitzer/content_element_type_test.rb +9 -0
  230. data/test/models/pulitzer/post_tag_test.rb +9 -0
  231. data/test/models/pulitzer/post_test.rb +9 -0
  232. data/test/models/pulitzer/post_type_content_element_type_test.rb +9 -0
  233. data/test/models/pulitzer/post_type_test.rb +9 -0
  234. data/test/models/pulitzer/tag_test.rb +9 -0
  235. data/test/pulitzer_test.rb +7 -0
  236. data/test/test_helper.rb +20 -0
  237. metadata +576 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ff046351a9cdb36f4a9d521973e3c0084ccc3186
4
+ data.tar.gz: 21a4f89aecf3f4771e903160b145773e4b2134d8
5
+ SHA512:
6
+ metadata.gz: c228a4b31bd8228d20f53abe870f1792a2f0c27fba4af0b1f900b28834b95f5a92e1edcce847f3f8093bcac8f1c5c92251dcf40a37c9312f9751cf5ff5a54493
7
+ data.tar.gz: b34c92ceafe26e6c90c3462cf045b9758501900e2105f0b8a77436a019c47d7ece7c9a3c2875e57853dc522337e2c536fd50e02c303d11ea54cea1c823ca252f
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2015 Eric Draut
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,3 @@
1
+ = Pulitzer
2
+
3
+ This project rocks and uses MIT-LICENSE.
data/Rakefile ADDED
@@ -0,0 +1,37 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Pulitzer'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+
21
+ load 'rails/tasks/statistics.rake'
22
+
23
+
24
+
25
+ Bundler::GemHelper.install_tasks
26
+
27
+ require 'rake/testtask'
28
+
29
+ Rake::TestTask.new(:test) do |t|
30
+ t.libs << 'lib'
31
+ t.libs << 'test'
32
+ t.pattern = 'test/**/*_test.rb'
33
+ t.verbose = false
34
+ end
35
+
36
+
37
+ task default: :test
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,55 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any styles
10
+ * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
+ * file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
16
+ .pulitzer-row {
17
+ position: relative;
18
+ float: left;
19
+ width: 100%;
20
+ &.padding {
21
+ padding: 0px 20px;
22
+ }
23
+ &.right {
24
+ float: right;
25
+ text-align: right;
26
+ }
27
+ &.left {
28
+ text-align: left;
29
+ float: left;
30
+ }
31
+ &.margin-bottom {
32
+ margin-bottom: 1.4em;
33
+ }
34
+ &.list-item {
35
+ padding-bottom: 1em;
36
+ border-bottom: 1px solid grey;
37
+ }
38
+ }
39
+ .pulitzer-span {
40
+ margin-left: 0;
41
+ position: relative;
42
+ float: left;
43
+ &.right {
44
+ float: right;
45
+ text-align: right;
46
+ }
47
+ &.left {
48
+ text-align: left;
49
+ float: left;
50
+ }
51
+ .icon-separator {
52
+ display: inline-block;
53
+ width: 5px;
54
+ }
55
+ }
@@ -0,0 +1,2 @@
1
+ class Pulitzer::ApplicationController < Pulitzer.base_controller
2
+ end
@@ -0,0 +1,42 @@
1
+ class Pulitzer::PostTypeContentElementTypesController < Pulitzer::ApplicationController
2
+ before_filter :get_ptcet, only: [:show, :edit, :update, :destroy]
3
+
4
+ def new
5
+ @post_type = Pulitzer::PostType.find(params[:post_type_id])
6
+ @ptcet = @post_type.post_type_content_element_types.build
7
+ render partial: 'new', locals: {ptcet: @ptcet}
8
+ end
9
+
10
+ def create
11
+ @post_type = Pulitzer::PostType.find(ptcet_params[:post_type_id])
12
+ @ptcet = @post_type.post_type_content_element_types.create(ptcet_params)
13
+ render partial: 'show_wrapper', locals: {ptcet: @ptcet}
14
+ end
15
+
16
+ def show
17
+ render partial: 'show', locals: {ptcet: @ptcet}
18
+ end
19
+
20
+ def edit
21
+ render partial: 'form', locals: {ptcet: @ptcet}
22
+ end
23
+
24
+ def update
25
+ @ptcet.update_attributes(ptcet_params)
26
+ render partial: 'show', locals: {ptcet: @ptcet}
27
+ end
28
+
29
+ def destroy
30
+ end
31
+
32
+ protected
33
+
34
+ def get_ptcet
35
+ @ptcet = Pulitzer::PostTypeContentElementType.find(params[:id])
36
+ end
37
+
38
+ def ptcet_params
39
+ params[:post_type_content_element_type].permit!
40
+ end
41
+
42
+ end
@@ -0,0 +1,46 @@
1
+ class Pulitzer::PostTypesController < Pulitzer::ApplicationController
2
+ before_filter :get_post_type, only: [:show, :edit, :update, :destroy]
3
+
4
+ def index
5
+ @post_types = Pulitzer::PostType.all
6
+ end
7
+
8
+ def new
9
+ @post_type = Pulitzer::PostType.new
10
+ render partial: 'new', locals: {post_type: @post_type}
11
+ end
12
+
13
+ def create
14
+ @post_type = Pulitzer::PostType.create(post_type_params)
15
+ render partial: 'show_wrapper', locals: {post_type: @post_type}
16
+ end
17
+
18
+ def show
19
+ render partial: 'show', locals: {post_type: @post_type}
20
+ end
21
+
22
+ def edit
23
+ render partial: 'form', locals: {post_type: @post_type}
24
+ end
25
+
26
+ def update
27
+ @post_type.update_attributes(post_type_params)
28
+ render partial: 'show', locals: {post_type: @post_type}
29
+ end
30
+
31
+ def destroy
32
+ @post_type.destroy
33
+ render nothing: true
34
+ end
35
+
36
+ protected
37
+
38
+ def post_type_params
39
+ params[:post_type].permit!
40
+ end
41
+
42
+ def get_post_type
43
+ @post_type = Pulitzer::PostType.find(params[:id])
44
+ end
45
+
46
+ end
@@ -0,0 +1,4 @@
1
+ module Pulitzer
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,10 @@
1
+ module Pulitzer
2
+ class ContentElement < ActiveRecord::Base
3
+ belongs_to :post
4
+ belongs_to :content_element_type
5
+
6
+ def type
7
+ self.content_element_type.name.to_sym
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,5 @@
1
+ module Pulitzer
2
+ class ContentElementType < ActiveRecord::Base
3
+ has_many :post_type_content_element_types, dependent: :destroy
4
+ end
5
+ end
@@ -0,0 +1,13 @@
1
+ module Pulitzer
2
+ class Post < ActiveRecord::Base
3
+ belongs_to :post_type
4
+ has_many :content_elements, dependent: :destroy
5
+ has_many :post_tags, dependent: :destroy
6
+ has_many :tags, through: :post_tags
7
+
8
+ def content_element(label)
9
+ self.content_elements.find_by(label: label)
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,6 @@
1
+ module Pulitzer
2
+ class PostTag < ActiveRecord::Base
3
+ belongs_to :post
4
+ belongs_to :label, polymorphic: true
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ module Pulitzer
2
+ class PostType < ActiveRecord::Base
3
+ has_many :posts
4
+ has_many :post_type_content_element_types, dependent: :destroy
5
+ has_many :content_element_types, through: :post_type_content_element_types
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ module Pulitzer
2
+ class PostTypeContentElementType < ActiveRecord::Base
3
+ belongs_to :post_type
4
+ belongs_to :content_element_type
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Pulitzer
2
+ class Tag < ActiveRecord::Base
3
+ has_many :post_tags, as: :label, dependent: :destroy
4
+ has_many :posts, through: :post_tags
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ <%= form_for ptcet, html: ajax_form_hash(dom_target(ptcet)) do |f| %>
2
+ <%= f.label :label %>
3
+ <%= f.text_field :label %>
4
+ <%= f.select :content_element_type_id, Pulitzer::ContentElementType.all %>
5
+ <%= f.submit %>
6
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <%= form_for ptcet, html: ajax_form_hash("#post_type_content_element_types_container_#{dom_id(ptcet.post_type)}", insert_method: 'append', sub_class: "AddALineForm", container: "#new_post_type_content_element_type_#{dom_id(ptcet.post_type)}") do |f| %>
2
+ <%= f.label :label %>
3
+ <%= f.text_field :label %>
4
+ <%= f.select :content_element_type_id, Pulitzer::ContentElementType.all %>
5
+ <%= f.hidden_field :post_type_id %>
6
+ <%= f.submit %>
7
+ <% end %>
@@ -0,0 +1 @@
1
+ <%= ajax_link ptcet.label, edit_post_type_content_element_type_path(ptcet), {}, dom_target(ptcet) %>
@@ -0,0 +1,3 @@
1
+ <li id="<%= dom_id(ptcet) %>">
2
+ <%= render partial: '/pulitzer/post_type_content_element_types/show', locals: {ptcet: ptcet} %>
3
+ </li>
@@ -0,0 +1,5 @@
1
+ <%= form_for post_type, html: ajax_form_hash(dom_target(post_type)) do |f| %>
2
+ <%= f.label :name %>
3
+ <%= f.text_field :name %>
4
+ <%= f.submit %>
5
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <%= form_for post_type, html: ajax_form_hash('#post_types_container', insert_method: 'append', sub_class: "AddALineForm", container: '#new_post_type') do |f| %>
2
+ <%= f.label :name %>
3
+ <%= f.text_field :name %>
4
+ <%= f.submit %>
5
+ <% end %>
@@ -0,0 +1,9 @@
1
+ <%= ajax_link post_type.name, edit_post_type_path(post_type), {}, dom_target(post_type) %>
2
+ <ul id="post_type_content_element_types_container_<%= dom_id(post_type) %>">
3
+ <% post_type.post_type_content_element_types.each do |ptcet| %>
4
+ <%= render partial: '/pulitzer/post_type_content_element_types/show_wrapper', locals: {ptcet: ptcet} %>
5
+ <% end %>
6
+ </ul>
7
+ <%= ajax_link 'add a new content element for ' + post_type.name, new_post_type_content_element_type_path(post_type_id: post_type.id), {}, "#new_post_type_content_element_type_#{dom_id(post_type)}" %>
8
+ <div id="new_post_type_content_element_type_<%= dom_id(post_type) %>">
9
+ </div>
@@ -0,0 +1,3 @@
1
+ <div class="pulitzer-row margin-bottom list-item" id="<%= dom_id(post_type) %>">
2
+ <%= render partial: 'show', locals: {post_type: post_type} %>
3
+ </div>
@@ -0,0 +1,10 @@
1
+ <h1> Post Types </h1>
2
+
3
+ <div id="post_types_container">
4
+ <% @post_types.each do |post_type| %>
5
+ <%= render partial: 'show_wrapper', locals: {post_type: post_type} %>
6
+ <% end %>
7
+ </div>
8
+ <%= ajax_link 'add a new post type', new_post_type_path, {}, '#new_post_type' %>
9
+ <div id="new_post_type">
10
+ </div>
data/config/routes.rb ADDED
@@ -0,0 +1,10 @@
1
+ Pulitzer::Engine.routes.draw do
2
+ resources :posts
3
+ resources :content_elements
4
+ resources :post_types
5
+ resources :content_element_types
6
+ resources :post_type_content_element_types
7
+ resources :post_tags
8
+ resources :tags
9
+ root to: 'post_types#index'
10
+ end
@@ -0,0 +1,9 @@
1
+ class CreatePulitzerPostTypes < ActiveRecord::Migration
2
+ def change
3
+ create_table :pulitzer_post_types do |t|
4
+ t.string :name
5
+
6
+ t.timestamps null: false
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class CreatePulitzerContentElementTypes < ActiveRecord::Migration
2
+ def change
3
+ create_table :pulitzer_content_element_types do |t|
4
+ t.string :name
5
+
6
+ t.timestamps null: false
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ class CreatePulitzerPosts < ActiveRecord::Migration
2
+ def change
3
+ create_table :pulitzer_posts do |t|
4
+ t.string :title
5
+ t.integer :post_type_id
6
+ t.string :status, default: 'unpublished'
7
+
8
+ t.timestamps null: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ class CreatePulitzerContentElements < ActiveRecord::Migration
2
+ def change
3
+ create_table :pulitzer_content_elements do |t|
4
+ t.string :label
5
+ t.string :title
6
+ t.text :body
7
+ t.integer :post_id
8
+ t.integer :content_type_id
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end