Sha256: 57856c07bdb1478b0cfdba63654a1cc1dc724a3c2ab89a26e3ca950c2312f939

Contents?: true

Size: 785 Bytes

Versions: 3

Compression:

Stored size: 785 Bytes

Contents

module Scaffoldhub
  class TemplateFile < RemoteFile

    def initialize(src, dest, local, base_url, status_proc)
      @src      = src
      @dest     = dest || ''
      @local    = local
      @base_url = base_url
      super(status_proc)
    end

    def src
      if @local
        File.join(@base_url, @src)
      else
        @local_path
      end
    end

    def dest
      File.join(@dest, File.basename(@src))
    end

    def download!
      if @local
        raise Errno::ENOENT.new(src) unless File.exists?(src)
      else
        @local_path = Tempfile.new(File.basename(@src)).path
        open(@local_path, "wb") do |file|
          file.write(remote_file_contents!)
        end
      end
      self
    end

    def url
      "#{@base_url}/#{@src}"
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
scaffoldhub-0.0.4 lib/scaffoldhub/template_file.rb
scaffoldhub-0.0.3 lib/scaffoldhub/template_file.rb
scaffoldhub-0.0.2 lib/scaffoldhub/template_file.rb