rails_live_reload 0.1.0 → 0.1.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
  SHA256:
3
- metadata.gz: 453d155a64c2869fea44301e05aa33cf32274ff501cfdb6a7eb1c061bb5cffa1
4
- data.tar.gz: b7e734f2649d12365e8e346e2656fd386aea36187d6a295f19f8643460138d6d
3
+ metadata.gz: 98a01974fe3a99ed6546f43f777fc3a0e91d7f175179e561494740e95d3de9fe
4
+ data.tar.gz: b22be442a32123b9e09b2649993b9dc865276fd4157ff4f34cdfbc4891fb7745
5
5
  SHA512:
6
- metadata.gz: 7519b3b746a4c58eb412e97743a24db2b39ae7e99351bff81edcfe69df682478e0c250f5b9f5a08022fd1c086f571df0bc52cfaa530bf0c1996c1d1240456ea7
7
- data.tar.gz: 347cae5497f229eb42a38cd9e62f3fc8c33b1c2f03542af5546a156a54f80fff7e5fa4a16e3253e69a44b6e5df9ebe25e5930fd03e19a9d941d2be7a43fb431b
6
+ metadata.gz: a9b46ace63dbac0a9854e44676556799ad58e3a97f0c188e99dfec77a07cc36f550c7767b281946e9331a71aa870c8494c81b45ae9a7ddbed663fd5ab9a447d8
7
+ data.tar.gz: 1bb0e9c9bfe6c4d59e70ced62c591907f01ec058ef2733247cdc4be299d652898200e07aeff9cf9112a5df1cf18cc71579df637c9f7dc66a48631ed18458b71f
data/README.md CHANGED
@@ -53,6 +53,10 @@ RailsLiveReload.configure do |config|
53
53
  # Available modes are: :long_polling (default) and :polling
54
54
  # config.mode = :long_polling
55
55
 
56
+ # This is used with :long_polling mode
57
+ # config.timeout = 30
58
+ # config.long_polling_sleep_duration = 0.1
59
+
56
60
  # This is used with :polling mode
57
61
  # config.polling_interval = 100
58
62
 
@@ -19,20 +19,32 @@ module RailsLiveReload
19
19
 
20
20
  class Config
21
21
  attr_reader :patterns
22
- attr_accessor :mode, :polling_interval, :timeout, :url, :watcher, :files, :enabled
22
+ attr_accessor :mode, :polling_interval, :timeout, :url, :watcher, :files, :enabled, :long_polling_sleep_duration
23
23
 
24
24
  def initialize
25
25
  @mode = :long_polling
26
26
  @timeout = 30
27
- @patterns = {}
27
+ @long_polling_sleep_duration = 0.1
28
28
  @polling_interval = 100
29
29
  @url = "/rails/live/reload"
30
30
  @watcher = nil
31
31
  @files = {}
32
32
  @enabled = ::Rails.env.development? && !defined?(Rails::Console)
33
+
34
+ # These configs work for 95% apps, see README for more info
35
+ @patterns = {
36
+ %r{app/views/.+\.(erb|haml|slim)$} => :on_change,
37
+ %r{(app|vendor)/(assets|javascript)/\w+/(.+\.(css|js|html|png|jpg|ts|jsx)).*} => :always
38
+ }
39
+ @default_patterns_changed = false
33
40
  end
34
41
 
35
42
  def watch(pattern, reload: :on_change)
43
+ unless @default_patterns_changed
44
+ @default_patterns_changed = true
45
+ @patterns = {}
46
+ end
47
+
36
48
  patterns[pattern] = reload
37
49
  end
38
50
  end
@@ -4,8 +4,6 @@ module RailsLiveReload
4
4
  class LongPolling < Base
5
5
  private
6
6
 
7
- POLLING_SLEEP = 0.1
8
-
9
7
  def rails_live_response(request)
10
8
  params = request.params
11
9
  body = lambda do |stream|
@@ -19,7 +17,7 @@ module RailsLiveReload
19
17
  stream.write(command.payload.to_json) and break
20
18
  end
21
19
 
22
- sleep(POLLING_SLEEP)
20
+ sleep(RailsLiveReload.config.long_polling_sleep_duration)
23
21
  counter += 1
24
22
 
25
23
  stream.write(command.payload.to_json) and break if counter >= max_sleeps_count
@@ -37,7 +35,7 @@ module RailsLiveReload
37
35
  end
38
36
 
39
37
  def max_sleeps_count
40
- RailsLiveReload.config.timeout * (1 / POLLING_SLEEP)
38
+ RailsLiveReload.config.timeout * (1 / RailsLiveReload.config.long_polling_sleep_duration)
41
39
  end
42
40
 
43
41
  def new_thread
@@ -1,3 +1,3 @@
1
1
  module RailsLiveReload
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -23,9 +23,3 @@ module RailsLiveReload
23
23
  end
24
24
  end
25
25
  end
26
-
27
- # These configs work for 95% apps, see README for more info
28
- RailsLiveReload.configure do |config|
29
- config.watch %r{app/views/.+\.(erb|haml|slim)$}
30
- config.watch %r{(app|vendor)/(assets|javascript)/\w+/(.+\.(css|js|html|png|jpg|ts|jsx)).*}, reload: :always
31
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_live_reload
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Kasyanchuk
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
- rubygems_version: 3.2.3
156
+ rubygems_version: 3.3.7
157
157
  signing_key:
158
158
  specification_version: 4
159
159
  summary: Ruby on Rails Live Reload