fanforce-plugin-factory 2.0.0.rc8 → 2.0.0.rc9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3b064a79cff700b98ef2368c397347d9607ff0fc
4
- data.tar.gz: 6fd8016e58e474c025f881db81dab0437053d533
3
+ metadata.gz: 8e212a1da66f382e5fb89e0feb285414bd858bff
4
+ data.tar.gz: 4485a106e8fe69b1f4f5556ef53f780ceea3e2e8
5
5
  SHA512:
6
- metadata.gz: a7a4e4952a8056bebdc8caa2c16dbe4b8076fc15b7f583131a224c3ab49347ce705a50d72100d1b9fcccec9aa96d9a1daae7bc5f04e030973affb83aead0d10a
7
- data.tar.gz: 35a33f079c42dd4ff817c38ff14f5c2abe28df927e0a819e800afbdd3074564a0b244dea1e1ce816631adbf48c041e6d73d770c80776f22607334a3629bd7338
6
+ metadata.gz: 4246057f32d34e3a6a386a312967a2454a96a3be98b9104466456abc86c3fbe906cb4b9c9db4a166f4116475eadc168f57af8f552be3e9a971fdd3ed72f27b95
7
+ data.tar.gz: 9ff0cd6d538b30dc7df4cc5c53d0e07726a26813056880df469ad832ca09499f22a2632696b780f7e747fea33f32d764118837bbe990705b50c8f2832826a8be
@@ -22,7 +22,8 @@ class Fanforce::Plugin::Sinatra
22
22
  new_config = MultiJson.load(params[:config], symbolize_keys: true)
23
23
  raise 'IUIDs do not match' if old_config[:_iuid] and old_config[:_iuid] != new_config[:_iuid]
24
24
 
25
- File.open(filename, 'w') {|f| f.write(JSON.pretty_generate(Hash[new_config.sort]) + $RS) }
25
+ raw_json = JSON.pretty_generate(Hash[new_config.sort]) + $/
26
+ File.open(filename, 'w') {|f| f.write(raw_json) }
26
27
  json status: 'finished'
27
28
  end
28
29
 
@@ -219,9 +219,9 @@ var CrossDresser;
219
219
  return this.element = this.element || $('iframe#' + this._id);
220
220
  };
