fanforce-plugin-factory 0.41.0 → 1.6.0.rc1

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 (260) hide show
  1. data/.gitignore +1 -0
  2. data/.ruby-version +1 -0
  3. data/.yardopts +5 -0
  4. data/.yardopts.rb +1 -0
  5. data/Gemfile +9 -0
  6. data/README.md +40 -75
  7. data/Rakefile +61 -4
  8. data/fanforce-plugin-factory.gemspec +21 -21
  9. data/lib/fanforce/plugin_factory.rb +16 -58
  10. data/lib/fanforce/plugin_factory/Rakefile +51 -0
  11. data/lib/fanforce/plugin_factory/Routes.rb +33 -0
  12. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/_bootstrap.scss +2 -0
  13. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/_common.scss +1 -0
  14. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/_directives.scss +7 -0
  15. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/_font-awesome.scss +1 -0
  16. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/_ui-select.scss +3 -0
  17. data/lib/fanforce/plugin_factory/{assets/lib/common → asset_framework/plugin_factory/bootstrap}/_bootstrap-overrides.scss +2 -0
  18. data/lib/fanforce/plugin_factory/{assets/lib/vendors/bootstrap/css → asset_framework/plugin_factory/bootstrap}/bootstrap.css +2 -2
  19. data/lib/fanforce/plugin_factory/{assets/lib/vendors/bootstrap/js → asset_framework/plugin_factory/bootstrap}/bootstrap.js +0 -0
  20. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/bootstrap/bootstrap.min.css +7 -0
  21. data/lib/fanforce/plugin_factory/{assets/lib/vendors/bootstrap/js → asset_framework/plugin_factory/bootstrap}/bootstrap.min.js +0 -0
  22. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/bootstrap/glyphicons-halflings-regular.eot +0 -0
  23. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/bootstrap/glyphicons-halflings-regular.svg +229 -0
  24. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  25. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/bootstrap/glyphicons-halflings-regular.woff +0 -0
  26. data/lib/fanforce/plugin_factory/{assets/lib → asset_framework/plugin_factory}/common/_mixins.scss +2 -1
  27. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/directives.coffee +1 -0
  28. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/directives/error/_error.scss +6 -0
  29. data/lib/fanforce/plugin_factory/{assets/lib/common/module-error → asset_framework/plugin_factory/directives/error}/arrow-left.png +0 -0
  30. data/lib/fanforce/plugin_factory/{assets/lib/common/module-error → asset_framework/plugin_factory/directives/error}/icon-error.png +0 -0
  31. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/directives/initiative-footer/_initiative-footer.coffee +16 -0
  32. data/lib/fanforce/plugin_factory/{assets/lib/common/_module-add-initiative-footer.scss → asset_framework/plugin_factory/directives/initiative-footer/_initiative-footer.scss} +4 -1
  33. data/lib/fanforce/plugin_factory/{assets/lib/common/_module-initiative-searcher.scss → asset_framework/plugin_factory/directives/initiative-searcher/_initiative-searcher.scss} +14 -13
  34. data/lib/fanforce/plugin_factory/{assets/lib/common/module-initiative-searcher → asset_framework/plugin_factory/directives/initiative-searcher}/icon-search.png +0 -0
  35. data/lib/fanforce/plugin_factory/{assets/lib/common/module-initiative-searcher → asset_framework/plugin_factory/directives/initiative-searcher}/spinner.gif +0 -0
  36. data/lib/fanforce/plugin_factory/{assets/lib/common/module-initiative-searcher → asset_framework/plugin_factory/directives/initiative-searcher}/sprite-arrows.png +0 -0
  37. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/directives/loading/_loading.coffee +4 -0
  38. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/directives/loading/_loading.scss +4 -0
  39. data/lib/fanforce/plugin_factory/{assets/js/add_source_popup.js → asset_framework/plugin_factory/directives/saving-to-server/_saving-to-server.coffee} +0 -0
  40. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/directives/saving-to-server/_saving-to-server.scss +6 -0
  41. data/lib/fanforce/plugin_factory/{assets/lib/common/module-saving-initiative → asset_framework/plugin_factory/directives/saving-to-server}/spinner.gif +0 -0
  42. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/directives/start-arrow/_start-arrow.coffee +8 -0
  43. data/lib/fanforce/plugin_factory/{assets/lib/common/_module-start-here.scss → asset_framework/plugin_factory/directives/start-arrow/_start-arrow.scss} +5 -4
  44. data/lib/fanforce/plugin_factory/{assets/lib/common/module-start-here → asset_framework/plugin_factory/directives/start-arrow}/arrow.png +0 -0
  45. data/lib/fanforce/plugin_factory/{assets/lib/common/_module-video-thumbnail.scss → asset_framework/plugin_factory/directives/video-thumbnail/_video-thumbnail.scss} +4 -4
  46. data/lib/fanforce/plugin_factory/{assets/lib/common/module-video-thumbnail → asset_framework/plugin_factory/directives/video-thumbnail}/icon-play.png +0 -0
  47. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/font-awesome.coffee +1 -0
  48. data/lib/fanforce/plugin_factory/{assets/lib/vendors/font-awesome/font → asset_framework/plugin_factory/font-awesome}/FontAwesome.otf +0 -0
  49. data/lib/fanforce/plugin_factory/{assets/lib/vendors/font-awesome/css → asset_framework/plugin_factory/font-awesome}/font-awesome.css +2 -2
  50. data/lib/fanforce/plugin_factory/{assets/lib/vendors/font-awesome/css → asset_framework/plugin_factory/font-awesome}/font-awesome.min.css +0 -0
  51. data/lib/fanforce/plugin_factory/{assets/lib/vendors/font-awesome/font → asset_framework/plugin_factory/font-awesome}/fontawesome-webfont.eot +0 -0
  52. data/lib/fanforce/plugin_factory/{assets/lib/vendors/font-awesome/font → asset_framework/plugin_factory/font-awesome}/fontawesome-webfont.svg +0 -0
  53. data/lib/fanforce/plugin_factory/{assets/lib/vendors/font-awesome/font → asset_framework/plugin_factory/font-awesome}/fontawesome-webfont.ttf +0 -0
  54. data/lib/fanforce/plugin_factory/{assets/lib/vendors/font-awesome/font → asset_framework/plugin_factory/font-awesome}/fontawesome-webfont.woff +0 -0
  55. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/lib.coffee +1 -0
  56. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/lib/ng-focus-blur.js +68 -0
  57. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/lib/ng-visible.js +7 -0
  58. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/ui-select.coffee +1 -0
  59. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/ui-select/select.css +171 -0
  60. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/ui-select/select.js +1281 -0
  61. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/ui-select/select_override.scss +1 -0
  62. data/lib/fanforce/plugin_factory/asset_framework/plugin_factory/ui-select/selectize.default.css +443 -0
  63. data/lib/fanforce/plugin_factory/cli.rb +5 -0
  64. data/lib/fanforce/plugin_factory/cli/lib/bitbucket.rb +77 -0
  65. data/lib/fanforce/plugin_factory/cli/lib/bundler.rb +21 -0
  66. data/lib/fanforce/plugin_factory/cli/lib/env.rb +96 -0
  67. data/lib/fanforce/plugin_factory/cli/lib/git.rb +59 -0
  68. data/lib/fanforce/plugin_factory/cli/lib/heroku.rb +94 -0
  69. data/lib/fanforce/plugin_factory/cli/lib/iron.rb +71 -0
  70. data/lib/fanforce/plugin_factory/cli/lib/pow.rb +46 -0
  71. data/lib/fanforce/plugin_factory/cli/lib/scaffolding.rb +74 -0
  72. data/lib/fanforce/plugin_factory/cli/lib/scaffolding_file.rb +510 -0
  73. data/lib/fanforce/plugin_factory/cli/lib/uranium.rb +77 -0
  74. data/lib/fanforce/plugin_factory/cli/lib/utils.rb +57 -0
  75. data/lib/fanforce/plugin_factory/cli/scripts/config.rb +9 -0
  76. data/lib/fanforce/plugin_factory/cli/scripts/create.rb +64 -0
  77. data/lib/fanforce/plugin_factory/cli/scripts/destroy.rb +61 -0
  78. data/lib/fanforce/plugin_factory/cli/scripts/diff.rb +156 -0
  79. data/lib/fanforce/plugin_factory/cli/scripts/push.rb +88 -0
  80. data/lib/fanforce/plugin_factory/cli/scripts/restart.rb +41 -0
  81. data/lib/fanforce/plugin_factory/cli/scripts/setup.rb +70 -0
  82. data/lib/fanforce/plugin_factory/cli/scripts/update.rb +132 -0
  83. data/lib/fanforce/plugin_factory/cli_directory_of_plugins.rb +51 -0
  84. data/lib/fanforce/plugin_factory/cli_single_plugin.rb +52 -0
  85. data/lib/fanforce/plugin_factory/controllers/base_controller.rb +15 -0
  86. data/lib/fanforce/plugin_factory/core_config.rb +94 -0
  87. data/lib/fanforce/plugin_factory/directive_views/initiative-footer.haml +8 -0
  88. data/lib/fanforce/plugin_factory/load.rb +7 -0
  89. data/lib/fanforce/plugin_factory/load_iron_worker.rb +2 -0
  90. data/lib/fanforce/plugin_factory/load_sprockets.rb +2 -0
  91. data/lib/fanforce/plugin_factory/plugin.rb +60 -0
  92. data/lib/fanforce/plugin_factory/scaffolding/._.gitignore.registry +1 -0
  93. data/lib/fanforce/plugin_factory/scaffolding/._Gemfile.registry +3 -0
  94. data/lib/fanforce/plugin_factory/scaffolding/._Rakefile.registry +3 -0
  95. data/lib/fanforce/plugin_factory/scaffolding/._config.json.registry +2 -0
  96. data/lib/fanforce/plugin_factory/scaffolding/._config.ru.registry +4 -0
  97. data/lib/fanforce/plugin_factory/scaffolding/._favicon.ico.registry +1 -0
  98. data/lib/fanforce/plugin_factory/scaffolding/._robots.txt.registry +3 -0
  99. data/lib/fanforce/plugin_factory/scaffolding/.gitignore +27 -0
  100. data/lib/fanforce/plugin_factory/scaffolding/Gemfile +9 -0
  101. data/lib/fanforce/plugin_factory/scaffolding/Rakefile +7 -0
  102. data/lib/fanforce/plugin_factory/scaffolding/Routes.rb +67 -0
  103. data/lib/fanforce/plugin_factory/scaffolding/assets/css/._fembedded.scss.registry +4 -0
  104. data/lib/fanforce/plugin_factory/scaffolding/assets/css/._promotional.scss.registry +4 -0
  105. data/lib/fanforce/plugin_factory/scaffolding/assets/css/._visitor.scss.registry +4 -0
  106. data/lib/fanforce/plugin_factory/scaffolding/assets/css/fembedded.scss +24 -0
  107. data/lib/fanforce/plugin_factory/scaffolding/assets/css/promotional.scss +33 -0
  108. data/lib/fanforce/plugin_factory/scaffolding/assets/css/visitor.scss +61 -0
  109. data/lib/fanforce/plugin_factory/scaffolding/assets/img/._icon-16.png.registry +1 -0
  110. data/lib/fanforce/plugin_factory/scaffolding/assets/img/._icon-32.png.registry +1 -0
  111. data/lib/fanforce/plugin_factory/scaffolding/assets/img/._icon-42.png.registry +1 -0
  112. data/lib/fanforce/plugin_factory/scaffolding/assets/img/._marketplace.png.registry +1 -0
  113. data/lib/fanforce/plugin_factory/{assets → scaffolding/assets}/img/icon-16.png +0 -0
  114. data/lib/fanforce/plugin_factory/{assets → scaffolding/assets}/img/icon-32.png +0 -0
  115. data/lib/fanforce/plugin_factory/{assets → scaffolding/assets}/img/icon-42.png +0 -0
  116. data/lib/fanforce/plugin_factory/scaffolding/assets/img/marketplace.png +0 -0
  117. data/lib/fanforce/plugin_factory/scaffolding/assets/img/promotional/._fanforce_bg.png.registry +1 -0
  118. data/lib/fanforce/plugin_factory/scaffolding/assets/img/promotional/._icon-42.png.registry +1 -0
  119. data/lib/fanforce/plugin_factory/scaffolding/assets/img/promotional/._icon-plus.png.registry +1 -0
  120. data/lib/fanforce/plugin_factory/{assets/lib → scaffolding/assets/img}/promotional/fanforce_bg.png +0 -0
  121. data/lib/fanforce/plugin_factory/{assets/lib → scaffolding/assets/img}/promotional/icon-42.png +0 -0
  122. data/lib/fanforce/plugin_factory/scaffolding/assets/img/promotional/icon-plus.png +0 -0
  123. data/lib/fanforce/plugin_factory/scaffolding/assets/js/._fembedded-app.coffee.registry +5 -0
  124. data/lib/fanforce/plugin_factory/scaffolding/assets/js/._fembedded.js.registry +3 -0
  125. data/lib/fanforce/plugin_factory/scaffolding/assets/js/._promotional.js.registry +3 -0
  126. data/lib/fanforce/plugin_factory/scaffolding/assets/js/fembedded-app.coffee +11 -0
  127. data/lib/fanforce/plugin_factory/scaffolding/assets/js/fembedded.js +12 -0
  128. data/lib/fanforce/plugin_factory/scaffolding/assets/js/lib/._cookie.coffee.registry +3 -0
  129. data/lib/fanforce/plugin_factory/scaffolding/assets/js/lib/._filters.coffee.registry +3 -0
  130. data/lib/fanforce/plugin_factory/scaffolding/assets/js/lib/._utils.coffee.registry +3 -0
  131. data/lib/fanforce/plugin_factory/scaffolding/assets/js/lib/cookie.coffee +24 -0
  132. data/lib/fanforce/plugin_factory/scaffolding/assets/js/lib/filters.coffee +9 -0
  133. data/lib/fanforce/plugin_factory/scaffolding/assets/js/lib/utils.coffee +40 -0
  134. data/lib/fanforce/plugin_factory/scaffolding/assets/js/promotional.js +4 -0
  135. data/lib/fanforce/plugin_factory/scaffolding/config.json +24 -0
  136. data/lib/fanforce/plugin_factory/scaffolding/config.ru +8 -0
  137. data/lib/fanforce/plugin_factory/{public → scaffolding}/favicon.ico +0 -0
  138. data/lib/fanforce/plugin_factory/scaffolding/layouts/._fembedded.haml.registry +4 -0
  139. data/lib/fanforce/plugin_factory/scaffolding/layouts/._promotional.haml.registry +2 -0
  140. data/lib/fanforce/plugin_factory/scaffolding/layouts/._visitor.haml.registry +6 -0
  141. data/lib/fanforce/plugin_factory/scaffolding/layouts/fembedded.haml +26 -0
  142. data/lib/fanforce/plugin_factory/{layouts → scaffolding/layouts}/promotional.haml +6 -6
  143. data/lib/fanforce/plugin_factory/{layouts/engage.haml → scaffolding/layouts/visitor.haml} +10 -7
  144. data/lib/fanforce/plugin_factory/scaffolding/robots.txt +7 -0
  145. data/lib/fanforce/plugin_factory/scaffolding/views/._index.haml.registry +3 -0
  146. data/lib/fanforce/plugin_factory/{views → scaffolding/views}/index.haml +13 -7
  147. data/lib/fanforce/plugin_factory/sinatra/_load.rb +87 -0
  148. data/lib/fanforce/plugin_factory/sinatra/error_handling.rb +48 -0
  149. data/lib/fanforce/plugin_factory/sinatra/helper_routes/com_behavior.rb +19 -0
  150. data/lib/fanforce/plugin_factory/sinatra/helper_routes/com_broadcaster.rb +7 -0
  151. data/lib/fanforce/plugin_factory/sinatra/helper_routes/com_connector.rb +11 -0
  152. data/lib/fanforce/plugin_factory/sinatra/helper_routes/com_identifier.rb +3 -0
  153. data/lib/fanforce/plugin_factory/sinatra/helper_routes/com_js_widget.rb +8 -0
  154. data/lib/fanforce/plugin_factory/sinatra/helper_routes/plugin.rb +50 -0
  155. data/lib/fanforce/plugin_factory/sinatra/helpers/assets.rb +23 -0
  156. data/lib/fanforce/plugin_factory/sinatra/helpers/css_frameworks.rb +70 -0
  157. data/lib/fanforce/plugin_factory/sinatra/helpers/fanforce.rb +18 -0
  158. data/lib/fanforce/plugin_factory/{config → sinatra}/helpers/json.rb +2 -2
  159. data/lib/fanforce/plugin_factory/sinatra/helpers/ractive.rb +45 -0
  160. data/lib/fanforce/plugin_factory/sprockets/compiler.rb +5 -11
  161. data/lib/fanforce/plugin_factory/sprockets/hacks.rb +2 -2
  162. data/lib/fanforce/plugin_factory/version.rb +2 -2
  163. metadata +201 -195
  164. data/.rbenv-gemsets +0 -1
  165. data/.rbenv-version +0 -1
  166. data/lib/fanforce/plugin_factory.rake +0 -72
  167. data/lib/fanforce/plugin_factory/_init_sinatra.rb +0 -54
  168. data/lib/fanforce/plugin_factory/assets/css/add_edit_initiative.scss +0 -1
  169. data/lib/fanforce/plugin_factory/assets/css/add_source.scss +0 -1
  170. data/lib/fanforce/plugin_factory/assets/css/convert_pending_initiative.scss +0 -1
  171. data/lib/fanforce/plugin_factory/assets/css/engage.scss +0 -1
  172. data/lib/fanforce/plugin_factory/assets/css/new_message.scss +0 -1
  173. data/lib/fanforce/plugin_factory/assets/css/promotional.scss +0 -1
  174. data/lib/fanforce/plugin_factory/assets/css/source_details.scss +0 -1
  175. data/lib/fanforce/plugin_factory/assets/js/add_edit_initiative.js +0 -1
  176. data/lib/fanforce/plugin_factory/assets/js/add_source.js +0 -1
  177. data/lib/fanforce/plugin_factory/assets/js/convert_pending_initiative.js +0 -1
  178. data/lib/fanforce/plugin_factory/assets/js/engage.js +0 -1
  179. data/lib/fanforce/plugin_factory/assets/js/new_message.js +0 -1
  180. data/lib/fanforce/plugin_factory/assets/js/promotional.js +0 -2
  181. data/lib/fanforce/plugin_factory/assets/js/source_details.js +0 -0
  182. data/lib/fanforce/plugin_factory/assets/lib/common/_module-error.scss +0 -11
  183. data/lib/fanforce/plugin_factory/assets/lib/common/_module-page-loading.scss +0 -1
  184. data/lib/fanforce/plugin_factory/assets/lib/common/_module-saving-initiative.scss +0 -6
  185. data/lib/fanforce/plugin_factory/assets/lib/common/_tags.scss +0 -1
  186. data/lib/fanforce/plugin_factory/assets/lib/common/_variables.scss +0 -27
  187. data/lib/fanforce/plugin_factory/assets/lib/common/broadcaster-divider-arrow.png +0 -0
  188. data/lib/fanforce/plugin_factory/assets/lib/common/icons/dropdown-arrow.png +0 -0
  189. data/lib/fanforce/plugin_factory/assets/lib/common/icons/initiative.png +0 -0
  190. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/_add_edit_initiative.scss +0 -27
  191. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/_add_source.scss +0 -18
  192. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/_convert_pending_initiative.scss +0 -27
  193. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/_engage.scss +0 -78
  194. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/_new_message.scss +0 -24
  195. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/_promotional.scss +0 -27
  196. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/_source_details.scss +0 -17
  197. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/add_edit_initiative.js +0 -6
  198. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/add_source.js +0 -6
  199. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/convert_pending_initiative.js +0 -6
  200. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/engage.js +0 -0
  201. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/new_message.js +0 -5
  202. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/promotional.js +0 -1
  203. data/lib/fanforce/plugin_factory/assets/lib/common/layouts/source_details.js +0 -5
  204. data/lib/fanforce/plugin_factory/assets/lib/promotional/icon-behavior.png +0 -0
  205. data/lib/fanforce/plugin_factory/assets/lib/promotional/icon-broadcaster.png +0 -0
  206. data/lib/fanforce/plugin_factory/assets/lib/promotional/icon-data-connector.png +0 -0
  207. data/lib/fanforce/plugin_factory/assets/lib/promotional/icon-data-processor.png +0 -0
  208. data/lib/fanforce/plugin_factory/assets/lib/promotional/icon-identifier.png +0 -0
  209. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap-datepicker/datepicker.css +0 -7
  210. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap-datepicker/datepicker.js +0 -454
  211. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap-timepicker/timepicker.css +0 -82
  212. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap-timepicker/timepicker.js +0 -803
  213. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap/css/bootstrap.min.css +0 -7
  214. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.eot +0 -0
  215. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.svg +0 -0
  216. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.ttf +0 -0
  217. data/lib/fanforce/plugin_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.woff +0 -0
  218. data/lib/fanforce/plugin_factory/assets/lib/vendors/chosen/_chosen_override.scss +0 -6
  219. data/lib/fanforce/plugin_factory/assets/lib/vendors/chosen/chosen-sprite.png +0 -0
  220. data/lib/fanforce/plugin_factory/assets/lib/vendors/chosen/chosen-sprite@2x.png +0 -0
  221. data/lib/fanforce/plugin_factory/assets/lib/vendors/chosen/chosen.jquery.js +0 -1166
  222. data/lib/fanforce/plugin_factory/assets/lib/vendors/chosen/chosen.scss +0 -434
  223. data/lib/fanforce/plugin_factory/assets/lib/vendors/jquery/jquery-1.10.2.js +0 -9789
  224. data/lib/fanforce/plugin_factory/assets/lib/vendors/jquery/jquery.inputHint.js +0 -154
  225. data/lib/fanforce/plugin_factory/assets/lib/vendors/jquery/jquery.tmpl.debug.js +0 -484
  226. data/lib/fanforce/plugin_factory/assets/lib/vendors/knockout/knockout.custom-handlers.coffee +0 -155
  227. data/lib/fanforce/plugin_factory/assets/lib/vendors/knockout/knockout.debug.js +0 -4469
  228. data/lib/fanforce/plugin_factory/assets/lib/vendors/knockout/knockout.min.js +0 -96
  229. data/lib/fanforce/plugin_factory/assets/lib/vendors/select2/_select2_override.scss +0 -47
  230. data/lib/fanforce/plugin_factory/assets/lib/vendors/select2/select2-spinner.gif +0 -0
  231. data/lib/fanforce/plugin_factory/assets/lib/vendors/select2/select2.png +0 -0
  232. data/lib/fanforce/plugin_factory/assets/lib/vendors/select2/select2.scss +0 -617
  233. data/lib/fanforce/plugin_factory/assets/lib/vendors/select2/select2_modified.js +0 -3225
  234. data/lib/fanforce/plugin_factory/assets/lib/vendors/select2/select2x2.png +0 -0
  235. data/lib/fanforce/plugin_factory/assets/lib/vendors/underscore/underscore.debug.js +0 -999
  236. data/lib/fanforce/plugin_factory/config/_error_handling.rb +0 -27
  237. data/lib/fanforce/plugin_factory/config/core_config.rb +0 -92
  238. data/lib/fanforce/plugin_factory/config/helpers/assets.rb +0 -72
  239. data/lib/fanforce/plugin_factory/config/helpers/fanforce.rb +0 -19
  240. data/lib/fanforce/plugin_factory/layouts/add_edit_initiative.haml +0 -19
  241. data/lib/fanforce/plugin_factory/layouts/add_source.haml +0 -19
  242. data/lib/fanforce/plugin_factory/layouts/convert_pending_initiative.haml +0 -19
  243. data/lib/fanforce/plugin_factory/layouts/new_message.haml +0 -19
  244. data/lib/fanforce/plugin_factory/layouts/source_details.haml +0 -19
  245. data/lib/fanforce/plugin_factory/public/robots.txt +0 -2
  246. data/lib/fanforce/plugin_factory/routes.rb +0 -48
  247. data/lib/fanforce/plugin_factory/routes_behavior.rb +0 -34
  248. data/lib/fanforce/plugin_factory/routes_broadcaster.rb +0 -9
  249. data/lib/fanforce/plugin_factory/routes_data_connector.rb +0 -21
  250. data/lib/fanforce/plugin_factory/routes_identifier.rb +0 -3
  251. data/lib/fanforce/plugin_factory/views/add_initiative.haml +0 -1
  252. data/lib/fanforce/plugin_factory/views/add_source.haml +0 -1
  253. data/lib/fanforce/plugin_factory/views/close_popup.haml +0 -8
  254. data/lib/fanforce/plugin_factory/views/convert_pending_initiative.haml +0 -1
  255. data/lib/fanforce/plugin_factory/views/edit_initiative.haml +0 -1
  256. data/lib/fanforce/plugin_factory/views/engage.haml +0 -1
  257. data/lib/fanforce/plugin_factory/views/new_message.haml +0 -1
  258. data/lib/fanforce/plugin_factory/views/source_details.haml +0 -1
  259. data/lib/fanforce/plugin_factory/views/widget_tmpls.haml +0 -1
  260. data/lib/fanforce/plugin_factory_workers.rb +0 -2
