fanforce-app-factory 1.7.1 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -1
  3. data/.yardopts +5 -0
  4. data/.yardopts.rb +1 -0
  5. data/Gemfile +10 -1
  6. data/README.md +12 -12
  7. data/Rakefile +8 -3
  8. data/apps.json +787 -0
  9. data/fanforce-app-factory.gemspec +4 -5
  10. data/lib/fanforce/app_factory.rb +15 -52
  11. data/lib/fanforce/app_factory/Rakefile +59 -0
  12. data/lib/fanforce/app_factory/app.rb +50 -0
  13. data/lib/fanforce/app_factory/asset_framework/app_factory/_bootstrap.scss +2 -0
  14. data/lib/fanforce/app_factory/asset_framework/app_factory/_common.scss +1 -0
  15. data/lib/fanforce/app_factory/asset_framework/app_factory/_directives.scss +7 -0
  16. data/lib/fanforce/app_factory/asset_framework/app_factory/_font-awesome.scss +1 -0
  17. data/lib/fanforce/app_factory/asset_framework/app_factory/_ui-select.scss +3 -0
  18. data/lib/fanforce/app_factory/{assets/lib/common → asset_framework/app_factory/bootstrap}/_bootstrap-overrides.scss +2 -0
  19. data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/css → asset_framework/app_factory/bootstrap}/bootstrap.css +2 -2
  20. data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/js → asset_framework/app_factory/bootstrap}/bootstrap.js +0 -0
  21. data/lib/fanforce/app_factory/asset_framework/app_factory/bootstrap/bootstrap.min.css +7 -0
  22. data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/js → asset_framework/app_factory/bootstrap}/bootstrap.min.js +0 -0
  23. data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.eot +0 -0
  24. data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.svg +0 -0
  25. data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.ttf +0 -0
  26. data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.woff +0 -0
  27. data/lib/fanforce/app_factory/{assets/lib → asset_framework/app_factory}/common/_mixins.scss +0 -0
  28. data/lib/fanforce/app_factory/asset_framework/app_factory/directives.coffee +1 -0
  29. data/lib/fanforce/app_factory/asset_framework/app_factory/directives/error/_error.scss +6 -0
  30. data/lib/fanforce/app_factory/{assets/lib/common/module-error → asset_framework/app_factory/directives/error}/arrow-left.png +0 -0
  31. data/lib/fanforce/app_factory/{assets/lib/common/module-error → asset_framework/app_factory/directives/error}/icon-error.png +0 -0
  32. data/lib/fanforce/app_factory/asset_framework/app_factory/directives/initiative-footer/_initiative-footer.coffee +16 -0
  33. data/lib/fanforce/app_factory/{assets/lib/common/_module-add-initiative-footer.scss → asset_framework/app_factory/directives/initiative-footer/_initiative-footer.scss} +4 -1
  34. data/lib/fanforce/app_factory/{assets/lib/common/_module-initiative-searcher.scss → asset_framework/app_factory/directives/initiative-searcher/_initiative-searcher.scss} +6 -6
  35. data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/icon-search.png +0 -0
  36. data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/spinner.gif +0 -0
  37. data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/sprite-arrows.png +0 -0
  38. data/lib/fanforce/app_factory/asset_framework/app_factory/directives/loading/_loading.coffee +4 -0
  39. data/lib/fanforce/app_factory/asset_framework/app_factory/directives/loading/_loading.scss +4 -0
  40. data/lib/fanforce/app_factory/{assets/js/add_source_popup.js → asset_framework/app_factory/directives/saving-to-server/_saving-to-server.coffee} +0 -0
  41. data/lib/fanforce/app_factory/asset_framework/app_factory/directives/saving-to-server/_saving-to-server.scss +6 -0
  42. data/lib/fanforce/app_factory/{assets/lib/common/module-saving-initiative → asset_framework/app_factory/directives/saving-to-server}/spinner.gif +0 -0
  43. data/lib/fanforce/app_factory/asset_framework/app_factory/directives/start-arrow/_start-arrow.coffee +8 -0
  44. data/lib/fanforce/app_factory/{assets/lib/common/_module-start-here.scss → asset_framework/app_factory/directives/start-arrow/_start-arrow.scss} +5 -4
  45. data/lib/fanforce/app_factory/{assets/lib/common/module-start-here → asset_framework/app_factory/directives/start-arrow}/arrow.png +0 -0
  46. data/lib/fanforce/app_factory/{assets/lib/common/_module-video-thumbnail.scss → asset_framework/app_factory/directives/video-thumbnail/_video-thumbnail.scss} +3 -3
  47. data/lib/fanforce/app_factory/{assets/lib/common/module-video-thumbnail → asset_framework/app_factory/directives/video-thumbnail}/icon-play.png +0 -0
  48. data/lib/fanforce/app_factory/asset_framework/app_factory/font-awesome.coffee +1 -0
  49. data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/FontAwesome.otf +0 -0
  50. data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/css → asset_framework/app_factory/font-awesome}/font-awesome.css +2 -2
  51. data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/css → asset_framework/app_factory/font-awesome}/font-awesome.min.css +0 -0
  52. data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.eot +0 -0
  53. data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.svg +0 -0
  54. data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.ttf +0 -0
  55. data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.woff +0 -0
  56. data/lib/fanforce/app_factory/asset_framework/app_factory/lib.coffee +1 -0
  57. data/lib/fanforce/app_factory/asset_framework/app_factory/lib/cookie.coffee +16 -0
  58. data/lib/fanforce/app_factory/asset_framework/app_factory/lib/ng-focus-blur.js +68 -0
  59. data/lib/fanforce/app_factory/asset_framework/app_factory/lib/ng-visible.js +7 -0
  60. data/lib/fanforce/app_factory/asset_framework/app_factory/lib/url.coffee +20 -0
  61. data/lib/fanforce/app_factory/asset_framework/app_factory/lib/utils.coffee +11 -0
  62. data/lib/fanforce/app_factory/asset_framework/app_factory/scafolding/_promotional.scss +1 -0
  63. data/lib/fanforce/app_factory/asset_framework/app_factory/scafolding/_standard.scss +1 -0
  64. data/lib/fanforce/app_factory/{assets/js/fanforce-engager.js → asset_framework/app_factory/scafolding/promotional.coffee} +0 -0
  65. data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select.coffee +1 -0
  66. data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select.css +171 -0
  67. data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select.js +1281 -0
  68. data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select_override.scss +1 -0
  69. data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/selectize.default.css +443 -0
  70. data/lib/fanforce/app_factory/cli/_cleanorgs.rb +54 -0
  71. data/lib/fanforce/app_factory/controllers/base_controller.rb +5 -1
  72. data/lib/fanforce/app_factory/core_config.rb +95 -0
  73. data/lib/fanforce/app_factory/scafolding/Routes.rb +64 -0
  74. data/lib/fanforce/app_factory/{layouts → scafolding/layouts}/engage.haml +0 -0
  75. data/lib/fanforce/app_factory/{public → scafolding/public}/favicon.ico +0 -0
  76. data/lib/fanforce/app_factory/{public → scafolding/public}/robots.txt +0 -0
  77. data/lib/fanforce/app_factory/{assets/lib/common/layouts/_promotional.scss → scafolding/scafolding_assets/css/promotional.scss} +4 -9
  78. data/lib/fanforce/app_factory/scafolding/scafolding_assets/css/standard.scss +10 -0
  79. data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-16.png +0 -0
  80. data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-32.png +0 -0
  81. data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-42.png +0 -0
  82. data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/marketplace.png +0 -0
  83. data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/marketplace.psd +0 -0
  84. data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/fanforce_bg.png +0 -0
  85. data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/icon-42.png +0 -0
  86. data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/icon-plus.png +0 -0
  87. data/lib/fanforce/app_factory/{views → scafolding/views}/add_initiative.haml +0 -0
  88. data/lib/fanforce/app_factory/{views → scafolding/views}/add_source.haml +0 -0
  89. data/lib/fanforce/app_factory/{views → scafolding/views}/close_popup.haml +0 -0
  90. data/lib/fanforce/app_factory/{views → scafolding/views}/config.haml +0 -0
  91. data/lib/fanforce/app_factory/{views → scafolding/views}/convert_initiative.haml +0 -0
  92. data/lib/fanforce/app_factory/{views → scafolding/views}/dashboard.haml +1 -1
  93. data/lib/fanforce/app_factory/{views → scafolding/views}/edit_initiative.haml +0 -0
  94. data/lib/fanforce/app_factory/{views → scafolding/views}/engage.haml +0 -0
  95. data/lib/fanforce/app_factory/{views → scafolding/views}/index.haml +1 -1
  96. data/lib/fanforce/app_factory/{views → scafolding/views}/new_message.haml +0 -0
  97. data/lib/fanforce/app_factory/{views → scafolding/views}/source_details.haml +0 -0
  98. data/lib/fanforce/app_factory/{views → scafolding/views}/widget_templates.haml +0 -0
  99. data/lib/fanforce/app_factory/sinatra/Routes.rb +17 -0
  100. data/lib/fanforce/app_factory/sinatra/_load.rb +76 -0
  101. data/lib/fanforce/app_factory/sinatra/error_handling.rb +47 -0
  102. data/lib/fanforce/app_factory/{routes_core.rb → sinatra/helper_routes/app.rb} +8 -8
  103. data/lib/fanforce/app_factory/sinatra/helper_routes/com_behavior.rb +23 -0
  104. data/lib/fanforce/app_factory/sinatra/helper_routes/com_broadcaster.rb +7 -0
  105. data/lib/fanforce/app_factory/sinatra/helper_routes/com_connector.rb +11 -0
  106. data/lib/fanforce/app_factory/sinatra/helper_routes/com_identifier.rb +3 -0
  107. data/lib/fanforce/app_factory/{routes_js_widget.rb → sinatra/helper_routes/com_js_widget.rb} +1 -1
  108. data/lib/fanforce/app_factory/{config → sinatra}/helpers/assets.rb +1 -1
  109. data/lib/fanforce/app_factory/sinatra/helpers/fanforce.rb +18 -0
  110. data/lib/fanforce/app_factory/{config → sinatra}/helpers/json.rb +1 -1
  111. data/lib/fanforce/app_factory/{config → sinatra}/helpers/ractive.rb +1 -1
  112. data/lib/fanforce/app_factory/sprockets/_all.rb +2 -0
  113. data/lib/fanforce/app_factory/sprockets/compiler.rb +2 -11
  114. data/lib/fanforce/app_factory/sprockets/hacks.rb +1 -1
  115. data/lib/fanforce/app_factory/version.rb +2 -2
  116. data/workers.json +323 -0
  117. metadata +121 -222
  118. data/.rbenv-gemsets +0 -1
  119. data/lib/fanforce/app_factory.rake +0 -56
  120. data/lib/fanforce/app_factory/_init_sinatra.rb +0 -80
  121. data/lib/fanforce/app_factory/assets/css/add_edit_initiative.scss +0 -1
  122. data/lib/fanforce/app_factory/assets/css/add_source.scss +0 -1
  123. data/lib/fanforce/app_factory/assets/css/config.scss +0 -1
  124. data/lib/fanforce/app_factory/assets/css/convert_initiative.scss +0 -1
  125. data/lib/fanforce/app_factory/assets/css/dashboard.scss +0 -24
  126. data/lib/fanforce/app_factory/assets/css/engage.scss +0 -1
  127. data/lib/fanforce/app_factory/assets/css/new_message.scss +0 -1
  128. data/lib/fanforce/app_factory/assets/css/promotional.scss +0 -1
  129. data/lib/fanforce/app_factory/assets/css/source_details.scss +0 -1
  130. data/lib/fanforce/app_factory/assets/js/add_edit_initiative.js +0 -1
  131. data/lib/fanforce/app_factory/assets/js/add_source.js +0 -1
  132. data/lib/fanforce/app_factory/assets/js/config.js +0 -1
  133. data/lib/fanforce/app_factory/assets/js/convert_initiative.js +0 -1
  134. data/lib/fanforce/app_factory/assets/js/dashboard.coffee +0 -18
  135. data/lib/fanforce/app_factory/assets/js/fanforce-finder.js +0 -0
  136. data/lib/fanforce/app_factory/assets/js/new_message.js +0 -1
  137. data/lib/fanforce/app_factory/assets/js/promotional.js +0 -1
  138. data/lib/fanforce/app_factory/assets/js/source_details.js +0 -0
  139. data/lib/fanforce/app_factory/assets/lib/common/_module-error.scss +0 -11
  140. data/lib/fanforce/app_factory/assets/lib/common/_module-page-loading.scss +0 -1
  141. data/lib/fanforce/app_factory/assets/lib/common/_module-saving-initiative.scss +0 -6
  142. data/lib/fanforce/app_factory/assets/lib/common/_tags.scss +0 -1
  143. data/lib/fanforce/app_factory/assets/lib/common/_variables.scss +0 -27
  144. data/lib/fanforce/app_factory/assets/lib/common/broadcaster-divider-arrow.png +0 -0
  145. data/lib/fanforce/app_factory/assets/lib/common/icons/dropdown-arrow.png +0 -0
  146. data/lib/fanforce/app_factory/assets/lib/common/icons/initiative.png +0 -0
  147. data/lib/fanforce/app_factory/assets/lib/common/layouts/_add_edit_initiative.scss +0 -27
  148. data/lib/fanforce/app_factory/assets/lib/common/layouts/_add_source.scss +0 -18
  149. data/lib/fanforce/app_factory/assets/lib/common/layouts/_config.scss +0 -27
  150. data/lib/fanforce/app_factory/assets/lib/common/layouts/_convert_initiative.scss +0 -27
  151. data/lib/fanforce/app_factory/assets/lib/common/layouts/_dashboard.scss +0 -18
  152. data/lib/fanforce/app_factory/assets/lib/common/layouts/_engage.scss +0 -80
  153. data/lib/fanforce/app_factory/assets/lib/common/layouts/_new_message.scss +0 -24
  154. data/lib/fanforce/app_factory/assets/lib/common/layouts/_source_details.scss +0 -17
  155. data/lib/fanforce/app_factory/assets/lib/common/layouts/add_edit_initiative.js +0 -6
  156. data/lib/fanforce/app_factory/assets/lib/common/layouts/add_source.js +0 -6
  157. data/lib/fanforce/app_factory/assets/lib/common/layouts/config.js +0 -6
  158. data/lib/fanforce/app_factory/assets/lib/common/layouts/convert_initiative.js +0 -6
  159. data/lib/fanforce/app_factory/assets/lib/common/layouts/dashboard.js +0 -6
  160. data/lib/fanforce/app_factory/assets/lib/common/layouts/engage.js +0 -0
  161. data/lib/fanforce/app_factory/assets/lib/common/layouts/new_message.js +0 -5
  162. data/lib/fanforce/app_factory/assets/lib/common/layouts/promotional.js +0 -1
  163. data/lib/fanforce/app_factory/assets/lib/common/layouts/source_details.js +0 -5
  164. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-datepicker/datepicker.css +0 -7
  165. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-datepicker/datepicker.js +0 -454
  166. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-timepicker/timepicker.css +0 -82
  167. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-timepicker/timepicker.js +0 -803
  168. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/css/bootstrap.min.css +0 -7
  169. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.eot +0 -0
  170. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.svg +0 -0
  171. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.ttf +0 -0
  172. data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.woff +0 -0
  173. data/lib/fanforce/app_factory/assets/lib/vendors/chosen/_chosen_override.scss +0 -6
  174. data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen-sprite.png +0 -0
  175. data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen-sprite@2x.png +0 -0
  176. data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen.jquery.js +0 -1166
  177. data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen.scss +0 -434
  178. data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery-1.10.2.js +0 -9789
  179. data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery.inputHint.js +0 -154
  180. data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery.tmpl.debug.js +0 -484
  181. data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.custom-handlers.coffee +0 -155
  182. data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.debug.js +0 -4469
  183. data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.min.js +0 -96
  184. data/lib/fanforce/app_factory/assets/lib/vendors/select2/_select2_override.scss +0 -47
  185. data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2-spinner.gif +0 -0
  186. data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2.png +0 -0
  187. data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2.scss +0 -617
  188. data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2_modified.js +0 -3225
  189. data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2x2.png +0 -0
  190. data/lib/fanforce/app_factory/assets/lib/vendors/underscore/underscore.debug.js +0 -999
  191. data/lib/fanforce/app_factory/config/_error_handling.rb +0 -27
  192. data/lib/fanforce/app_factory/config/core_config.rb +0 -104
  193. data/lib/fanforce/app_factory/config/helpers/fanforce.rb +0 -22
  194. data/lib/fanforce/app_factory/layouts/add_edit_initiative.haml +0 -18
  195. data/lib/fanforce/app_factory/layouts/add_source.haml +0 -18
  196. data/lib/fanforce/app_factory/layouts/config.haml +0 -18
  197. data/lib/fanforce/app_factory/layouts/convert_initiative.haml +0 -18
  198. data/lib/fanforce/app_factory/layouts/dashboard.haml +0 -18
  199. data/lib/fanforce/app_factory/layouts/new_message.haml +0 -18
  200. data/lib/fanforce/app_factory/layouts/promotional.haml +0 -18
  201. data/lib/fanforce/app_factory/layouts/source_details.haml +0 -18
  202. data/lib/fanforce/app_factory/routes_behavior.rb +0 -31
  203. data/lib/fanforce/app_factory/routes_broadcaster.rb +0 -7
  204. data/lib/fanforce/app_factory/routes_connector.rb +0 -11
  205. data/lib/fanforce/app_factory/routes_identifier.rb +0 -3
  206. data/lib/fanforce/app_factory_workers.rb +0 -2
