flight-for-rails 1.1.2 → 1.1.3

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: 6e9f106b2d07829bdecb6ad4fd43f0162dcb8f8b
4
- data.tar.gz: 98e6e0b82bec8458e79d452d5b32da47fdb3e2d8
3
+ metadata.gz: a93dc1c47c9e3ba0bd06e30468a72b3562a7536c
4
+ data.tar.gz: 57e09d4d2a18359ae41d446eef897cbd7971c7ae
5
5
  SHA512:
6
- metadata.gz: a86ba4fad82252740774f69464016388356f4a47e57966cadcb198a519b6f756154cd2b73bb2592e5d568ebee86f7cbf365eaf090c6a7fde0aaa1cc0d6777a13
7
- data.tar.gz: 7594e7fee7b1d11a9ff05ada1b52da8b3122269d8c1f9c9069739c08a370ecfbb7ae34950cb5729356529980a1e9fe95ba1d7c009e19a4e644e6c6a2e14431a7
6
+ metadata.gz: 9f37a790cd4636b80bf1a0a4e3c3b838f2f84633216e4c3ca0ff2429b6b6e44dac5683e6bf2344aa6085345018553e29818b7a405ee077f74e9d9bee4ffa7456
7
+ data.tar.gz: aac69228d7cabb3ad6e49551f0d2a6f0745633131f9b6b9fa9b7f1a9d34094b6d6d3fe57563b08a533ed12605a5e00979b3016c1477d4e97b17a0678eb2fb245
data/Rakefile ADDED
@@ -0,0 +1,33 @@
1
+ require File.expand_path('../lib/flight-for-rails/version', __FILE__)
2
+ require 'rubygems'
3
+ require 'bundler/setup'
4
+
5
+ Bundler::GemHelper.install_tasks
6
+
7
+ namespace :flight do
8
+ desc 'Try to update standalone version of flight.js'
9
+ task :check_for_updates do
10
+ source_file = open('http://flightjs.github.io/release/latest/flight.js')
11
+
12
+ if source_file && (fl = source_file.gets)
13
+ fl.match /\A\/\*! *Flight *v([0-9]*\.[0-9]*\.[0-9]*)/
14
+ if $1 && $1 != FlightForRails::VERSION
15
+ source_file.rewind
16
+
17
+ # Updates vendor/assets/javascripts/flight/standalone.js
18
+ open(File.expand_path('../vendor/assets/javascripts/flight/standalone.js', __FILE__), 'w') do |file|
19
+ file.write source_file.read
20
+ end
21
+
22
+ # Updates lib/flight-for-rails/version.rb
23
+ open(File.expand_path('../lib/flight-for-rails/version.rb', __FILE__), 'w') do |file|
24
+ file.write "# This file is generated automatically\nmodule FlightForRails; VERSION = '#{$1}'; end"
25
+ end
26
+
27
+ puts "Hooray! Flight.js has been updated to v#{$1}!"
28
+ else
29
+ puts 'Already up-to-date.'
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,3 +1,2 @@
1
- module FlightForRails
2
- VERSION = '1.1.2'
3
- end
1
+ # This file is generated automatically
2
+ module FlightForRails; VERSION = '1.1.3'; end
@@ -1,4 +1,4 @@
1
- /*! Flight v1.1.2 | (c) Twitter, Inc. | MIT License */
1
+ /*! Flight v1.1.3 | (c) Twitter, Inc. | MIT License */
2
2
  (function(context) {
3
3
  var factories = {}, loaded = {};
4
4
  var isArray = Array.isArray || function(obj) {
@@ -611,6 +611,11 @@ define('lib/registry', [], function () {
611
611
  this.findInstanceInfo = function (instance) {
612
612
  return this.allInstances[instance.identity] || null;
613
613
  };
614
+ this.getBoundEventNames = function (instance) {
615
+ return this.findInstanceInfo(instance).events.map(function (ev) {
616
+ return ev.type;
617
+ });
618
+ };
614
619
  this.findInstanceInfoByNode = function (node) {
615
620
  var result = [];
616
621
  Object.keys(this.allInstances).forEach(function (k) {
@@ -707,6 +712,11 @@ define('lib/base', [
707
712
  ].join(' '));
708
713
  }
709
714
  }
715
+ function proxyEventTo(targetEvent) {
716
+ return function (e, data) {
717
+ $(e.target).trigger(targetEvent, data);
718
+ };
719
+ }
710
720
  function withBase() {
711
721
  // delegate trigger, bind and unbind to an element
712
722
  // if $element not supplied, use component's node
@@ -751,6 +761,8 @@ define('lib/base', [
751
761
  if (typeof origin == 'object') {
752
762
  //delegate callback
753
763
  originalCb = utils.delegate(this.resolveDelegateRules(origin));
764
+ } else if (typeof origin == 'string') {
765
+ originalCb = proxyEventTo(origin);
754
766
  } else {
755
767
  originalCb = origin;
756
768
  }
@@ -788,8 +800,10 @@ define('lib/base', [
788
800
  type = arguments[0];
789
801
  }
790
802
  if (callback) {
803
+ //this callback may be the original function or a bound version
804
+ var boundFunctions = callback.target ? callback.target.bound : callback.bound || [];
791
805
  //set callback to version bound against this instance
792
- callback.bound && callback.bound.some(function (fn, i, arr) {
806
+ boundFunctions && boundFunctions.some(function (fn, i, arr) {
793
807
  if (fn.context && this.identity == fn.context.identity) {
794
808
  arr.splice(i, 1);
795
809
  callback = fn;
@@ -805,7 +819,7 @@ define('lib/base', [
805
819
  if (!(r in this.attr)) {
806
820
  throw new Error('Component "' + this.toString() + '" wants to listen on "' + r + '" but no such attribute was defined.');
807
821
  }
808
- rules[this.attr[r]] = ruleInfo[r];
822
+ rules[this.attr[r]] = typeof ruleInfo[r] == 'string' ? proxyEventTo(ruleInfo[r]) : ruleInfo[r];
809
823
  }, this);
810
824
  return rules;
811
825
  };
@@ -875,7 +889,7 @@ define('lib/logger', ['./utils'], function (utils) {
875
889
  function log(action, component, eventArgs) {
876
890
  if (!window.DEBUG || !window.DEBUG.enabled)
877
891
  return;
878
- var name, eventType, elem, fn, logFilter, toRegExp, actionLoggable, nameLoggable;
892
+ var name, eventType, elem, fn, payload, logFilter, toRegExp, actionLoggable, nameLoggable, info;
879
893
  if (typeof eventArgs[eventArgs.length - 1] == 'function') {
880
894
  fn = eventArgs.pop();
881
895
  fn = fn.unbound || fn; // use unbound version if any (better info)
@@ -883,17 +897,20 @@ define('lib/logger', ['./utils'], function (utils) {
883
897
  if (eventArgs.length == 1) {
884
898
  elem = component.$node[0];
885
899
  eventType = eventArgs[0];
886
- } else if (eventArgs.length == 2) {
887
- if (typeof eventArgs[1] == 'object' && !eventArgs[1].type) {
888
- elem = component.$node[0];
889
- eventType = eventArgs[0];
890
- } else {
891
- elem = eventArgs[0];
892
- eventType = eventArgs[1];
900
+ } else if (eventArgs.length == 2 && typeof eventArgs[1] == 'object' && !eventArgs[1].type) {
901
+ //2 args, first arg is not elem
902
+ elem = component.$node[0];
903
+ eventType = eventArgs[0];
904
+ if (action == 'trigger') {
905
+ payload = eventArgs[1];
893
906
  }
894
907
  } else {
908
+ //2+ args, first arg is elem
895
909
  elem = eventArgs[0];
896
910
  eventType = eventArgs[1];
911
+ if (action == 'trigger') {
912
+ payload = eventArgs[2];
913
+ }
897
914
  }
898
915
  name = typeof eventType == 'object' ? eventType.type : eventType;
899
916
  logFilter = DEBUG.events.logFilter;
@@ -907,7 +924,15 @@ define('lib/logger', ['./utils'], function (utils) {
907
924
  return toRegExp(e).test(name);
908
925
  });
909
926
  if (actionLoggable && nameLoggable) {
910
- console.info(actionSymbols[action], action, '[' + name + ']', elemToString(elem), component.constructor.describe.split(' ').slice(0, 3).join(' '));
927
+ info = [
928
+ actionSymbols[action],
929
+ action,
930
+ '[' + name + ']'
931
+ ];
932
+ payload && info.push(payload);
933
+ info.push(elemToString(elem));
934
+ info.push(component.constructor.describe.split(' ').slice(0, 3).join(' '));
935
+ console.info.apply(console, info);
911
936
  }
912
937
  }
913
938
  function withLogging() {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flight-for-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Rezvanov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-10 00:00:00.000000000 Z
11
+ date: 2014-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -48,6 +48,7 @@ files:
48
48
  - .gitignore
49
49
  - LICENSE
50
50
  - README.md
51
+ - Rakefile
51
52
  - flight-for-rails.gemspec
52
53
  - lib/flight-for-rails.rb
53
54
  - lib/flight-for-rails/engine.rb