pulitzer 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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