Class: Paquette::GemServer::GemRepacker
- Inherits:
-
Object
- Object
- Paquette::GemServer::GemRepacker
- Defined in:
- lib/paquette/gem_server/gem_repacker.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(gem_path, gemspec_extras: {}, magic_comment_replacements: {}, files: {}) ⇒ GemRepacker
constructor
A new instance of GemRepacker.
- #repack ⇒ Object
Constructor Details
#initialize(gem_path, gemspec_extras: {}, magic_comment_replacements: {}, files: {}) ⇒ GemRepacker
Returns a new instance of GemRepacker.
16 17 18 19 20 21 22 23 |
# File 'lib/paquette/gem_server/gem_repacker.rb', line 16 def initialize(gem_path, gemspec_extras: {}, magic_comment_replacements: {}, files: {}) @gem_path = gem_path @gemspec_extras = gemspec_extras @magic_comment_replacements = magic_comment_replacements @files = files @temp_dir = nil @unpacked_gem_dir = nil end |
Class Method Details
.repack(gem_path, gemspec_extras: {}, magic_comment_replacements: {}, files: {}, &block) ⇒ Object
12 13 14 |
# File 'lib/paquette/gem_server/gem_repacker.rb', line 12 def self.repack(gem_path, gemspec_extras: {}, magic_comment_replacements: {}, files: {}, &block) new(gem_path, gemspec_extras: gemspec_extras, magic_comment_replacements: magic_comment_replacements, files: files).repack(&block) end |
Instance Method Details
#repack ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/paquette/gem_server/gem_repacker.rb', line 25 def repack raise ArgumentError, "Gem file not found: #{@gem_path}" unless File.exist?(@gem_path) unpack_gem process_ruby_files inject_files new_gem_path = repackage_gem cleanup new_gem_path end |