rails_live_reload 0.1.0 → 0.1.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
  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