@@ -0,0 +1,23 @@
1
+ class Fanforce::App::Sinatra
2
+
3
+ def route_add_initiative_ui
4
+ page :add_initiative, :layout => :standard, com_dir: params[:com_behavior_shortid]
5
+ end
6
+
7
+ def route_edit_initiative_ui
8
+ page :edit_initiative, :layout => :standard, com_dir: params[:com_behavior_shortid]
9
+ end
10
+
11
+ def route_engage_page_ui
12
+ page :engage, :layout => :standard, com_dir: params[:com_behavior_shortid]
13
+ end
14
+
15
+ def route_archive_initiative_callback
16
+ json status: 'finished'
17
+ end
18
+
19
+ def route_destroy_initiative_callback
20
+ json status: 'finished'
21
+ end
22
+
23
+ end
@@ -0,0 +1,7 @@
1
+ class Fanforce::App::Sinatra
2
+
3
+ def route_new_message_ui
4
+ page :new_message, :layout => :standard, com_dir: params[:com_behavior_shortid]
5
+ end
6
+
7
+ end
@@ -0,0 +1,11 @@
1
+ class Fanforce::App::Sinatra
2
+
3
+ def route_add_source_ui
4
+ page :add_source, :layout => :standard, com_dir: params[:com_behavior_shortid]
5
+ end
6
+
7
+ def route_source_details_ui
8
+ page :source_details, :layout => :standard, com_dir: params[:com_behavior_shortid]
9
+ end
10
+
11
+ end
@@ -0,0 +1,3 @@
1
+ class Fanforce::App::Sinatra
2
+ require_relative 'com_behavior'
3
+ end
@@ -1,4 +1,4 @@
1
- class FanforceApp::Sinatra
1
+ class Fanforce::App::Sinatra
2
2
 