221
221
  ChildFrame.prototype.loadContent = function () {
222
- if (this.instance.content_prms) {
222
+ if (this.instance.content_request) {
223
223
  var frame = this;
224
- this.instance.content_prms.then(function (html) {
224
+ this.instance.content_request.then(function (html) {
225
225
  frame.getElement()[0].contentWindow.CrossDresser.injectIntoPage(html);
226
226
  });
227
227
  }
@@ -243,7 +243,7 @@ var CrossDresser;
243
243
  var is_native = false;
244
244
  if (settings.use_native_base) {
245
245
  var goto_url = ((url.indexOf('?') > -1) ? url + '&' : url + '?') + $.param(attrs);
246
- var content_prms = $.ajax({
246
+ var content_request = $.ajax({
247
247
  url: goto_url,
248
248
  dataType: 'jsonp',
249
249
  jsonp: 'callback'
@@ -254,7 +254,7 @@ var CrossDresser;
254
254
  }
255
255
  attrs.crss_drssr = _id + '::' + encodeURIComponent(CrossDresser.current.getConduitUrl());
256
256
  if (goto_url) {
257
- attrs.crss_drssr += '::' + encodeURIComponent(goto_url);
257
+ attrs.crss_drssr += '::' + encodeURIComponent(btoa(goto_url));
258
258
  }
259
259
  url = (url.indexOf('?') > -1) ? url + '&' : url + '?';
260
260
  url += $.param(attrs);
@@ -264,7 +264,7 @@ var CrossDresser;
264
264
  height: height,
265
265
  url: url,
266
266
  is_native: is_native,
267
- content_prms: content_prms
267
+ content_request: content_request
268
268
  };
269
269
  return new ChildFrame(_id);
270
270
  };
@@ -559,17 +559,17 @@ var CrossDresser;
559
559
  this.raw_uri = CrossDresser.Utils.parseUrl(this.raw_url);
560
560
  this.raw_params = CrossDresser.Utils.parseQueryString(this.raw_uri.query_string);
561
561
  try {
562
- if (window.opener || (window.top && window.top.opener)) {
563
- this.environment = 'popup';
564
- this.parent = window.opener || window.top.opener;
565
- this.is_popup = true;
566
- }
567
- else if (window.top && window.top != window.self && document.referrer != this.raw_url.replace(document.location.hash, '')) {
562
+ if (window.top && window.top != window.self && document.referrer != this.raw_url.replace(document.location.hash, '')) {
568
563
  this.environment = 'frame';
569
564
  this.parent = window.top;
570
565
  this.is_frame = true;
571
566
  this.is_native = this.isNativeFrame();
572
567
  }
568
+ else if (window.opener || (window.top && window.top.opener)) {
569
+ this.environment = 'popup';
570
+ this.parent = window.opener || window.top.opener;
571
+ this.is_popup = true;
572
+ }
573
573
  else {
574
574
  this.environment = 'toplevel';
575
575
  this.parent = null;
@@ -587,8 +587,8 @@ var CrossDresser;
587
587
  }
588
588
  Current.prototype.isNativeFrame = function () {
589
589
  try {
590
- var parent_host = CrossDresser.Utils.parseUrl(window.top.location.href).host;
591
590
  var current_host = this.raw_uri.host;
591
+ var parent_host = CrossDresser.Utils.parseUrl(window.top.location.href).host;
592
592
  return (parent_host == current_host) ? true : false;
593
593
  }
594
594
  catch (err) {
@@ -607,7 +607,7 @@ var CrossDresser;
607
607
  this._id = array[0];
608
608
  this.parent_conduit_url = decodeURIComponent(array[1]);
609
609
  if (array[2]) {
610
- this.url_to_load = decodeURIComponent(array[2]);
610
+ this.url_to_load = atob(decodeURIComponent(array[2]));
611
611
  }
612
612
  if (this.url_to_load && !this.is_native) {
613
613
  var url = this.url_to_load;
@@ -1,4 +1,3 @@
1
- require 'bitbucket_rest_api'
2
1
  require 'rest_client'
3
2
  require 'open3'
4
3
 
@@ -7,6 +6,8 @@ class Fanforce::PluginFactory::CLI::Bitbucket
7
6
 
8
7
  attr_reader :plugin
9
8
 
9
+ require_gem 'bitbucket_rest_api', 'bitbucket_rest_api'
10
+
10
11
  def initialize(plugin)
11
12
  @plugin = plugin
12
13
  end
@@ -34,6 +34,7 @@ class Fanforce::PluginFactory::CLI::Iron
34
34
  code_name = filename.gsub('.worker', '')
35
35
 
36
36
  puts "#{'Uploading'.format(:green,:bold)} #{filename.gsub('.worker', '')} to #{environment.to_s.titleize}..."
37
+
37
38
  code = IronWorkerNG::Code::Base.new(:workerfile => "#{plugin.dir}/workers/#{filename}")
38
39
  code.gem('fanforce-plugin-factory', factory_version)
39
40
  code.remote
@@ -1,3 +1,5 @@
1
+ require_relative '../lib/heroku'
2
+
1
3
  class Fanforce::PluginFactory::CLI::Scripts
2
4
  include Fanforce::PluginFactory::CLI::Utils
3
5
 
@@ -49,7 +49,7 @@ class Fanforce::Plugin::CoreConfig
49
49
 
50
50
  def validate_config_json(config_json)
51
51
  config_json.is_a?(Hash) || (raise "#{@base_dir}/config.json must contain a json object (not a #{config_json.class})")
52
- config_json[:_id].present? || (raise '#{@base_dir}/config.json must include an _id field')
52
+ config_json[:_id].present? || (raise "#{@base_dir}/config.json must include an _id field")
53
53
  return config_json
54
54
  end
55
55
 
@@ -80,7 +80,7 @@ class Fanforce::Plugin::CoreConfig
80
80
  require "#{factory_dir}/sinatra/route_helpers/com_database"
81
81
  require "#{factory_dir}/sinatra/route_helpers/com_campaign"
82
82
  require "#{factory_dir}/sinatra/route_helpers/com_identifier"
83
- require "#{factory_dir}/sinatra/route_helpers/com_js_widget"
83
+ require "#{factory_dir}/sinatra/route_helpers/com_widget"
84
84
  require "#{factory_dir}/sinatra/route_helpers/plugin"
85
85
 
86
86
  Dir["#{@base_dir}/initializers/*.rb"].each {|f| require f } if File.directory?("#{@base_dir}/initializers")
@@ -1,8 +1,8 @@
1
1
  %h2 SUCCESS!
2
- %h3
2
+ %h3(ng-if='initiative')
3
3
  Your fanforce is now tracking
4
4
  %a.initiative-name(ng-href="//#{Fanforce.client_domain}/#/initiatives/{{initiative._id}}" target='_top') {{prefix}} {{initiative.name}}
5
5
  .buttons
6
- %a.btn.btn-default(ng-href="//#{Fanforce.client_domain}/#/initiatives/{{initiative._id}}" target='_top') Open Initiative
6
+ %a.btn.btn-default(ng-if='initiative' ng-href="//#{Fanforce.client_domain}/#/initiatives/{{initiative._id}}" target='_top') Open Initiative
7
7
  %a.btn.btn-default(ng-click='reset()' ng-show='has_reset_feature') Add Another Initiative
8
8
  %a.btn.btn-default(ng-click='close()') Close Overlay
@@ -1,5 +1,4 @@
1
1
  require 'redis'
2
- require 'sass'
3
2
  require 'fileutils'
4
3
  require 'rack/jsonr'
5
4
  require 'rack/jquery-params'
@@ -43,7 +42,11 @@ class Fanforce::Plugin
43
42
  end
44
43
 
45
44
  def self.redis
46
- @@redis ||= ::Redis.new(url: @@config.redis_url)
45
+ if ENV['RACK_ENV'] == 'development'
46
+ Thread.current[:plugin_factory_redis] ||= Redis.new(url: @@config.redis_url)
47
+ else
48
+ @@redis ||= Redis.new(url: @@config.redis_url)
49
+ end
47
50
  end
48
51
 
49
52
  ######################################################################################################################
@@ -6,3 +6,6 @@ fanforce-plugin-factory-1.6.0:704a6dfc8e71d43ffec0fcbe859c7c2860595a2c
6
6
  fanforce-plugin-factory-1.6.0:53e9e89632a66d4ad9ec8967ab7c0e68b5dfc2f4
7
7
  fanforce-plugin-factory-1.6.0.rc4:cfe06885954ae0e14caba0ef27af32071f6f48fe
8
8
  fanforce-plugin-factory-2.0.0.rc4:31826496dbfa9106191e449909ec535bd01318af
9
+ fanforce-plugin-factory-2.0.0.rc8:91ab029d981cb646b3ad8922cdbd6016e6ae04c6
10
+ fanforce-plugin-factory-2.0.0.rc8:ee0c9ebae4c527c27060b9fcb6ca034272fd35f6
11
+ fanforce-plugin-factory-2.0.0.rc8:8b4aaef7947b95ac823e0905c2bb25414bf06bba
@@ -3,14 +3,15 @@
3
3
  !!! 5
4
4
  %html.visitor-layout
5
5
  %head
6
- %title Fanforce
6
+ %title Engagement Page
7
7
  %meta(http-equiv='Content-Type' content='text/html; charset=iso-8859-1')
8
8
  %meta(http-equiv='Content-Language' content='en-us')
9
9
  = stylesheet '/visitor.css'
10
10
  = javascript '//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js'
11
- = javascript "//#{Fanforce.eye_domain}/#{params[:organization_slug]}-fanforce.js#{'?DEBUG=true&DYNAMIC=true' if ENV['RACK_ENV']=='development'}" do
12
- FF.option('track_browse_webpage', false)
13
- FF.option('dynamic_url', FF.browser.uri.scheme + '://' + '#{FanforcePlugin._id}.{{SHORT_DOMAIN}}/{{INITIATIVE_ID}}')
11
+ = javascript "//#{Fanforce.eye_domain}/#{params[:organization_slug]}-fanforce.js#{'?DEBUG=true&DYNAMIC=true' if ENV['RACK_ENV']=='development'}"
12
+ :javascript
13
+ FF.option('core:disable_browse_webpage', true)
14
+ FF.option('dynamic_url', FF.browser.uri.scheme + '://' + '#{Plugin._id}.{{SHORT_DOMAIN}}/{{INITIATIVE_ID}}')
14
15
  %body
15
16
  .lyt-root
16
17
  .lyt-header
@@ -1,2 +1,5 @@
1
1
  fanforce-plugin-factory-2.0.0.rc3:39092030cfc19fa4d63e6f1b6bdf4c9b5bc5cc40
2
2
  fanforce-plugin-factory-2.0.0.rc3:1b592a137f1da55422e78637439ac775047eadea
3
+ fanforce-plugin-factory-2.0.0.rc8:29cff279c95cc5bea8aa45fda35ed5bc803efe83
4
+ fanforce-plugin-factory-2.0.0.rc8:cd6a0fe4200c18ff77297e89dce6fb8af858a7b3
5
+ fanforce-plugin-factory-2.0.0.rc8:8c7e3867788bad4517347c0c9f3b6bb9b75398c7
@@ -5,18 +5,19 @@
5
5
  <script type='text/javascript'>
6
6
  window.onload = function() {
7
7
  try {
8
- if (window.opener || (window.top && window.top.opener)) {
9
- environment = 'popup'
10
- parent = window.opener || window.top.opener
11
- } else if (window.top) {
8
+ if (window.parent && window.parent.parent && window.parent != window.parent.parent) {
12
9
  environment = 'frame'
13
10
  parent = window.top
11
+ }else if (window.opener || (window.top && window.top.opener)) {
12
+ environment = 'popup'
13
+ parent = window.opener || window.top.opener
14
14
  } else {
15
- throw('not found')
15
+ throw('environment type is unknown')
16
16
  }
17
17
  parent.CrossDresser.conduit.fromIframe(environment, document.location.href)
18
18
  } catch(err) {
19
19
  console.error('CrossDresser can only be used inside an iframe or popup window: ' + err)
20
+ console.log(err)
20
21
  }
21
22
  }
22
23
  </script>
@@ -1,15 +1,15 @@
1
1
  module Fanforce::Plugin::Sinatra::AssetHelpers
2
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}' />"
3
+ def stylesheet(src)
4
+ src += '.css' unless src.include?('.css')
5
+ src = asset_path(src) unless src =~ /^https?:\// or src =~ /^\/\/.+/
6
+ "<link rel='stylesheet' href='#{src}' />"
7
7
  end
8
8
 
9
- def javascript(s)
10
- s += '.js' unless s.include?('.js')
11
- s = asset_path(s) unless s =~ /^https?:\// or s =~ /^\/\/.+/
12
- "<script type='text/javascript' src='#{s}'></script>"
9
+ def javascript(src, &block)
10
+ src += '.js' unless src.include?('.js')
11
+ src = asset_path(src) unless src =~ /^https?:\// or src =~ /^\/\/.+/
12
+ "<script type='text/javascript' src='#{src}'></script>"
13
13
  end
14
14
 
15
15
  def asset_path(source, options={})
@@ -1,5 +1,5 @@
1
1
  class Fanforce
2
2
  class PluginFactory
3
- VERSION = '2.0.0.rc8'
3
+ VERSION = '2.0.0.rc9'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fanforce-plugin-factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.rc8
4
+ version: 2.0.0.rc9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caleb Clark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-17 00:00:00.000000000 Z
11
+ date: 2015-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -522,7 +522,7 @@ files:
522
522
  - lib/fanforce/plugin_factory/sinatra/route_helpers/com_database.rb
523
523
  - lib/fanforce/plugin_factory/sinatra/route_helpers/com_identifier.rb
524
524
  - lib/fanforce/plugin_factory/sinatra/route_helpers/com_initiative.rb
525
- - lib/fanforce/plugin_factory/sinatra/route_helpers/com_js_widget.rb
525
+ - lib/fanforce/plugin_factory/sinatra/route_helpers/com_widget.rb
526
526
  - lib/fanforce/plugin_factory/sinatra/route_helpers/plugin.rb
527
527
  - lib/fanforce/plugin_factory/sprockets/compiler.rb
528
528
  - lib/fanforce/plugin_factory/sprockets/hacks.rb