class Embulk::PackageData
Public Class Methods
new(base_name, dest_dir, erb_binding=nil)
click to toggle source
# File lib/embulk/data/package_data.rb, line 4 def initialize(base_name, dest_dir, erb_binding=nil) require 'fileutils' @base_name = base_name @dest_dir = dest_dir @erb_binding = erb_binding end
Public Instance Methods
bincontent(src)
click to toggle source
# File lib/embulk/data/package_data.rb, line 19 def bincontent(src) File.binread(path(src)) end
content(src)
click to toggle source
# File lib/embulk/data/package_data.rb, line 15 def content(src) File.read(path(src)) end
cp(src, dest_name)
click to toggle source
# File lib/embulk/data/package_data.rb, line 28 def cp(src, dest_name) dest = dest_path_message(dest_name) File.open(dest, "wb") do |dst_io| File.open(path(src), "rb") do |src_io| FileUtils.copy_stream src_io, dst_io end end end
cp_erb(src, dest_name)
click to toggle source
# File lib/embulk/data/package_data.rb, line 37 def cp_erb(src, dest_name) dest = dest_path_message(dest_name) File.open(dest, "wb") {|f| f.write erb(src) } end
dest_path(dest_name)
click to toggle source
# File lib/embulk/data/package_data.rb, line 42 def dest_path(dest_name) File.join(@dest_dir, *dest_name.split('/')) end
dest_path_message(dest_name)
click to toggle source
# File lib/embulk/data/package_data.rb, line 46 def dest_path_message(dest_name) path = dest_path(dest_name) puts " Creating #{path}" FileUtils.mkdir_p File.dirname(path) path end
erb(src)
click to toggle source
# File lib/embulk/data/package_data.rb, line 23 def erb(src) require 'erb' ERB.new(content(src), nil, '%').result(@erb_binding) end
path(src)
click to toggle source
# File lib/embulk/data/package_data.rb, line 11 def path(src) Embulk.lib_path("embulk/data/#{@base_name}/#{src}") end
set_executable(dest_name)
click to toggle source
# File lib/embulk/data/package_data.rb, line 53 def set_executable(dest_name) dest = dest_path(dest_name) File.chmod(File.stat(dest).mode | 0111, dest) end