bowser 0.2.0 → 0.2.1

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: 4e07cbed8dbba587239bd6773b8b773d91195bda
4
- data.tar.gz: a2cb7057cc1c44b61fe984a0a62f894be35e4cd3
3
+ metadata.gz: eb2a7b79c9113fbf80802a4c3fe913f6c1906613
4
+ data.tar.gz: a44101d81eae9ac27229fcd3189d5563534c4ad1
5
5
  SHA512:
6
- metadata.gz: cbfbe22f47b55da1d77c8c29613c950143c8604c7eca48c264536f221a3c577109c3a7b17b7e58453d6d27985f606d52065d41604f526cd0c339969def96ac22
7
- data.tar.gz: 5b5d6a3ef2917d336c47febfea38b0b1c1e14a25a24457d6ef304c42193cb59f032a9273733bfcf13e8069bf313094a21e069673fdbbc379f1fabb3da0d5dfa8
6
+ metadata.gz: 10a66ac8eb3ec5a7c948f25fbcacad3d6696fef807d671df1cbe04281789ad60960537546b395d49d080fa07282d7bb1cccffa4efd6750e3cdb7617f23aa94ef
7
+ data.tar.gz: e2f7f4ffdd77cef7fec0f7ae89a3e541bfaac428622bdabd924076053b2b27fe9f3dd5211e9cb0b2154a7742b1687ee0ad8152ece9e78e52c3b7268aed85d838
data/bowser.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "opal", ">= 0.8.0", "< 0.11.0"
21
+ spec.add_dependency "opal", ">= 0.7.0", "< 0.12.0"
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.10"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
@@ -1,3 +1,3 @@
1
1
  module Bowser
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/opal/bowser/http.rb CHANGED
@@ -8,13 +8,13 @@ module Bowser
8
8
  module HTTP
9
9
  module_function
10
10
 
11
- def fetch(url, method: :get)
11
+ def fetch(url, method: :get, headers: {}, data: nil)
12
12
  promise = Promise.new
13
13
  request = Request.new(method, url)
14
14
 
15
15
  connect_events_to_promise request, promise
16
16
 
17
- request.send
17
+ request.send(data: data, headers: headers)
18
18
 
19
19
  promise
20
20
  end
@@ -16,8 +16,7 @@ module Bowser
16
16
  end
17
17
 
18
18
  def json
19
- body = self.body
20
- @json ||= JSON.parse(body) if `body !== undefined`
19
+ @json ||= JSON.parse(body) if `#{body} !== undefined`
21
20
  end
22
21
 
23
22
  def success?
@@ -1,3 +1,4 @@
1
+ require 'bowser/window'
1
2
  require 'json'
2
3
 
3
4
  module Bowser
@@ -12,7 +13,7 @@ module Bowser
12
13
  def initialize url
13
14
  @url = url
14
15
  @native = `new WebSocket(url)`
15
- @handlers = Hash.new { |h, k| h[k] = [] }
16
+ @handlers ||= Hash.new { |h, k| h[k] = [] }
16
17
  add_handlers
17
18
  end
18
19
 
@@ -29,6 +30,16 @@ module Bowser
29
30
  self
30
31
  end
31
32
 
33
+ # Reconnect the websocket after a short delay if it is interrupted
34
+ def autoreconnect!(delay: 1)
35
+ return if @autoreconnect
36
+ @autoreconnect = true
37
+
38
+ on :close do
39
+ Window.delay(delay) { initialize @url }
40
+ end
41
+ end
42
+
32
43
  private
33
44
 
34
45
  def add_handlers
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bowser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Gaskins
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-09 00:00:00.000000000 Z
11
+ date: 2016-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opal
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.8.0
19
+ version: 0.7.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 0.11.0
22
+ version: 0.12.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.8.0
29
+ version: 0.7.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.11.0
32
+ version: 0.12.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement