Sha256: f7d6873c8b309af2fbed06be215b336fb2def458191aa1a5f6fdff8e1e2fd6f8

Contents?: true

Size: 702 Bytes

Versions: 3

Compression:

Stored size: 702 Bytes

Contents

module RepoManager

  # wrapper class for a source code repository configuration
  class RepoAsset < AppAsset

    # The asset_key, if defined, will be used as key to asset attributes when
    # loading from YAML, if not defined, the entire YAML file will load.
    #
    # Override in decendants.
    #
    # @ return [Symbol] or nil
    def asset_key
      :repo
    end

    def status
      @status ||= RepoManager::Status.new(scm)
    end

    # version control system wrapper
    def scm
      return @scm if @scm
      raise NoSuchPathError unless File.exists?(path)
      raise InvalidRepositoryError unless File.exists?(File.join(path, '.git'))
      @scm = Git.open(path)
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
repo_manager-0.7.3 lib/repo_manager/assets/repo_asset.rb
repo_manager-0.7.2 lib/repo_manager/assets/repo_asset.rb
repo_manager-0.7.1 lib/repo_manager/assets/repo_asset.rb