3
3
  def route_widget_templates
4
4
  content_type 'application/javascript'
@@ -1,4 +1,4 @@
1
- module Sinatra::AssetHelpers
1
+ module Fanforce::App::Sinatra::AssetHelpers
2
2
 
3
3
  def stylesheet(s)
4
4
  s += '.css' unless s.include?('.css')
@@ -0,0 +1,18 @@
1
+ module Fanforce::App::Sinatra::FanforceHelpers
2
+ require 'fanforce/api'
3
+
4
+ def organization_id
5
+ @organization_id ||= params[:organization_id] || (params[:bie_metadata][:oid] if params[:bie_metadata].is_a?(Hash))
6
+ end
7
+
8
+ def ff
9
+ return @ff if @ff.present?
10
+ api_key = Fanforce::App::Sinatra::FanforceHelpers.find_api_key(organization_id) if organization_id
11
+ @ff = Fanforce::API.new(api_key)
12
+ end
13
+
14
+ def self.find_api_key(organization_id, addon_type=:app, addon_id=App._id)
15
+ App.redis.get("installed:#{addon_type}-#{addon_id}:#{organization_id}")
16
+ end
17
+
18
+ end
@@ -1,6 +1,6 @@
1
1
  require 'multi_json'
2
2
 
3
- module Sinatra::JSONHelpers
3
+ module Fanforce::App::Sinatra::JSONHelpers
4
4
  def json(*args)