@@ -1,27 +0,0 @@
1
- class FanforcePlugin::Sinatra
2
- require 'fanforce/errors'
3
- include Fanforce::Errors
4
-
5
- set :raise_errors, false
6
- set :show_exceptions, false
7
-
8
- error 400..600 do
9
- e = env['sinatra.error'] or (next response if e.nil?)
10
-
11
- if Object.const_defined?('Fanforce') and Fanforce.const_defined?('API') and e.is_a?(Fanforce::API::Error)
12
- errors = e.errors
13
- else
14
- errors = e.respond_to?(:public_errors) ? e.public_errors : []
15
- errors << {message: 'There has been an internal server error. Our developers have been notified.'} if errors.size == 0
16
- end
17
-
18
- admin_details = Fanforce::Errors.format_admin_details(e, errors)
19
- Bugsnag.notify(e, admin_details.merge(plugin_id: FanforcePlugin._id)) if FanforcePlugin.config.bugsnag_enabled?
20
-
21
- body = {errors: errors}
22
- body.merge!(admin_details.merge(backtrace: e.backtrace)).delete(:public_response) if params[:show_error_details] == '1' or FanforcePlugin.config.show_error_details
23
-
24
- status(e.respond_to?(:code ) ? e.code : 500) and json(body)
25
- end
26
- end
27
-
@@ -1,92 +0,0 @@
1
- class FanforcePlugin::CoreConfig
2
- attr_accessor :layout_for_add_initiative, :layout_for_add_source, :layout_for_close_popup, :layout_for_edit_initiative, :layout_for_engage, :layout_for_index, :layout_for_new_message, :layout_for_source_details
3
- attr_accessor :_id, :redis_url, :factory_root_dir, :root_dir, :dir_name, :show_error_details
4
- attr_accessor :bugsnag, :bugsnag_enabled
5
- attr_reader :type
6
-
7
- def initialize(root_dir)
8
- @layout_for_add_initiative = true
9
- @layout_for_add_source = true
10
- @layout_for_close_popup = true
11
- @layout_for_edit_initiative = true
12
- @layout_for_engage = true
13
- @layout_for_index = true
14
- @layout_for_new_message = true
15
- @layout_for_source_details = true
16
-
17
- @_id = ENV['FANFORCE_PLUGIN_ID']
18
- @type = nil
19
- @root_dir = root_dir
20
- @factory_root_dir = File.expand_path '../../', __FILE__
21
- @redis_url = ENV['REDIS_URL'] || 'redis://localhost:6379'
22
- @show_error_details = false
23
-
24
- @bugsnag = (ENV['BUGSNAG_API_KEY'].present?) ? {api_key: ENV['BUGSNAG_API_KEY']} : nil
25
- end
26
-
27
- def show_error_details=(bool)
28
- @show_error_details = [true,1,'1'].include?(bool)
29
- end
30
-
31
- def type=(type)
32
- allowed = [:data_connector, :data_processor, :broadcaster, :identifier, :behavior]
33
- raise "type (#{type}) was not found in allowed list: #{allowed}" if !allowed.include?(type.to_sym)
34
- @type = type.to_sym
35
- end
36
-
37
- def load
38
- raise 'CRITICAL: This FanforcePlugin requires config._id to be set. See documentation.' if !@_id
39
- raise 'CRITICAL: This FanforcePlugin requires config.root_dir to be set. See documentation' if !@root_dir
40
-
41
- FanforcePlugin::Sinatra.set :root, @root_dir
42
- FanforcePlugin::Sinatra.set :public_folder, [@root_dir+'/public', @factory_root_dir+'/public'].inject(''){|dir, d| File.directory?(d) ? (break d) : d }
43
- FanforcePlugin::Sinatra.set :views, [@root_dir+'/views', @factory_root_dir+'/views'].inject(''){|dir, d| File.directory?(d) ? (break d) : d }
44
-
45
- FanforcePlugin.config.load_bugsnag
46
- FanforcePlugin.config.load_routes
47
- FanforcePlugin.config.load_redis
48
- end
49
-
50
- def bugsnag_enabled?
51
- @bugsnag_enabled
52
- end
53
-
54
- def load_bugsnag
55
- return if !@bugsnag.is_a?(Hash) or ENV['RACK_ENV'] == 'test'
56
- require 'bugsnag'
57
- Bugsnag.configure do |config|
58
- config.api_key = ENV['BUGSNAG_API_KEY'] || @bugsnag[:api_key]
59
- config.notify_release_stages = @bugsnag[:notify_release_stages] || ['development','staging','production']
60
- config.release_stage = @bugsnag[:release_stage] || ENV['RACK_ENV']
61
- config.app_version = @bugsnag[:app_version] || "fanforce-plugin-factory-#{Fanforce::PluginFactory::VERSION}"
62
- config.project_root = @root_dir
63
- end
64
- @bugsnag_enabled = true
65
- end
66
-
67
- def load_routes
68
- @dir_name = /\/([^\/]+)\/?$/.match(@root_dir)[1]
69
-
70
- $: << File.join(@root_dir,'lib') if File.directory?("#{@root_dir}/lib")
71
- $: << @root_dir if File.directory?("#{@root_dir}")
72
-
73
- require "#{@root_dir}/config/initializer" if File.exists?("#{@root_dir}/config/initializer.rb")
74
- require "#{@root_dir}/initializer" if File.exists?("#{@root_dir}/initializer.rb")
75
- if File.directory?("#{@root_dir}/initializers")
76
- Dir["#{@root_dir}/initializers/*.rb"].each {|file| require file }
77
- end
78
-
79
- require "#{@root_dir}/config/_routes" if File.exists?("#{@root_dir}/config/_routes.rb")
80
- require "#{@root_dir}/views/_routes" if File.exists?("#{@root_dir}/views/_routes.rb")
81
- require "#{@root_dir}/_routes" if File.exists?("#{@root_dir}/_routes.rb")
82
- require "#{@root_dir}/routes" if File.exists?("#{@root_dir}/routes.rb")
83
-
84
- require "#{@factory_root_dir}/routes_#{@type}" if @type and File.exists?("#{@factory_root_dir}/routes_#{@type}.rb")
85
- require "#{@factory_root_dir}/routes"
86
- end
87
-
88
- def load_redis
89
- $Redis = ::Redis.new(url: @redis_url)
90
- end
91
-
92
- end
@@ -1,72 +0,0 @@
1
- module Sinatra::AssetHelpers
2
-
3
- def stylesheet(s)
4
- s += '.css' unless s.include?('.css')
5
- s = asset_path(s) unless s =~ /^https?:\// or s =~ /^\/\/.+/
6
- "<link rel='stylesheet' href='#{s}' />"
7
- end
8
-
9
- def javascript(s, &block)
10
- s += '.js' unless s.include?('.js')
11
- s = asset_path(s) unless s =~ /^https?:\// or s =~ /^\/\/.+/
12
- html = "<script type='text/javascript' src='#{s}'>"
13
- if block.present?
14
- require 'haml'
15
- context = Object.new
16
- class << context
17
- include Haml::Helpers
18
- end
19
- context.init_haml_helpers
20
- html += context.capture_haml(&block)
21
- end
22
- html += '</script>'
23
- end
24
-
25
- def asset_path(source, options={})
26
- source = ('/assets/' + source).gsub('//', '/').gsub('/assets/assets/', '/assets/')
27
- end
28
-
29
- def image_path(source)
30
- asset_path(source)
31
- end
32
-
33
- ######################################################################################################################
34
-
35
- def column(size, &block)
36
- begin require 'haml' rescue LoadError raise 'You must have the haml gem installed to use Fanforce.compile_jquery_templates.' end
37
- if block
38
- context = Object.new
39
- class << context
40
- include Haml::Helpers
41
- end
42
- context.init_haml_helpers
43
- html = context.capture_haml(&block)
44
- end
45
- "<div class='small-12 medium-#{size} column'>\n#{html}</div>"
46
- end
47
-
48
- def RACTIVE(helper, &block)
49
- begin require 'haml' rescue LoadError raise 'You must have the haml gem installed to use Fanforce.compile_jquery_templates.' end
50
- raise ArgumentError, "Missing block" unless block_given?
51
- context = Object.new
52
- class << context
53
- include Haml::Helpers
54
- end
55
- context.init_haml_helpers
56
- helper = '#'+helper if helper !~ /^[#\^]/
57
- "{{#{helper}}}\n" + context.capture_haml(&block) + "{{/#{helper.gsub(/(#|\^)/,'')}}}"
58
- end
59
-
60
- def IF(helper, &block)
61
- RACTIVE(helper, &block)
62
- end
63
-
64
- def ELSE_IF(helper, &block)
65
- RACTIVE(helper, &block)
66
- end
67
-
68
- def FOREACH(helper, &block)
69
- RACTIVE(helper, &block)
70
- end
71
-
72
- end
@@ -1,19 +0,0 @@
1
- module Sinatra::FanforceHelpers
2
- require 'fanforce/api'
3
-
4
- def organization_id
5
- @organization_id = params[:organization_id] || ff.params[:organization_id]
6
- end
7
-
8
- def ff
9
- return @ff if @ff.present?
10
- @ff = Fanforce::API.new(params)
11
- @ff.auth(Sinatra::FanforceHelpers.find_api_key(ff.params[:organization_id]))
12
- @ff
13
- end
14
-
15
- def self.find_api_key(organization_id, addon_type=:plugin, addon_id=FanforcePlugin._id)
16
- $Redis.get("installed:#{addon_type}-#{addon_id}:#{organization_id}")
17
- end
18
-
19
- end
@@ -1,19 +0,0 @@
1
- <?xml version='1.0' encoding='utf-8' ?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- %html
4
- %head
5
- %title Fanforce
6
- %meta{'http-equiv'=>'Content-Type', content:'text/html; charset=iso-8859-1'}/
7
- %meta{'http-equiv'=>'Content-Language', content: 'en-us'}/
8
- = stylesheet '/add_edit_initiative.css'
9
- :javascript
10
- BASE_DOMAIN = #{Fanforce.base_domain.to_json}
11
- API_DOMAIN = #{Fanforce.api_domain.to_json}
12
- ASSETS_DOMAIN = #{Fanforce.assets_domain.to_json}
13
-
14
- %body
15
- = yield
16
- = javascript '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'
17
- = javascript "//#{Fanforce.eye_domain}/devforce.js#{'?DEBUG=1&DYNAMIC=1' if ENV['RACK_ENV']=='development'}"
18
- = javascript '/add_edit_initiative.js'
19
- = yield_content :after_core_js
@@ -1,19 +0,0 @@
1
- <?xml version='1.0' encoding='utf-8' ?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- %html
4
- %head
5
- %title Fanforce
6
- %meta{'http-equiv'=>'Content-Type', content:'text/html; charset=iso-8859-1'}/
7
- %meta{'http-equiv'=>'Content-Language', content: 'en-us'}/
8
- = stylesheet '/add_source.css'
9
- :javascript
10
- BASE_DOMAIN = #{Fanforce.base_domain.to_json}
11
- API_DOMAIN = #{Fanforce.api_domain.to_json}
12
- ASSETS_DOMAIN = #{Fanforce.assets_domain.to_json}
13
-
14
- %body
15
- = yield
16
- = javascript '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'
17
- = javascript "//#{Fanforce.eye_domain}/devforce.js#{'?DEBUG=1&DYNAMIC=1' if ENV['RACK_ENV']=='development'}"
18
- = javascript '/add_source.js'
19
- = yield_content :after_core_js
@@ -1,19 +0,0 @@
1
- <?xml version='1.0' encoding='utf-8' ?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- %html
4
- %head
5
- %title Fanforce
6
- %meta{'http-equiv'=>'Content-Type', content:'text/html; charset=iso-8859-1'}/
7
- %meta{'http-equiv'=>'Content-Language', content: 'en-us'}/
8
- = stylesheet '/convert_pending_initiative.css'
9
- :javascript
10
- BASE_DOMAIN = #{Fanforce.base_domain.to_json}
11
- API_DOMAIN = #{Fanforce.api_domain.to_json}
12
- ASSETS_DOMAIN = #{Fanforce.assets_domain.to_json}
13
-
14
- %body
15
- = yield
16
- = javascript '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'
17
- = javascript "//#{Fanforce.eye_domain}/devforce.js#{'?DEBUG=1&DYNAMIC=1' if ENV['RACK_ENV']=='development'}"
18
- = javascript '/convert_pending_initiative.js'
19
- = yield_content :after_core_js
@@ -1,19 +0,0 @@
1
- <?xml version='1.0' encoding='utf-8' ?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- %html
4
- %head
5
- %title Fanforce
6
- %meta{'http-equiv'=>'Content-Type', content:'text/html; charset=iso-8859-1'}/
7
- %meta{'http-equiv'=>'Content-Language', content: 'en-us'}/
8
- = stylesheet '/new_message.css'
9
- :javascript
10
- BASE_DOMAIN = #{Fanforce.base_domain.to_json}
11
- API_DOMAIN = #{Fanforce.api_domain.to_json}
12
- ASSETS_DOMAIN = #{Fanforce.assets_domain.to_json}
13
-
14
- %body
15
- = yield
16
- = javascript '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'
17
- = javascript "//#{Fanforce.eye_domain}/devforce.js#{'?DEBUG=1&DYNAMIC=1' if ENV['RACK_ENV']=='development'}"
18
- = javascript '/new_message.js'
19
- = yield_content :after_core_js
@@ -1,19 +0,0 @@
1
- <?xml version='1.0' encoding='utf-8' ?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- %html
4
- %head
5
- %title Fanforce
6
- %meta{'http-equiv'=>'Content-Type', content:'text/html; charset=iso-8859-1'}/
7
- %meta{'http-equiv'=>'Content-Language', content: 'en-us'}/
8
- = stylesheet '/source_details.css'
9
- :javascript
10
- BASE_DOMAIN = #{Fanforce.base_domain.to_json}
11
- API_DOMAIN = #{Fanforce.api_domain.to_json}
12
- ASSETS_DOMAIN = #{Fanforce.assets_domain.to_json}
13
-
14
- %body
15
- = yield
16
- = javascript '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'
17
- = javascript "//#{Fanforce.eye_domain}/devforce.js#{'?DEBUG=1&DYNAMIC=1' if ENV['RACK_ENV']=='development'}"
18
- = javascript '/source_details.js'
19
- = yield_content :after_core_js
@@ -1,2 +0,0 @@
1
- User-agent: *
2
- Allow: /
@@ -1,48 +0,0 @@
1
- class FanforcePlugin::Sinatra
2
-
3
- # INDEX ########################################################################
4
- def route_index(params)
5
- page :index, :layout => :promotional
6
- end
7
- ['/', '/index.html'].each do |path|
8
- get path do route_index(params) end
9
- end
10
-
11
- # INSTALL ######################################################################
12
- def route_install(params)
13
- raise "This is not a valid plugin install request: #{env['HTTP_HOST']}" if !ff.valid_install_request?(params)
14
- api_key = $Redis.get("installed:#{ff.params[:addon_type]}-#{ff.params[:addon_id]}:#{params[:organization_id]}")
15
-
16
- if api_key.present? and api_key != params[:api_key]
17
- is_valid_key = Fanforce::API.new.get("/api_auths/is_valid_key/#{params[:api_key]}", organization_id: params[:organization_id], plugin_id: params[:plugin_id])[:result]
18
- raise 'A different API key already exists for this addon. Please uninstall first.' if !is_valid_key
19
- end
20
-
21
- $Redis.set("installed:#{ff.params[:addon_type]}-#{ff.params[:addon_id]}:#{params[:organization_id]}", params[:api_key])
22
- ff.auth(params[:api_key])
23
- json status: 'finished-processing'
24
- end
25
- any '/install' do route_install(params) end
26
-
27
- # UNINSTALL ####################################################################
28
- def route_uninstall(params)
29
- raise 'This is not a valid plugin uninstall request.' if !ff.valid_uninstall_request?(params)
30
- api_key = $Redis.get("installed:#{ff.params[:addon_type]}-#{ff.params[:addon_id]}:#{params[:organization_id]}")
31
-
32
- if api_key.present? and api_key != params[:api_key]
33
- is_valid_key = Fanforce::API.new.get("/api_auths/is_valid_key/#{params[:api_key]}", organization_id: params[:organization_id], plugin_id: params[:plugin_id])[:result]
34
- raise 'API keys must match before an addon can be uninstalled.' if !is_valid_key
35
- end
36
-
37
- $Redis.del("installed:#{ff.params[:addon_type]}-#{ff.params[:addon_id]}:#{params[:organization_id]}")
38
- json status: 'finished-processing'
39
- end
40
- any '/uninstall' do route_uninstall(params) end
41
-
42
- # PING-PONG ####################################################################
43
- def route_ping_pong(params)
44
- json success: true
45
- end
46
- get '/ping-pong' do route_ping_pong(params) end
47
-
48
- end
@@ -1,34 +0,0 @@
1
- class FanforcePlugin::Sinatra
2
-
3
- # ADD INITIATIVE UI ############################################################
4
- def route_add_initiative(params)
5
- page :add_initiative, :layout => :add_edit_initiative
6
- end
7
- get '/add_initiative.html' do route_add_initiative(params) end
8
-
9
- # ADD PENDING INITIATIVE UI ############################################################
10
- def route_convert_pending_initiative(params)
11
- page :convert_pending_initiative, :layout => :convert_pending_initiative
12
- end
13
- get '/convert_pending_initiative.html' do route_convert_pending_initiative(params) end
14
-
15
- # EDIT INITIATIVE UI ###########################################################
16
- def route_edit_initiative(params)
17
- page :edit_initiative, :layout => :add_edit_initiative
18
- end
19
- get '/edit_initiative.html' do route_edit_initiative(params) end
20
-
21
- # WIDGET TMPLS #################################################################
22
- def route_widget_tmpls(params)
23
- content_type 'application/javascript'
24
- page :widget_tmpls
25
- end
26
- get '/widget_tmpls' do route_widget_tmpls(params) end
27
-
28
- # ENGAGE #######################################################################
29
- def route_engage(params)
30
- page :engage, :layout => :engage
31
- end
32
- get '/:organization_slug/:initiative_slug/engage.html' do route_engage(params) end
33
-
34
- end
@@ -1,9 +0,0 @@
1
- class FanforcePlugin::Sinatra
2
-
3
- # NEW MESSAGE ##################################################################
4
- def route_new_message(params)
5
- page :new_message, :layout => :new_message
6
- end
7
- get '/new_message.html' do route_new_message(params) end
8
-
9
- end
@@ -1,21 +0,0 @@
1
- class FanforcePlugin::Sinatra
2
-
3
- # ADD SOURCE ##################################################################
4
- def route_add_source(params)
5
- page :add_source, :layout => :add_source
6
- end
7
- get '/add_source.html' do route_add_source(params) end
8
-
9
- # CLOSE POPUP #################################################################
10
- def route_close_popup(params)
11
- page :close_popup
12
- end
13
- get '/close_popup.html' do route_close_popup(params) end
14
-
15
- # SOURCE DETAILS ##############################################################
16
- def route_source_details(params)
17
- page :source_details, :layout => :source_details
18
- end
19
- get '/source_details.html' do route_source_details(params) end
20
-
21
- end
@@ -1,3 +0,0 @@
1
- class FanforcePlugin::Sinatra
2
- require_relative 'routes_behavior'
3
- end