pusher_rails 0.2.5 → 0.3.0
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 +7 -0
- data/.gitignore +0 -1
- data/CHANGELOG.md +0 -13
- data/README.md +3 -3
- data/pusher_rails.gemspec +2 -2
- data/vendor/assets/javascripts/pusher.js +130 -88
- metadata +9 -13
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: 3cabf21e41ef487b94bf5fbb948228d57ad343b9
         | 
| 4 | 
            +
              data.tar.gz: 01a24e6d002d6d2a22882f9e63bb73c51bccda79
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: 1020d025a5b2491b67595a4cc7646789984b48c9e4d840da8be9803db4b51c3920c9e3e5ffc2630e1726f3aae241cee5e7e27477254da73f1bd3b7aad2d1e9ea
         | 
| 7 | 
            +
              data.tar.gz: 9884af8e5537f39f2fdecaaf5c71a69035ccd24cfc2efe1c49eac11fa01a78638c3f442d9cc124b7838e33a7d9cee24971fa6b9e59bb988d325f508c89142674
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -2,8 +2,8 @@ | |
| 2 2 | 
             
            =====================
         | 
| 3 3 |  | 
| 4 4 | 
             
            Adds:
         | 
| 5 | 
            -
            - [pusher-gem v0.9. | 
| 6 | 
            -
            - [pusher.js v1.12. | 
| 5 | 
            +
            - [pusher-gem v0.9.2](https://github.com/pusher/pusher-gem/tree/v0.9.2)
         | 
| 6 | 
            +
            - [pusher.js v1.12.0](https://github.com/pusher/pusher-js/tree/v1.12.0)
         | 
| 7 7 | 
             
            - [backpusher.js](https://github.com/pusher/backpusher)
         | 
| 8 8 |  | 
| 9 9 | 
             
            This pulls in the *pusher-gem* as well as adding *pusher.js* and *backpusher.js* to the assets pipeline of your Rails 3.1+ app.
         | 
| @@ -21,7 +21,7 @@ Licenses | |
| 21 21 | 
             
            ========
         | 
| 22 22 |  | 
| 23 23 | 
             
                /*!
         | 
| 24 | 
            -
                 * Pusher JavaScript Library v1.12. | 
| 24 | 
            +
                 * Pusher JavaScript Library v1.12.0
         | 
| 25 25 | 
             
                 * http://pusherapp.com/
         | 
| 26 26 | 
             
                 *
         | 
| 27 27 | 
             
                 * Copyright 2011, Pusher
         | 
    
        data/pusher_rails.gemspec
    CHANGED
    
    | @@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__) | |
| 3 3 |  | 
| 4 4 | 
             
            Gem::Specification.new do |s|
         | 
| 5 5 | 
             
              s.name          = 'pusher_rails'
         | 
| 6 | 
            -
              s.version       = '0. | 
| 6 | 
            +
              s.version       = '0.3.0'
         | 
| 7 7 | 
             
              s.platform      = Gem::Platform::RUBY
         | 
| 8 8 | 
             
              s.authors       = ["David Grandinetti"]
         | 
| 9 9 | 
             
              s.email         = ["dave@wegoto12.com"]
         | 
| @@ -11,7 +11,7 @@ Gem::Specification.new do |s| | |
| 11 11 | 
             
              s.description   = 'Adds pusher.js/backpusher.js to the asset pipeline and pusher-gem to to your app.'
         | 
| 12 12 | 
             
              s.homepage      = 'https://github.com/dbgrandi/pusher_rails'
         | 
| 13 13 |  | 
| 14 | 
            -
              s.add_dependency "pusher", "~> 0. | 
| 14 | 
            +
              s.add_dependency "pusher", "~> 0.11.3"
         | 
| 15 15 |  | 
| 16 16 | 
             
              s.files         = `git ls-files`.split("\n")
         | 
| 17 17 | 
             
              s.require_paths = ["lib"]
         | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            /*!
         | 
| 2 | 
            -
             * Pusher JavaScript Library v1.12. | 
| 2 | 
            +
             * Pusher JavaScript Library v1.12.7
         | 
| 3 3 | 
             
             * http://pusherapp.com/
         | 
| 4 4 | 
             
             *
         | 
| 5 5 | 
             
             * Copyright 2011, Pusher
         | 
| @@ -81,7 +81,7 @@ | |
| 81 81 | 
             
                },
         | 
| 82 82 |  | 
| 83 83 | 
             
                subscribeAll: function() {
         | 
| 84 | 
            -
                  var  | 
| 84 | 
            +
                  var channelName;
         | 
| 85 85 | 
             
                  for (channelName in this.channels.channels) {
         | 
| 86 86 | 
             
                    if (this.channels.channels.hasOwnProperty(channelName)) {
         | 
| 87 87 | 
             
                      this.subscribe(channelName);
         | 
| @@ -123,7 +123,8 @@ | |
| 123 123 | 
             
                },
         | 
| 124 124 |  | 
| 125 125 | 
             
                checkAppKey: function() {
         | 
| 126 | 
            -
                  if(this.key | 
| 126 | 
            +
                  if (!this.key) {
         | 
| 127 | 
            +
                    // do not allow undefined, null or empty string
         | 
| 127 128 | 
             
                    Pusher.warn('Warning', 'You must pass your app key when you instantiate Pusher.');
         | 
| 128 129 | 
             
                  }
         | 
| 129 130 | 
             
                }
         | 
| @@ -183,11 +184,17 @@ | |
| 183 184 | 
             
              };
         | 
| 184 185 |  | 
| 185 186 | 
             
              // Pusher defaults
         | 
| 186 | 
            -
              Pusher.VERSION = '1.12. | 
| 187 | 
            -
             | 
| 187 | 
            +
              Pusher.VERSION = '1.12.7';
         | 
| 188 | 
            +
              // WS connection parameters
         | 
| 188 189 | 
             
              Pusher.host = 'ws.pusherapp.com';
         | 
| 189 190 | 
             
              Pusher.ws_port = 80;
         | 
| 190 191 | 
             
              Pusher.wss_port = 443;
         | 
| 192 | 
            +
              // SockJS fallback parameters
         | 
| 193 | 
            +
              Pusher.sockjs_host = 'sockjs.pusher.com';
         | 
| 194 | 
            +
              Pusher.sockjs_http_port = 80
         | 
| 195 | 
            +
              Pusher.sockjs_https_port = 443
         | 
| 196 | 
            +
              Pusher.sockjs_path = "/pusher"
         | 
| 197 | 
            +
              // Other settings
         | 
| 191 198 | 
             
              Pusher.channel_auth_endpoint = '/pusher/auth';
         | 
| 192 199 | 
             
              Pusher.cdn_http = 'http://js.pusher.com/'
         | 
| 193 200 | 
             
              Pusher.cdn_https = 'https://d3dy5gmtp8yhk7.cloudfront.net/'
         | 
| @@ -430,27 +437,25 @@ Example: | |
| 430 437 | 
             
              };
         | 
| 431 438 |  | 
| 432 439 |  | 
| 433 | 
            -
               | 
| 434 | 
            -
              var  | 
| 435 | 
            -
              var UNSUCCESSFUL_OPEN_ATTEMPT_ADDITIONAL_TIMEOUT = 2000;
         | 
| 436 | 
            -
              var UNSUCCESSFUL_CONNECTED_ATTEMPT_ADDITIONAL_TIMEOUT = 2000;
         | 
| 440 | 
            +
              var OPEN_TIMEOUT_INCREMENT = 2000;
         | 
| 441 | 
            +
              var CONNECTED_TIMEOUT_INCREMENT = 2000;
         | 
| 437 442 |  | 
| 438 | 
            -
              var  | 
| 439 | 
            -
              var  | 
| 440 | 
            -
              var MAX_CONNECTED_ATTEMPT_TIMEOUT = 5 * UNSUCCESSFUL_CONNECTED_ATTEMPT_ADDITIONAL_TIMEOUT;
         | 
| 443 | 
            +
              var MAX_OPEN_TIMEOUT = 10000;
         | 
| 444 | 
            +
              var MAX_CONNECTED_TIMEOUT = 10000;
         | 
| 441 445 |  | 
| 442 446 | 
             
              function resetConnectionParameters(connection) {
         | 
| 443 447 | 
             
                connection.connectionWait = 0;
         | 
| 444 448 |  | 
| 445 | 
            -
                if (Pusher.TransportType === ' | 
| 446 | 
            -
                   | 
| 447 | 
            -
             | 
| 448 | 
            -
             | 
| 449 | 
            -
             | 
| 449 | 
            +
                if (Pusher.TransportType === 'native') {
         | 
| 450 | 
            +
                  connection.openTimeout = 4000;
         | 
| 451 | 
            +
                } else if (Pusher.TransportType === 'flash') {
         | 
| 452 | 
            +
                  connection.openTimeout = 7000;
         | 
| 453 | 
            +
                } else { // SockJS
         | 
| 454 | 
            +
                  connection.openTimeout = 6000;
         | 
| 450 455 | 
             
                }
         | 
| 451 456 | 
             
                connection.connectedTimeout = 2000;
         | 
| 452 457 | 
             
                connection.connectionSecure = connection.compulsorySecure;
         | 
| 453 | 
            -
                connection. | 
| 458 | 
            +
                connection.failedAttempts = 0;
         | 
| 454 459 | 
             
              }
         | 
| 455 460 |  | 
| 456 461 | 
             
              function Connection(key, options) {
         | 
| @@ -458,6 +463,7 @@ Example: | |
| 458 463 |  | 
| 459 464 | 
             
                Pusher.EventsDispatcher.call(this);
         | 
| 460 465 |  | 
| 466 | 
            +
                this.ping = true
         | 
| 461 467 | 
             
                this.options = Pusher.Util.extend({encrypted: false}, options);
         | 
| 462 468 |  | 
| 463 469 | 
             
                this.netInfo = new Pusher.NetInfo();
         | 
| @@ -497,22 +503,25 @@ Example: | |
| 497 503 | 
             
                  },
         | 
| 498 504 |  | 
| 499 505 | 
             
                  waitingPre: function() {
         | 
| 500 | 
            -
                    if (self. | 
| 501 | 
            -
                      self. | 
| 502 | 
            -
             | 
| 506 | 
            +
                    if (self.netInfo.isOnLine()) {
         | 
| 507 | 
            +
                      if (self.failedAttempts < 2) {
         | 
| 508 | 
            +
                        updateState('connecting');
         | 
| 509 | 
            +
                      } else {
         | 
| 510 | 
            +
                        updateState('unavailable');
         | 
| 511 | 
            +
                        // Delay 10s between connection attempts on entering unavailable
         | 
| 512 | 
            +
                        self.connectionWait = 10000;
         | 
| 513 | 
            +
                      }
         | 
| 503 514 |  | 
| 504 | 
            -
             | 
| 505 | 
            -
             | 
| 506 | 
            -
             | 
| 507 | 
            -
                      updateState('unavailable');
         | 
| 508 | 
            -
                    }
         | 
| 515 | 
            +
                      if (self.connectionWait > 0) {
         | 
| 516 | 
            +
                        self.emit('connecting_in', connectionDelay());
         | 
| 517 | 
            +
                      }
         | 
| 509 518 |  | 
| 510 | 
            -
                    // When in the unavailable state we attempt to connect, but don't
         | 
| 511 | 
            -
                    // broadcast that fact
         | 
| 512 | 
            -
                    if (self.netInfo.isOnLine()) {
         | 
| 513 519 | 
             
                      self._waitingTimer = setTimeout(function() {
         | 
| 520 | 
            +
                        // Even when unavailable we try connecting (not changing state)
         | 
| 514 521 | 
             
                        self._machine.transition('connecting');
         | 
| 515 522 | 
             
                      }, connectionDelay());
         | 
| 523 | 
            +
                    } else {
         | 
| 524 | 
            +
                      updateState('unavailable');
         | 
| 516 525 | 
             
                    }
         | 
| 517 526 | 
             
                  },
         | 
| 518 527 |  | 
| @@ -530,12 +539,27 @@ Example: | |
| 530 539 | 
             
                      return;
         | 
| 531 540 | 
             
                    }
         | 
| 532 541 |  | 
| 533 | 
            -
                    var  | 
| 534 | 
            -
                    Pusher. | 
| 535 | 
            -
             | 
| 536 | 
            -
             | 
| 537 | 
            -
             | 
| 538 | 
            -
             | 
| 542 | 
            +
                    var path = connectPath(self.key);
         | 
| 543 | 
            +
                    if (Pusher.TransportType === 'sockjs') {
         | 
| 544 | 
            +
                      Pusher.debug('Connecting to sockjs', Pusher.sockjs);
         | 
| 545 | 
            +
                      var url = buildSockJSURL(self.connectionSecure);
         | 
| 546 | 
            +
             | 
| 547 | 
            +
                      self.ping = false
         | 
| 548 | 
            +
                      self.socket = new SockJS(url);
         | 
| 549 | 
            +
                      self.socket.onopen = function() {
         | 
| 550 | 
            +
                        // SockJS does not yet support custom paths and query params
         | 
| 551 | 
            +
                        self.socket.send(JSON.stringify({path: path}));
         | 
| 552 | 
            +
                        self._machine.transition('open');
         | 
| 553 | 
            +
                      }
         | 
| 554 | 
            +
                    } else {
         | 
| 555 | 
            +
                      var url = connectBaseURL(self.connectionSecure) + path;
         | 
| 556 | 
            +
                      Pusher.debug('Connecting', url);
         | 
| 557 | 
            +
                      self.socket = new Pusher.Transport(url);
         | 
| 558 | 
            +
                      self.socket.onopen = function() {
         | 
| 559 | 
            +
                        self._machine.transition('open');
         | 
| 560 | 
            +
                      }
         | 
| 561 | 
            +
                    }
         | 
| 562 | 
            +
             | 
| 539 563 | 
             
                    self.socket.onclose = transitionToWaiting;
         | 
| 540 564 | 
             
                    self.socket.onerror = ws_onError;
         | 
| 541 565 |  | 
| @@ -639,44 +663,45 @@ Example: | |
| 639 663 | 
             
                  -----------------------------------------------*/
         | 
| 640 664 |  | 
| 641 665 | 
             
                function updateConnectionParameters() {
         | 
| 642 | 
            -
                  if (self. | 
| 643 | 
            -
                    self. | 
| 644 | 
            -
                  }
         | 
| 645 | 
            -
             | 
| 646 | 
            -
                  if (self.openTimeout < MAX_OPEN_ATTEMPT_TIMEOUT) {
         | 
| 647 | 
            -
                    self.openTimeout += UNSUCCESSFUL_OPEN_ATTEMPT_ADDITIONAL_TIMEOUT;
         | 
| 666 | 
            +
                  if (self.openTimeout < MAX_OPEN_TIMEOUT) {
         | 
| 667 | 
            +
                    self.openTimeout += OPEN_TIMEOUT_INCREMENT;
         | 
| 648 668 | 
             
                  }
         | 
| 649 669 |  | 
| 650 | 
            -
                  if (self.connectedTimeout <  | 
| 651 | 
            -
                    self.connectedTimeout +=  | 
| 670 | 
            +
                  if (self.connectedTimeout < MAX_CONNECTED_TIMEOUT) {
         | 
| 671 | 
            +
                    self.connectedTimeout += CONNECTED_TIMEOUT_INCREMENT;
         | 
| 652 672 | 
             
                  }
         | 
| 653 673 |  | 
| 674 | 
            +
                  // Toggle between ws & wss
         | 
| 654 675 | 
             
                  if (self.compulsorySecure !== true) {
         | 
| 655 676 | 
             
                    self.connectionSecure = !self.connectionSecure;
         | 
| 656 677 | 
             
                  }
         | 
| 657 678 |  | 
| 658 | 
            -
                  self. | 
| 679 | 
            +
                  self.failedAttempts++;
         | 
| 659 680 | 
             
                }
         | 
| 660 681 |  | 
| 661 | 
            -
                function  | 
| 662 | 
            -
                   | 
| 663 | 
            -
                  var  | 
| 664 | 
            -
             | 
| 665 | 
            -
                   | 
| 666 | 
            -
                  // been loaded via HTTPS.
         | 
| 667 | 
            -
                  //
         | 
| 668 | 
            -
                  // FUTURE: Always connect using SSL.
         | 
| 669 | 
            -
                  //
         | 
| 670 | 
            -
                  if (isSecure || document.location.protocol === 'https:') {
         | 
| 671 | 
            -
                    port = Pusher.wss_port;
         | 
| 672 | 
            -
                    protocol = 'wss://';
         | 
| 673 | 
            -
                  }
         | 
| 682 | 
            +
                function connectBaseURL(isSecure) {
         | 
| 683 | 
            +
                  // Always connect with SSL if the current page served over https
         | 
| 684 | 
            +
                  var ssl = (isSecure || document.location.protocol === 'https:');
         | 
| 685 | 
            +
                  var port = ssl ? Pusher.wss_port : Pusher.ws_port;
         | 
| 686 | 
            +
                  var scheme = ssl ? 'wss://' : 'ws://';
         | 
| 674 687 |  | 
| 675 | 
            -
                   | 
| 688 | 
            +
                  return scheme + Pusher.host + ':' + port;
         | 
| 689 | 
            +
                }
         | 
| 676 690 |  | 
| 677 | 
            -
             | 
| 691 | 
            +
                function connectPath(key) {
         | 
| 692 | 
            +
                  var flash = (Pusher.TransportType === "flash") ? "true" : "false";
         | 
| 693 | 
            +
                  var path = '/app/' + key + '?protocol=5&client=js'
         | 
| 678 694 | 
             
                    + '&version=' + Pusher.VERSION
         | 
| 679 695 | 
             
                    + '&flash=' + flash;
         | 
| 696 | 
            +
                  return path;
         | 
| 697 | 
            +
                }
         | 
| 698 | 
            +
             | 
| 699 | 
            +
                function buildSockJSURL(isSecure) {
         | 
| 700 | 
            +
                  var ssl = (isSecure || document.location.protocol === 'https:');
         | 
| 701 | 
            +
                  var port = ssl ? Pusher.sockjs_https_port : Pusher.sockjs_http_port;
         | 
| 702 | 
            +
                  var scheme = ssl ? 'https://' : 'http://';
         | 
| 703 | 
            +
             | 
| 704 | 
            +
                  return scheme + Pusher.sockjs_host + ':' + port + Pusher.sockjs_path;
         | 
| 680 705 | 
             
                }
         | 
| 681 706 |  | 
| 682 707 | 
             
                // callback for close and retry.  Used on timeouts.
         | 
| @@ -687,13 +712,15 @@ Example: | |
| 687 712 | 
             
                function resetActivityCheck() {
         | 
| 688 713 | 
             
                  if (self._activityTimer) { clearTimeout(self._activityTimer); }
         | 
| 689 714 | 
             
                  // Send ping after inactivity
         | 
| 690 | 
            -
                  self. | 
| 691 | 
            -
                    self.send_event('pusher:ping', {})
         | 
| 692 | 
            -
                    // Wait for pong response
         | 
| 715 | 
            +
                  if (self.ping) {
         | 
| 693 716 | 
             
                    self._activityTimer = setTimeout(function() {
         | 
| 694 | 
            -
                      self. | 
| 695 | 
            -
             | 
| 696 | 
            -
             | 
| 717 | 
            +
                      self.send_event('pusher:ping', {})
         | 
| 718 | 
            +
                      // Wait for pong response
         | 
| 719 | 
            +
                      self._activityTimer = setTimeout(function() {
         | 
| 720 | 
            +
                        self.socket.close();
         | 
| 721 | 
            +
                      }, (self.options.pong_timeout || Pusher.pong_timeout))
         | 
| 722 | 
            +
                    }, (self.options.activity_timeout || Pusher.activity_timeout))
         | 
| 723 | 
            +
                  }
         | 
| 697 724 | 
             
                }
         | 
| 698 725 |  | 
| 699 726 | 
             
                function stopActivityCheck() {
         | 
| @@ -723,11 +750,6 @@ Example: | |
| 723 750 | 
             
                  WebSocket Callbacks
         | 
| 724 751 | 
             
                  -----------------------------------------------*/
         | 
| 725 752 |  | 
| 726 | 
            -
                // no-op, as we only care when we get pusher:connection_established
         | 
| 727 | 
            -
                function ws_onopen() {
         | 
| 728 | 
            -
                  self._machine.transition('open');
         | 
| 729 | 
            -
                };
         | 
| 730 | 
            -
             | 
| 731 753 | 
             
                function handleCloseCode(code, message) {
         | 
| 732 754 | 
             
                  // first inform the end-developer of this error
         | 
| 733 755 | 
             
                  self.emit('error', {type: 'PusherError', data: {code: code, message: message}});
         | 
| @@ -998,22 +1020,26 @@ Example: | |
| 998 1020 |  | 
| 999 1021 | 
             
              var Members = function(channel) {
         | 
| 1000 1022 | 
             
                var self = this;
         | 
| 1023 | 
            +
                var channelData = null;
         | 
| 1001 1024 |  | 
| 1002 1025 | 
             
                var reset = function() {
         | 
| 1003 | 
            -
                   | 
| 1004 | 
            -
                   | 
| 1005 | 
            -
                   | 
| 1026 | 
            +
                  self._members_map = {};
         | 
| 1027 | 
            +
                  self.count = 0;
         | 
| 1028 | 
            +
                  self.me = null;
         | 
| 1029 | 
            +
                  channelData = null;
         | 
| 1030 | 
            +
                };
         | 
| 1031 | 
            +
                reset();
         | 
| 1032 | 
            +
             | 
| 1033 | 
            +
                var subscriptionSucceeded = function(subscriptionData) {
         | 
| 1034 | 
            +
                  self._members_map = subscriptionData.presence.hash;
         | 
| 1035 | 
            +
                  self.count = subscriptionData.presence.count;
         | 
| 1036 | 
            +
                  self.me = self.get(channelData.user_id);
         | 
| 1037 | 
            +
                  channel.emit('pusher:subscription_succeeded', self);
         | 
| 1006 1038 | 
             
                };
         | 
| 1007 | 
            -
                reset.call(this);
         | 
| 1008 1039 |  | 
| 1009 1040 | 
             
                channel.bind('pusher_internal:authorized', function(authorizedData) {
         | 
| 1010 | 
            -
                   | 
| 1011 | 
            -
                  channel.bind("pusher_internal:subscription_succeeded",  | 
| 1012 | 
            -
                    self._members_map = subscriptionData.presence.hash;
         | 
| 1013 | 
            -
                    self.count = subscriptionData.presence.count;
         | 
| 1014 | 
            -
                    self.me = self.get(channelData.user_id);
         | 
| 1015 | 
            -
                    channel.emit('pusher:subscription_succeeded', self);
         | 
| 1016 | 
            -
                  });
         | 
| 1041 | 
            +
                  channelData = JSON.parse(authorizedData.channel_data);
         | 
| 1042 | 
            +
                  channel.bind("pusher_internal:subscription_succeeded", subscriptionSucceeded);
         | 
| 1017 1043 | 
             
                });
         | 
| 1018 1044 |  | 
| 1019 1045 | 
             
                channel.bind('pusher_internal:member_added', function(data) {
         | 
| @@ -1035,7 +1061,8 @@ Example: | |
| 1035 1061 | 
             
                });
         | 
| 1036 1062 |  | 
| 1037 1063 | 
             
                channel.bind('pusher_internal:disconnected', function() {
         | 
| 1038 | 
            -
                  reset | 
| 1064 | 
            +
                  reset();
         | 
| 1065 | 
            +
                  channel.unbind("pusher_internal:subscription_succeeded", subscriptionSucceeded);
         | 
| 1039 1066 | 
             
                });
         | 
| 1040 1067 | 
             
              };
         | 
| 1041 1068 |  | 
| @@ -1070,6 +1097,7 @@ Example: | |
| 1070 1097 | 
             
                return channel;
         | 
| 1071 1098 | 
             
              };
         | 
| 1072 1099 | 
             
            }).call(this);
         | 
| 1100 | 
            +
             | 
| 1073 1101 | 
             
            ;(function() {
         | 
| 1074 1102 | 
             
              Pusher.Channel.Authorizer = function(channel, type, options) {
         | 
| 1075 1103 | 
             
                this.channel = channel;
         | 
| @@ -1224,9 +1252,22 @@ var _require = (function() { | |
| 1224 1252 | 
             
                deps.push(root + '/json2' + Pusher.dependency_suffix + '.js');
         | 
| 1225 1253 | 
             
              }
         | 
| 1226 1254 | 
             
              if (!window['WebSocket']) {
         | 
| 1227 | 
            -
                 | 
| 1228 | 
            -
                 | 
| 1229 | 
            -
             | 
| 1255 | 
            +
                var flashSupported;
         | 
| 1256 | 
            +
                try {
         | 
| 1257 | 
            +
                  flashSupported = Boolean(new ActiveXObject('ShockwaveFlash.ShockwaveFlash'));
         | 
| 1258 | 
            +
                } catch (e) {
         | 
| 1259 | 
            +
                  flashSupported = navigator.mimeTypes["application/x-shockwave-flash"] !== undefined;
         | 
| 1260 | 
            +
                }
         | 
| 1261 | 
            +
             | 
| 1262 | 
            +
                if (flashSupported) {
         | 
| 1263 | 
            +
                  // Try to use web-socket-js (flash WebSocket emulation)
         | 
| 1264 | 
            +
                  window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION = true;
         | 
| 1265 | 
            +
                  window.WEB_SOCKET_SUPPRESS_CROSS_DOMAIN_SWF_ERROR = true;
         | 
| 1266 | 
            +
                  deps.push(root + '/flashfallback' + Pusher.dependency_suffix + '.js');
         | 
| 1267 | 
            +
                } else {
         | 
| 1268 | 
            +
                  // Use SockJS when Flash is not available
         | 
| 1269 | 
            +
                  deps.push(root + '/sockjs' + Pusher.dependency_suffix + '.js');
         | 
| 1270 | 
            +
                }
         | 
| 1230 1271 | 
             
              }
         | 
| 1231 1272 |  | 
| 1232 1273 | 
             
              var initialize = function() {
         | 
| @@ -1249,9 +1290,9 @@ var _require = (function() { | |
| 1249 1290 | 
             
                      })
         | 
| 1250 1291 | 
             
                      WebSocket.__initialize();
         | 
| 1251 1292 | 
             
                    } else {
         | 
| 1252 | 
            -
                      // Flash  | 
| 1253 | 
            -
                      Pusher.Transport =  | 
| 1254 | 
            -
                      Pusher.TransportType = ' | 
| 1293 | 
            +
                      // Flash fallback was not loaded, using SockJS
         | 
| 1294 | 
            +
                      Pusher.Transport = window.SockJS;
         | 
| 1295 | 
            +
                      Pusher.TransportType = 'sockjs';
         | 
| 1255 1296 | 
             
                      Pusher.ready();
         | 
| 1256 1297 | 
             
                    }
         | 
| 1257 1298 | 
             
                  }
         | 
| @@ -1276,3 +1317,4 @@ var _require = (function() { | |
| 1276 1317 | 
             
                initializeOnDocumentBody();
         | 
| 1277 1318 | 
             
              }
         | 
| 1278 1319 | 
             
            })();
         | 
| 1320 | 
            +
             | 
    
        metadata
    CHANGED
    
    | @@ -1,32 +1,29 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pusher_rails
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 5 | 
            -
              prerelease: 
         | 
| 4 | 
            +
              version: 0.3.0
         | 
| 6 5 | 
             
            platform: ruby
         | 
| 7 6 | 
             
            authors:
         | 
| 8 7 | 
             
            - David Grandinetti
         | 
| 9 8 | 
             
            autorequire: 
         | 
| 10 9 | 
             
            bindir: bin
         | 
| 11 10 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 11 | 
            +
            date: 2013-03-30 00:00:00.000000000 Z
         | 
| 13 12 | 
             
            dependencies:
         | 
| 14 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 14 | 
             
              name: pusher
         | 
| 16 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 | 
            -
                none: false
         | 
| 18 16 | 
             
                requirements:
         | 
| 19 17 | 
             
                - - ~>
         | 
| 20 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 21 | 
            -
                    version: 0. | 
| 19 | 
            +
                    version: 0.11.3
         | 
| 22 20 | 
             
              type: :runtime
         | 
| 23 21 | 
             
              prerelease: false
         | 
| 24 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 25 | 
            -
                none: false
         | 
| 26 23 | 
             
                requirements:
         | 
| 27 24 | 
             
                - - ~>
         | 
| 28 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: 0. | 
| 26 | 
            +
                    version: 0.11.3
         | 
| 30 27 | 
             
            description: Adds pusher.js/backpusher.js to the asset pipeline and pusher-gem to
         | 
| 31 28 | 
             
              to your app.
         | 
| 32 29 | 
             
            email:
         | 
| @@ -44,26 +41,25 @@ files: | |
| 44 41 | 
             
            - vendor/assets/javascripts/pusher.js
         | 
| 45 42 | 
             
            homepage: https://github.com/dbgrandi/pusher_rails
         | 
| 46 43 | 
             
            licenses: []
         | 
| 44 | 
            +
            metadata: {}
         | 
| 47 45 | 
             
            post_install_message: 
         | 
| 48 46 | 
             
            rdoc_options: []
         | 
| 49 47 | 
             
            require_paths:
         | 
| 50 48 | 
             
            - lib
         | 
| 51 49 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 52 | 
            -
              none: false
         | 
| 53 50 | 
             
              requirements:
         | 
| 54 | 
            -
              - -  | 
| 51 | 
            +
              - - '>='
         | 
| 55 52 | 
             
                - !ruby/object:Gem::Version
         | 
| 56 53 | 
             
                  version: '0'
         | 
| 57 54 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 58 | 
            -
              none: false
         | 
| 59 55 | 
             
              requirements:
         | 
| 60 | 
            -
              - -  | 
| 56 | 
            +
              - - '>='
         | 
| 61 57 | 
             
                - !ruby/object:Gem::Version
         | 
| 62 58 | 
             
                  version: '0'
         | 
| 63 59 | 
             
            requirements: []
         | 
| 64 60 | 
             
            rubyforge_project: 
         | 
| 65 | 
            -
            rubygems_version:  | 
| 61 | 
            +
            rubygems_version: 2.0.3
         | 
| 66 62 | 
             
            signing_key: 
         | 
| 67 | 
            -
            specification_version:  | 
| 63 | 
            +
            specification_version: 4
         | 
| 68 64 | 
             
            summary: Pusher integration for Rails 3.1+
         | 
| 69 65 | 
             
            test_files: []
         |