Reputation: 6704
I am not clear on what certain specifications in the .gemspec
file are doing. Specifically,
spec.files = `git ls-files -z`.split("\x0")
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
Can someone explain how these relate to the functionality of a Ruby Gem and why they are necessary?
Upvotes: 14
Views: 4214
Reputation: 20125
Executables included in the gem. For example, the rake gem has rake as an executable. These files must be executable Ruby files.
Files included in the gem. These are the files that will be included in your gem when it is built.
Contains an Array
of directories and files which should be added to the $LOAD_PATH
on gem activation. By default it is ["lib"]
.
Test files included in the gem.
Upvotes: 14