padrino-core 0.16.0 → 0.16.2
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 +4 -4
- data/lib/padrino-core/cli/base.rb +7 -1
- data/lib/padrino-core/version.rb +1 -1
- data/padrino-core.gemspec +1 -0
- data/test/test_cli.rb +62 -0
- metadata +21 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f357abd6bcc045b4befc0d85f7b02e733c2a10194d3521d7a81bc1e87f950439
|
|
4
|
+
data.tar.gz: ca8317ab9f147001058495aea8ccbaa1c2b1e9d34c26ac41500386d527343d34
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 14cf763eaa96876bc8e94deb85d558d034221a4b0bc6e23b87658e9c5e7320f19942a5e7bec4c5a04131ee0d3378dabbd52676252cba72afbd51e422c2b1752f
|
|
7
|
+
data.tar.gz: cb531a9aecd3da407516bc334821cdb88250bb624976dc7700b2f496b3d362de11636fb2e2400bddad8eed002e08603735f633d634d3912c8f5a1b5edee7c7a5
|
|
@@ -35,7 +35,13 @@ module Padrino
|
|
|
35
35
|
if defined? Pry
|
|
36
36
|
Pry.start
|
|
37
37
|
else
|
|
38
|
-
|
|
38
|
+
begin
|
|
39
|
+
require 'irb'
|
|
40
|
+
rescue LoadError => e
|
|
41
|
+
raise unless e.path == 'irb'
|
|
42
|
+
|
|
43
|
+
abort "<= padrino console needs irb. Since Ruby 4.0 it is a bundled gem: add gem 'irb' to your Gemfile and run bundle install."
|
|
44
|
+
end
|
|
39
45
|
begin
|
|
40
46
|
require 'irb/completion'
|
|
41
47
|
rescue LoadError
|
data/lib/padrino-core/version.rb
CHANGED
data/padrino-core.gemspec
CHANGED
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
s.require_paths = ['lib']
|
|
22
22
|
s.rdoc_options = ['--charset=UTF-8']
|
|
23
23
|
|
|
24
|
+
s.add_dependency('ostruct', '>= 0.6')
|
|
24
25
|
s.add_dependency('padrino-support', Padrino.version)
|
|
25
26
|
s.add_dependency('rackup', '~> 2.1')
|
|
26
27
|
s.add_dependency('sinatra', '~> 4')
|
data/test/test_cli.rb
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require_relative 'helper'
|
|
2
|
+
require 'open3'
|
|
3
|
+
require 'tmpdir'
|
|
4
|
+
|
|
5
|
+
describe 'Padrino::Cli' do
|
|
6
|
+
# Runs the script in a temp project with one app mounted at /.
|
|
7
|
+
def run_in_project(script)
|
|
8
|
+
Dir.mktmpdir do |dir|
|
|
9
|
+
FileUtils.mkdir_p(File.join(dir, 'config'))
|
|
10
|
+
FileUtils.mkdir_p(File.join(dir, 'app'))
|
|
11
|
+
File.write(File.join(dir, 'app', 'app.rb'), "class CliDemo < Padrino::Application; end\n")
|
|
12
|
+
File.write(File.join(dir, 'config', 'boot.rb'), <<~RUBY)
|
|
13
|
+
PADRINO_ROOT = #{dir.inspect} unless defined?(PADRINO_ROOT)
|
|
14
|
+
require 'padrino-core'
|
|
15
|
+
require_relative '../app/app'
|
|
16
|
+
Padrino.mount('CliDemo', app_file: File.expand_path('../app/app.rb', __dir__)).to('/')
|
|
17
|
+
Padrino.load!
|
|
18
|
+
RUBY
|
|
19
|
+
lib = File.expand_path('../lib', __dir__)
|
|
20
|
+
env = { 'RACK_ENV' => 'test', 'BUNDLE_GEMFILE' => File.expand_path('../../Gemfile', __dir__) }
|
|
21
|
+
Open3.capture3(env, RbConfig.ruby, '-I', lib, '-e', script, chdir: dir)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'should say how to add irb when padrino console cannot load it' do
|
|
26
|
+
_, err, status = run_in_project(<<~RUBY)
|
|
27
|
+
# Ruby 4.0 without irb in the bundle
|
|
28
|
+
module Kernel
|
|
29
|
+
alias_method :require_before_test, :require
|
|
30
|
+
def require(name)
|
|
31
|
+
if name == 'irb'
|
|
32
|
+
error = LoadError.new('cannot load such file -- irb')
|
|
33
|
+
error.define_singleton_method(:path) { 'irb' }
|
|
34
|
+
raise error
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
require_before_test(name)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
require 'padrino-core/cli/base'
|
|
41
|
+
Padrino::Cli::Base.start(['console'])
|
|
42
|
+
RUBY
|
|
43
|
+
assert_equal 1, status.exitstatus
|
|
44
|
+
assert_includes err, "add gem 'irb' to your Gemfile"
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it 'should not hide a LoadError from inside irb in padrino console' do
|
|
48
|
+
_, err, status = run_in_project(<<~RUBY)
|
|
49
|
+
module Kernel
|
|
50
|
+
alias_method :require_before_test, :require
|
|
51
|
+
def require(name)
|
|
52
|
+
require_before_test(name == 'irb' ? 'padrino_missing_irb_dependency' : name)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
require 'padrino-core/cli/base'
|
|
56
|
+
Padrino::Cli::Base.start(['console'])
|
|
57
|
+
RUBY
|
|
58
|
+
refute status.success?
|
|
59
|
+
assert_includes err, 'padrino_missing_irb_dependency'
|
|
60
|
+
refute_includes err, "add gem 'irb'"
|
|
61
|
+
end
|
|
62
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: padrino-core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.16.
|
|
4
|
+
version: 0.16.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Padrino Team
|
|
@@ -11,22 +11,36 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date:
|
|
14
|
+
date: 2026-10-14 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
|
+
- !ruby/object:Gem::Dependency
|
|
17
|
+
name: ostruct
|
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
|
19
|
+
requirements:
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '0.6'
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '0.6'
|
|
16
30
|
- !ruby/object:Gem::Dependency
|
|
17
31
|
name: padrino-support
|
|
18
32
|
requirement: !ruby/object:Gem::Requirement
|
|
19
33
|
requirements:
|
|
20
34
|
- - '='
|
|
21
35
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 0.16.
|
|
36
|
+
version: 0.16.2
|
|
23
37
|
type: :runtime
|
|
24
38
|
prerelease: false
|
|
25
39
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
40
|
requirements:
|
|
27
41
|
- - '='
|
|
28
42
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: 0.16.
|
|
43
|
+
version: 0.16.2
|
|
30
44
|
- !ruby/object:Gem::Dependency
|
|
31
45
|
name: rackup
|
|
32
46
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -183,6 +197,7 @@ files:
|
|
|
183
197
|
- test/fixtures/reloadable_apps/main/app.rb
|
|
184
198
|
- test/helper.rb
|
|
185
199
|
- test/test_application.rb
|
|
200
|
+
- test/test_cli.rb
|
|
186
201
|
- test/test_configuration.rb
|
|
187
202
|
- test/test_core.rb
|
|
188
203
|
- test/test_csrf_protection.rb
|
|
@@ -221,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
221
236
|
- !ruby/object:Gem::Version
|
|
222
237
|
version: 1.3.6
|
|
223
238
|
requirements: []
|
|
224
|
-
rubygems_version: 3.
|
|
239
|
+
rubygems_version: 3.5.23
|
|
225
240
|
signing_key:
|
|
226
241
|
specification_version: 4
|
|
227
242
|
summary: The required Padrino core gem
|
|
@@ -285,6 +300,7 @@ test_files:
|
|
|
285
300
|
- test/fixtures/reloadable_apps/main/app.rb
|
|
286
301
|
- test/helper.rb
|
|
287
302
|
- test/test_application.rb
|
|
303
|
+
- test/test_cli.rb
|
|
288
304
|
- test/test_configuration.rb
|
|
289
305
|
- test/test_core.rb
|
|
290
306
|
- test/test_csrf_protection.rb
|