File tree 2 files changed +14
-14
lines changed
2 files changed +14
-14
lines changed Original file line number Diff line number Diff line change 2
2
require "version_gem"
3
3
require "bundler" # This gem utilizes bundler as a tool.
4
4
5
- require "gem_bench/version"
6
- require "gem_bench/scout"
7
- require "gem_bench/player"
8
- require "gem_bench/team"
9
- require "gem_bench/gemfile_line_tokenizer"
10
- require "gem_bench/strict_version_gem"
11
- require "gem_bench/strict_version_requirement"
5
+ # this library
6
+ require_relative "gem_bench/version"
7
+ require_relative "gem_bench/scout"
8
+ require_relative "gem_bench/player"
9
+ require_relative "gem_bench/team"
10
+ require_relative "gem_bench/gemfile_line_tokenizer"
11
+ require_relative "gem_bench/strict_version_gem"
12
+ require_relative "gem_bench/strict_version_requirement"
12
13
13
14
module GemBench
14
15
USAGE = "[GemBench] Usage: Require another gem in this session to evaluate it.\n \t Example:\n \t \t require 'rails'\n \t \t GemBench.check({verbose: true})\n "
Original file line number Diff line number Diff line change @@ -110,15 +110,14 @@ def as_klass
110
110
private
111
111
112
112
def load_gem_copy ( files )
113
+ puts "Requiring copy of #{ gem_name } with: #{ files . inspect } " if verbose
114
+ # These are absolute file paths, so they can use `require`
113
115
files . each do |filepath |
114
- # begin
116
+ # But files required here may not load their own internal files properly if they are still using `require`.
117
+ # Since Ruby 2.2, best practice for ruby libraries is to use require_relative for internal files,
118
+ # and require for external files and dependencies.
119
+ # Ref: https://github.com/panorama-ed/memo_wise/issues/349
115
120
require filepath
116
- # rescue LoadError => e
117
- # puts file.to_s
118
- # puts tempfile.path
119
- # puts e.class
120
- # puts e.message
121
- # end
122
121
end
123
122
end
124
123
You can’t perform that action at this time.
0 commit comments