5
5
  args[0] = {} if args.size == 0
6
6
  content_type (Rack.const_defined?('JSONR') and Rack::JSONR.is_jsonp_request?(request)) ? 'application/javascript' : :json
@@ -1,4 +1,4 @@
1
- module Sinatra::RactiveHelpers
1
+ module Fanforce::App::Sinatra::RactiveHelpers
2
2
 
3
3
  # Creates a string representation of a javascript object for ractive.js
4
4
  def compile_ractive_templates(options={}, &block)
@@ -0,0 +1,2 @@
1
+ require_relative 'hacks'
2
+ require_relative 'compiler'
@@ -85,18 +85,9 @@ class SprocketsCompiler
85
85
  sprockets.append_path 'assets/img'
86
86
  sprockets.append_path 'assets/js'
87
87
  sprockets.append_path 'assets/css'
88
- sprockets.append_path 'assets/lib'
89
- sprockets.append_path 'assets/_img'
90
- sprockets.append_path 'assets/_js'
91
- sprockets.append_path 'assets/_css'
92
- sprockets.append_path 'assets/_lib'
93
88
  sprockets.append_path 'assets'
94
-
95
- default_assets_dir = File.dirname(File.expand_path(__FILE__)) + '/../assets'
96
- sprockets.append_path default_assets_dir + '/img'
97
- sprockets.append_path default_assets_dir + '/js'
98
- sprockets.append_path default_assets_dir + '/css'
99
- sprockets.append_path default_assets_dir + '/lib'
89
+ sprockets.append_path Fanforce::App.config.factory_dir + '/asset_framework'
90
+ sprockets.append_path Fanforce::App.config.factory_dir + '/scafolding'
100
91
 
