class Cornucopia::Util::FileAsset

Public Class Methods

asset(asset_name) click to toggle source
# File lib/cornucopia/util/file_asset.rb, line 19
def asset(asset_name)
  Cornucopia::Util::FileAssetCache.instance.asset_cache[asset_name.to_sym] ||= FileAsset.new(asset_name)
  Cornucopia::Util::FileAssetCache.instance.asset_cache[asset_name.to_sym]
end
new(asset_name) click to toggle source
# File lib/cornucopia/util/file_asset.rb, line 25
def initialize(asset_name)
  @asset_name = asset_name
  @asset_body = nil
end

Public Instance Methods

add_file(output_location) click to toggle source
# File lib/cornucopia/util/file_asset.rb, line 47
def add_file(output_location)
  unless (File.exist?(output_location))
    create_file(output_location)
  end
end
body() click to toggle source
# File lib/cornucopia/util/file_asset.rb, line 34
def body
  unless @asset_body
    self.source_file = path
  end

  @asset_body
end
body=(asset_body) click to toggle source
# File lib/cornucopia/util/file_asset.rb, line 30
def body=(asset_body)
  @asset_body = asset_body
end
create_file(output_location) click to toggle source
# File lib/cornucopia/util/file_asset.rb, line 53
def create_file(output_location)
  if @asset_body
    File.open(output_location, "w+") do |write_file|
      write_file << @asset_body
    end
  else
    FileUtils.cp path, output_location
  end
end
path() click to toggle source
# File lib/cornucopia/util/file_asset.rb, line 63
def path
  File.absolute_path(File.join(File.dirname(__FILE__), "../source_files/", @asset_name))
end
source_file=(source_file_name) click to toggle source
# File lib/cornucopia/util/file_asset.rb, line 42
def source_file=(source_file_name)
  # We read the file into memory in case the file moves or is temporary.
  @asset_body = File.read(source_file_name)
end