bowser 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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