Sha256: 799a573d2ab9495b4d99729671b0e74d12bbdb3c4371ffe6d9e336dbcb2e2365
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
module JBundle class Version def initialize(string) @major, @minor, @patch = string.split('.') raise "require (major.minor.patch) eg: 1.3.1" unless @major && @minor && @patch end def full [@major, @minor, @patch].join('.') end def major_minor [@major, @minor].join('.') end def releaseable prerelease? ? [full] : [full, major_minor] end def to_s full end def inspect "[JBundle::Version] #{full}" end protected def prerelease? @patch =~ /-pre/ end end class Writer def initialize(compiler, version, target_dir) @compiler, @version, @target_dir = compiler, version, target_dir @out = [] end def write @version.releaseable.each do |version_dir| if @compiler.buildable? @out << write_file(@compiler.src, ::File.join(@target_dir, version_dir), @compiler.name) @out << write_file(@compiler.min, ::File.join(@target_dir, version_dir), @compiler.min_name) else @out << copy_file(@compiler.src_path, ::File.join(@target_dir, version_dir, @compiler.name)) end end @out end protected def copy_file(src, target) JBundle.log("Copying to #{target}") FileUtils.cp src, target target end def write_file(content, dir_name, file_name) FileUtils.mkdir_p dir_name target = ::File.join(dir_name, file_name) JBundle.log("Writing to #{target}") ::File.open(target, 'w') do |f| f.write content end target end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jbundle-0.0.6 | lib/jbundle/writer.rb |