Sha256: 094e6defb53b258763892509a902c38103c8feec806f8e5a0f14b4e64af51e82

Contents?: true

Size: 921 Bytes

Versions: 5

Compression:

Stored size: 921 Bytes

Contents

require 'skippy/lib_source'
require 'skippy/library'
require 'skippy/project'

class Skippy::LibraryInstaller

  attr_reader :project, :source

  # @param [Skippy::Project] project
  # @param [Skippy::LibrarySource] source
  def initialize(project, lib_source)
    @project = project
    @source = lib_source
    @messager = nil
  end

  def on_status(&block)
    @messager = block
  end

  # @return [Skippy::Library]
  def install
    raise NotImplementedError
  end

  private

  # @param [Symbol] type
  # @param [String] message
  def status(type, message)
    @messager.call(type, message) if @messager
  end

  # @param [String] message
  def info(message)
    status(:info, message)
  end

  # @param [String] message
  def warning(message)
    status(:warning, "Warning: #{message}")
  end

  # @return [Pathname]
  def path
    project.libraries.path
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
skippy-0.4.3.a lib/skippy/installer.rb
skippy-0.4.2.a lib/skippy/installer.rb
skippy-0.4.1.a lib/skippy/installer.rb
skippy-0.4.0.a lib/skippy/installer.rb
skippy-0.3.0.a lib/skippy/installer.rb