Sha256: 6415a04256a3e895c52e7bc05ff6635a252723991bee8b7d9b0f3a3f2b87a16a
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 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 protected def prerelease? @patch =~ /-pre/ end end class Writer def initialize(compiler, version, target_dir) @compiler, @version, @target_dir = compiler, Version.new(version), target_dir end def write @version.releaseable.each do |version_dir| if @compiler.buildable? write_file @compiler.src, ::File.join(@target_dir, version_dir), @compiler.name write_file @compiler.min, ::File.join(@target_dir, version_dir), @compiler.min_name else copy_file @compiler.src_path, ::File.join(@target_dir, version_dir, @compiler.name) end end end protected def copy_file(src, target) JBundle.log("Copying to #{target}") FileUtils.cp src, target end def write_file(content, dir_name, file_name) FileUtils.mkdir_p dir_name path = ::File.join(dir_name, file_name) JBundle.log("Writing to #{path}") ::File.open(path, 'w') do |f| f.write content end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jbundle-0.0.2 | lib/jbundle/writer.rb |
jbundle-0.0.1 | lib/jbundle/writer.rb |