rack-unreloader 1.6.0 → 2.0.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 +5 -5
- data/CHANGELOG +22 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +65 -55
- data/lib/rack/unreloader/reloader.rb +47 -78
- data/lib/rack/unreloader.rb +28 -27
- metadata +23 -10
- data/Rakefile +0 -45
- data/spec/spec_helper.rb +0 -76
- data/spec/strip_paths_spec.rb +0 -858
- data/spec/unreloader_spec.rb +0 -449
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-unreloader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest-global_expectations
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
description: |
|
42
56
|
Rack::Unreloader is a rack middleware that reloads application files when it
|
43
57
|
detects changes, unloading constants defined in those files before reloading.
|
@@ -52,16 +66,16 @@ files:
|
|
52
66
|
- CHANGELOG
|
53
67
|
- MIT-LICENSE
|
54
68
|
- README.rdoc
|
55
|
-
- Rakefile
|
56
69
|
- lib/rack/unreloader.rb
|
57
70
|
- lib/rack/unreloader/reloader.rb
|
58
|
-
- spec/spec_helper.rb
|
59
|
-
- spec/strip_paths_spec.rb
|
60
|
-
- spec/unreloader_spec.rb
|
61
71
|
homepage: http://github.com/jeremyevans/rack-unreloader
|
62
72
|
licenses:
|
63
73
|
- MIT
|
64
|
-
metadata:
|
74
|
+
metadata:
|
75
|
+
bug_tracker_uri: https://github.com/jeremyevans/rack-unreloader/issues
|
76
|
+
changelog_uri: https://github.com/jeremyevans/rack-unreloader/blob/master/CHANGELOG
|
77
|
+
mailing_list_uri: https://github.com/jeremyevans/rack-unreloader/discussions
|
78
|
+
source_code_uri: https://github.com/jeremyevans/rack-unreloader
|
65
79
|
post_install_message:
|
66
80
|
rdoc_options:
|
67
81
|
- "--quiet"
|
@@ -77,15 +91,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
77
91
|
requirements:
|
78
92
|
- - ">="
|
79
93
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
94
|
+
version: 1.9.2
|
81
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
96
|
requirements:
|
83
97
|
- - ">="
|
84
98
|
- !ruby/object:Gem::Version
|
85
99
|
version: '0'
|
86
100
|
requirements: []
|
87
|
-
|
88
|
-
rubygems_version: 2.6.8
|
101
|
+
rubygems_version: 3.3.7
|
89
102
|
signing_key:
|
90
103
|
specification_version: 4
|
91
104
|
summary: Reload application when files change, unloading constants first
|
data/Rakefile
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
require "rake"
|
2
|
-
require "rake/clean"
|
3
|
-
|
4
|
-
CLEAN.include ["rack-unreloader-*.gem", "rdoc"]
|
5
|
-
|
6
|
-
desc "Build rack-unreloader gem"
|
7
|
-
task :package=>[:clean] do |p|
|
8
|
-
sh %{#{FileUtils::RUBY} -S gem build rack-unreloader.gemspec}
|
9
|
-
end
|
10
|
-
|
11
|
-
### Specs
|
12
|
-
|
13
|
-
desc "Run specs"
|
14
|
-
task :spec do
|
15
|
-
sh "#{FileUtils::RUBY} spec/unreloader_spec.rb"
|
16
|
-
end
|
17
|
-
|
18
|
-
task :default => :spec
|
19
|
-
|
20
|
-
### RDoc
|
21
|
-
|
22
|
-
RDOC_DEFAULT_OPTS = ["--quiet", "--line-numbers", "--inline-source", '--title', 'Rack::Unreloader: Reload application when files change, unloading constants first']
|
23
|
-
|
24
|
-
begin
|
25
|
-
gem 'hanna-nouveau'
|
26
|
-
RDOC_DEFAULT_OPTS.concat(['-f', 'hanna'])
|
27
|
-
rescue Gem::LoadError
|
28
|
-
end
|
29
|
-
|
30
|
-
rdoc_task_class = begin
|
31
|
-
require "rdoc/task"
|
32
|
-
RDoc::Task
|
33
|
-
rescue LoadError
|
34
|
-
require "rake/rdoctask"
|
35
|
-
Rake::RDocTask
|
36
|
-
end
|
37
|
-
|
38
|
-
RDOC_OPTS = RDOC_DEFAULT_OPTS + ['--main', 'README.rdoc']
|
39
|
-
|
40
|
-
rdoc_task_class.new do |rdoc|
|
41
|
-
rdoc.rdoc_dir = "rdoc"
|
42
|
-
rdoc.options += RDOC_OPTS
|
43
|
-
rdoc.rdoc_files.add %w"README.rdoc CHANGELOG MIT-LICENSE lib/**/*.rb"
|
44
|
-
end
|
45
|
-
|
data/spec/spec_helper.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(File.expand_path(__FILE__)), '../lib/rack/unreloader')
|
2
|
-
require 'rubygems'
|
3
|
-
$: << 'lib'
|
4
|
-
gem 'minitest'
|
5
|
-
require 'minitest/autorun'
|
6
|
-
require 'minitest/hooks'
|
7
|
-
|
8
|
-
module ModifiedAt
|
9
|
-
def set_modified_time(file, time)
|
10
|
-
time = Time.now + time if time.is_a?(Integer)
|
11
|
-
modified_times[File.expand_path(file)] = time
|
12
|
-
end
|
13
|
-
|
14
|
-
def modified_times
|
15
|
-
@modified_times ||= {}
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
|
-
|
20
|
-
def modified_at(file)
|
21
|
-
modified_times[file] || super
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
class Minitest::Spec
|
26
|
-
def code(i)
|
27
|
-
"class App; def self.call(env) @a end; @a ||= []; @a << #{i}; end"
|
28
|
-
end
|
29
|
-
|
30
|
-
def update_app(code, file=@filename)
|
31
|
-
ru.reloader.set_modified_time(file, @i += 1) if ru.reloader
|
32
|
-
File.open(file, 'wb'){|f| f.write(code)}
|
33
|
-
end
|
34
|
-
|
35
|
-
def logger
|
36
|
-
return @logger if @logger
|
37
|
-
@logger = []
|
38
|
-
def @logger.method_missing(meth, log)
|
39
|
-
self << log
|
40
|
-
end
|
41
|
-
@logger
|
42
|
-
end
|
43
|
-
|
44
|
-
def base_ru(opts={})
|
45
|
-
block = opts[:block] || proc{App}
|
46
|
-
@ru = Rack::Unreloader.new({:logger=>logger, :cooldown=>0}.merge(opts), &block)
|
47
|
-
@ru.reloader.extend ModifiedAt if @ru.reloader
|
48
|
-
Object.const_set(:RU, @ru)
|
49
|
-
end
|
50
|
-
|
51
|
-
def ru(opts={})
|
52
|
-
return @ru if @ru
|
53
|
-
base_ru(opts)
|
54
|
-
update_app(opts[:code]||code(1))
|
55
|
-
@ru.require @filename
|
56
|
-
@ru
|
57
|
-
end
|
58
|
-
|
59
|
-
def log_match(*logs)
|
60
|
-
@logger.length.must_equal logs.length
|
61
|
-
logs.zip(@logger).each{|l, log| l.is_a?(String) ? log.must_equal(l) : log.must_match(l)}
|
62
|
-
end
|
63
|
-
|
64
|
-
before do
|
65
|
-
@i = 0
|
66
|
-
@filename = 'spec/app.rb'
|
67
|
-
end
|
68
|
-
|
69
|
-
after do
|
70
|
-
ru.reloader.clear! if ru.reloader
|
71
|
-
Object.send(:remove_const, :RU)
|
72
|
-
Object.send(:remove_const, :App) if defined?(::App)
|
73
|
-
Object.send(:remove_const, :App2) if defined?(::App2)
|
74
|
-
Dir['spec/app*.rb'].each{|f| File.delete(f)}
|
75
|
-
end
|
76
|
-
end
|