101
92
  if ENV['RACK_ENV'] != 'development'
102
93
  require 'yui/compressor'
@@ -23,7 +23,7 @@ module Sprockets
23
23
 
24
24
  # optimization: component.json can only be nested one level deep
25
25
  if !path_without_extensions.to_s.index('/')
26
- paths << path_without_extensions.join("component.json").to_s
26
+ paths << path_without_extensions.join('component.json').to_s
27
27
  end
28
28
 
29
29
  if pathname.basename(extensions.join).to_s != 'index'
@@ -1,5 +1,5 @@
1
1
  class Fanforce
2
- module AppFactory
3
- VERSION = '1.7.1'
2
+ class AppFactory
3
+ VERSION = '2.0.0.rc1'
4
4
  end
5
5
  end
data/workers.json ADDED
@@ -0,0 +1,323 @@
1
+ [
2
+ {
3
+ "_id": "d3cc09e5-ac07-4527-8222-23f953617070",
4
+ "_puid": "twitter",
5
+ "name": "Twitter",
6
+ "description": "Import Twitter followers, and send both both regular and direct tweets requesting engagement.",
7
+ "organization_id": "5110df09-af71-441b-aad1-05463317c768",
8
+ "config": {
9
+ "public_urls": {
10
+ "marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
11
+ "icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
12
+ "icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
13
+ "icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
14
+ },
15
+ "staffer_ui_urls": {"config": null},
16
+ "callback_urls": {
17
+ "install": "http://{{APP_DOMAIN}}/install",
18
+ "uninstall": "http://{{APP_DOMAIN}}/uninstall"
19
+ }
20
+ },
21
+ "options": null,
22
+ "environ": {
23
+ "_id": "babfd8b1-5427-4ed9-abc3-a6bbe635c1b4",
24
+ "status": "active",
25
+ "permissions": "ALL",
26
+ "type": "development",
27
+ "domain": "{{APP_ID}}.ffapp.gg",
28
+ "dns_host": "127.0.0.1"
29
+ },
30
+ "config_override": {},
31
+ "environ_workers": [
32
+ {
33
+ "app_environ_id": "babfd8b1-5427-4ed9-abc3-a6bbe635c1b4",
34
+ "organization_iron_account_id": "2799b65b-e623-4e66-833e-815d13eccce0",
35
+ "_id": "5d6ec7ef-993c-4086-9d6b-eb6399e70425",
36
+ "iron_queue_id": "{{APP_ID}}-autocreate-initiative",
37
+ "jobs_per_worker": 1,
38
+ "max_workers": 1,
39
+ "created_at": "2014-09-05T11:21:09.286-04:00",
40
+ "updated_at": "2014-09-05T11:21:09.286-04:00"
41
+ },
42
+ {
43
+ "app_environ_id": "babfd8b1-5427-4ed9-abc3-a6bbe635c1b4",
44
+ "organization_iron_account_id": "2799b65b-e623-4e66-833e-815d13eccce0",
45
+ "_id": "f95bdca3-8785-4d41-a2ca-6f2d89815a84",
46
+ "iron_queue_id": "{{APP_ID}}-follow",
47
+ "jobs_per_worker": 1,
48
+ "max_workers": 1,
49
+ "created_at": "2014-09-05T11:21:09.288-04:00",
50
+ "updated_at": "2014-09-05T11:21:09.288-04:00"
51
+ },
52
+ {
53
+ "app_environ_id": "babfd8b1-5427-4ed9-abc3-a6bbe635c1b4",
54
+ "organization_iron_account_id": "2799b65b-e623-4e66-833e-815d13eccce0",
55
+ "_id": "5343ea10-3bfb-425e-9d1d-95356522e1ec",
56
+ "iron_queue_id": "{{APP_ID}}-retweet",
57
+ "jobs_per_worker": 1,
58
+ "max_workers": 1,
59
+ "created_at": "2014-09-05T11:21:09.290-04:00",
60
+ "updated_at": "2014-09-05T11:21:09.290-04:00"
61
+ },
62
+ {
63
+ "app_environ_id": "babfd8b1-5427-4ed9-abc3-a6bbe635c1b4",
64
+ "organization_iron_account_id": "2799b65b-e623-4e66-833e-815d13eccce0",
65
+ "_id": "1642c83a-c083-413d-9a62-b321336b65ab",
66
+ "iron_queue_id": "{{APP_ID}}-tweet",
67
+ "jobs_per_worker": 1,
68
+ "max_workers": 1,
69
+ "created_at": "2014-09-05T11:21:09.291-04:00",
70
+ "updated_at": "2014-09-05T11:21:09.291-04:00"
71
+ },
72
+ {
73
+ "app_environ_id": "babfd8b1-5427-4ed9-abc3-a6bbe635c1b4",
74
+ "organization_iron_account_id": "2799b65b-e623-4e66-833e-815d13eccce0",
75
+ "_id": "35722659-4c63-466d-b3bf-532d438893dc",
76
+ "iron_queue_id": "{{APP_ID}}-sync-followers",
77
+ "jobs_per_worker": 1,
78
+ "max_workers": 1,
79
+ "created_at": "2014-09-05T11:21:09.292-04:00",
80
+ "updated_at": "2014-09-05T11:21:09.292-04:00"
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "_id": "cd95dc1e-d7e6-4bc7-a51b-449f5b617070",
86
+ "_puid": "crowdfunder",
87
+ "name": "Crowdfunder",
88
+ "description": "Donation app designed for crowd funding campaigns.",
89
+ "organization_id": "5110df09-af71-441b-aad1-05463317c768",
90
+ "config": {
91
+ "public_urls": {
92
+ "marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
93
+ "icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
94
+ "icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
95
+ "icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
96
+ },
97
+ "staffer_ui_urls": {"config": null},
98
+ "callback_urls": {
99
+ "install": "http://{{APP_DOMAIN}}/install",
100
+ "uninstall": "http://{{APP_DOMAIN}}/uninstall"
101
+ }
102
+ },
103
+ "options": null,
104
+ "environ": {
105
+ "_id": "70ea2412-0044-450e-bc79-f1364b61ad0a",
106
+ "status": "active",
107
+ "permissions": "ALL",
108
+ "type": "development",
109
+ "domain": "{{APP_ID}}.ffapp.gg",
110
+ "dns_host": "127.0.0.1"
111
+ },
112
+ "config_override": {},
113
+ "environ_workers": []
114
+ },
115
+ {
116
+ "_id": "06cf0e84-9ea0-45c7-9d3b-ff3897617070",
117
+ "_puid": "social-currency",
118
+ "name": "Social Currency",
119
+ "description": "Accept social currency (tweet to twitter, post to facebook, etc) as an alternative to U.S. currency.",
120
+ "organization_id": "5110df09-af71-441b-aad1-05463317c768",
121
+ "config": {
122
+ "public_urls": {
123
+ "marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
124
+ "icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
125
+ "icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
126
+ "icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
127
+ },
128
+ "staffer_ui_urls": {"config": "http://{{APP_DOMAIN}}/config.html"},
129
+ "callback_urls": {
130
+ "install": "http://{{APP_DOMAIN}}/install",
131
+ "uninstall": "http://{{APP_DOMAIN}}/uninstall"
132
+ }
133
+ },
134
+ "options": "{\"has_config_page\":true}",
135
+ "environ": {
136
+ "_id": "a92295cc-57c1-467c-9b93-60f0e3215960",
137
+ "status": "active",
138
+ "permissions": "ALL",
139
+ "type": "development",
140
+ "domain": "{{APP_ID}}.ffapp.gg",
141
+ "dns_host": "127.0.0.1"
142
+ },
143
+ "config_override": {},
144
+ "environ_workers": [
145
+ {
146
+ "app_environ_id": "a92295cc-57c1-467c-9b93-60f0e3215960",
147
+ "organization_iron_account_id": "2799b65b-e623-4e66-833e-815d13eccce0",
148
+ "_id": "584a8110-cb20-4a14-9ffa-524276b98897",
149
+ "iron_queue_id": "{{APP_ID}}-identify",
150
+ "jobs_per_worker": 1,
151
+ "max_workers": 1,
152
+ "created_at": "2014-10-26T14:27:00.743-04:00",
153
+ "updated_at": "2014-10-26T14:27:00.743-04:00"
154
+ }
155
+ ]
156
+ },
157
+ {
158
+ "_id": "2f82b8fe-6a47-493a-bae2-be693a617070",
159
+ "_puid": "mailchimp",
160
+ "name": "MailChimp",
161
+ "description": "Sync your MailChimp lists, send requests through your campaigns, and track everything subscribers are doing.",
162
+ "organization_id": "5110df09-af71-441b-aad1-05463317c768",
163
+ "config": {
164
+ "public_urls": {
165
+ "marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
166
+ "icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
167
+ "icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
168
+ "icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
169
+ },
170
+ "staffer_ui_urls": {"config": null},
171
+ "callback_urls": {
172
+ "install": "http://{{APP_DOMAIN}}/install",
173
+ "uninstall": "http://{{APP_DOMAIN}}/uninstall"
174
+ }
175
+ },
176
+ "options": null,
177
+ "environ": {
178
+ "_id": "444fcc55-8026-45aa-83f8-195f6a0817e4",
179
+ "status": "active",
180
+ "permissions": "ALL",
181
+ "type": "development",
182
+ "domain": "{{APP_ID}}.ffapp.gg",
183
+ "dns_host": "127.0.0.1"
184
+ },
185
+ "config_override": {},
186
+ "environ_workers": [
187
+ {
188
+ "app_environ_id": "444fcc55-8026-45aa-83f8-195f6a0817e4",
189
+ "organization_iron_account_id": "2799b65b-e623-4e66-833e-815d13eccce0",
190
+ "_id": "a8b61f1d-d0f9-4d77-b2a9-3c9328947b19",
191
+ "iron_queue_id": "{{APP_ID}}-sync",
192
+ "jobs_per_worker": 1,
193
+ "max_workers": 1,
194
+ "created_at": "2014-09-04T06:49:49.320-04:00",
195
+ "updated_at": "2014-09-04T06:49:49.320-04:00"
196
+ }
197
+ ]
198
+ },
199
+ {
200
+ "_id": "d4e65b16-67cf-4237-a2da-fcd93b617070",
201
+ "_puid": "simple-auth",
202
+ "name": "Simple Auth",
203
+ "description": "Simple login/logout functionality for a website.",
204
+ "organization_id": "5110df09-af71-441b-aad1-05463317c768",
205
+ "config": {
206
+ "public_urls": {
207
+ "marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
208
+ "icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
209
+ "icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
210
+ "icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
211
+ },
212
+ "staffer_ui_urls": {"config": null},
213
+ "callback_urls": {
214
+ "install": "http://{{APP_DOMAIN}}/install",
215
+ "uninstall": "http://{{APP_DOMAIN}}/uninstall"
216
+ }
217
+ },
218
+ "options": null,
219
+ "environ": {
220
+ "_id": "ca5a4471-0d53-4666-91e7-a34d43e371c7",
221
+ "status": "active",
222
+ "permissions": "ALL",
223
+ "type": "development",
224
+ "domain": "{{APP_ID}}.ffapp.gg",
225
+ "dns_host": "127.0.0.1"
226
+ },
227
+ "config_override": {},
228
+ "environ_workers": []
229
+ },
230
+ {
231
+ "_id": "de6f3789-3187-4601-b0c5-83a92f617070",
232
+ "_puid": "vimeo",
233
+ "name": "Vimeo",
234
+ "description": "Get your fans to watch your Vimeo videos and track their progress.",
235
+ "organization_id": "5110df09-af71-441b-aad1-05463317c768",
236
+ "config": {
237
+ "public_urls": {
238
+ "marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
239
+ "icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
240
+ "icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
241
+ "icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
242
+ },
243
+ "staffer_ui_urls": {"config": null},
244
+ "callback_urls": {
245
+ "install": "http://{{APP_DOMAIN}}/install",
246
+ "uninstall": "http://{{APP_DOMAIN}}/uninstall"
247
+ }
248
+ },
249
+ "options": null,
250
+ "environ": {
251
+ "_id": "a0940b4e-956a-42ee-9358-12fa92b6db15",
252
+ "status": "active",
253
+ "permissions": "ALL",
254
+ "type": "development",
255
+ "domain": "{{APP_ID}}.ffapp.gg",
256
+ "dns_host": "127.0.0.1"
257
+ },
258
+ "config_override": {},
259
+ "environ_workers": []
260
+ },
261
+ {
262
+ "_id": "d470c10b-d4e3-42ba-8267-b327b9617070",
263
+ "_puid": "personal-emailer",
264
+ "name": "Personal Emailer",
265
+ "description": "Send personal Action Request emails to anyone in your Fanforce who has an email address.",
266
+ "organization_id": "5110df09-af71-441b-aad1-05463317c768",
267
+ "config": {
268
+ "public_urls": {
269
+ "marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
270
+ "icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
271
+ "icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
272
+ "icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
273
+ },
274
+ "staffer_ui_urls": {"config": null},
275
+ "callback_urls": {
276
+ "install": "http://{{APP_DOMAIN}}/install",
277
+ "uninstall": "http://{{APP_DOMAIN}}/uninstall"
278
+ }
279
+ },
280
+ "options": null,
281
+ "environ": {
282
+ "_id": "c66b193c-c372-4da3-a775-014e403ee05d",
283
+ "status": "active",
284
+ "permissions": "ALL",
285
+ "type": "development",
286
+ "domain": "{{APP_ID}}.ffapp.gg",
287
+ "dns_host": "127.0.0.1"
288
+ },
289
+ "config_override": {},
290
+ "environ_workers": []
291
+ },
292
+ {
293
+ "_id": "dc915204-9048-42a1-905a-3e6585617070",
294
+ "_puid": "youtube",
295
+ "name": "YouTube",
296
+ "description": "Get your fans to watch your YouTube videos and track their progress.",
297
+ "organization_id": "5110df09-af71-441b-aad1-05463317c768",
298
+ "config": {
299
+ "public_urls": {
300
+ "marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
301
+ "icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
302
+ "icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
303
+ "icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
304
+ },
305
+ "staffer_ui_urls": {"config": null},
306
+ "callback_urls": {
307
+ "install": "http://{{APP_DOMAIN}}/install",
308
+ "uninstall": "http://{{APP_DOMAIN}}/uninstall"
309
+ }
310
+ },
311
+ "options": null,
312
+ "environ": {
313
+ "_id": "bd3b6b1b-6649-4d29-9f6c-ab9a9f8f8631",
314
+ "status": "active",
315
+ "permissions": "ALL",
316
+ "type": "development",
317
+ "domain": "{{APP_ID}}.ffapp.gg",
318
+ "dns_host": "127.0.0.1"
319
+ },
320
+ "config_override": {},
321
+ "environ_workers": []
322
+ }
323
+ ]