Sha256: ddf9b7960b74ece14b723f9fcddea3ad36ef87e1daefe7224db440d3e373a317

Contents?: true

Size: 1.18 KB

Versions: 7

Compression:

Stored size: 1.18 KB

Contents

require 'ostruct'
require 'albacore/semver'

module Albacore
  module Paket
    def self.parse_lock_line line
      if (m = line.match(/^\s*(?<id>[\w\-\.]+) \((?<ver>[\.\d\w\-]+)\)( - )?((framework: >= (?<tf>\w+))|(redirects: (?<redir>\w+)))?$/i))
        ver = Albacore::SemVer.parse(m[:ver], '%M.%m.%p', false)
        OpenStruct.new(:id               => m[:id],
                       :version          => m[:ver],
                       :group            => true,
                       :target_framework => m[:tf],
                       :redirects        => m[:redir] || nil,
                       :semver           => ver)
      end
    end

    # returns [id, {id,version,group,target_framework,redirects,semver}][]
    def self.parse_paket_lock data
      data.map { |line| parse_lock_line line }
          .compact
          .map { |package| [package.id, package] }
    end

    # returns string or nil
    def self.parse_dependencies_line line
      if (m = line.match(/^nuget (?<id>[\w\-\.]+)$/i))
        m[:id]
      end
    end

    # returns a string[]
    def self.parse_dependencies_file data
      data.map { |line| parse_dependencies_line line }
          .compact
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
albacore-3.0.1 ./lib/albacore/paket.rb
albacore-3.0.0.pre.alpha.6 ./lib/albacore/paket.rb
albacore-3.0.0.pre.alpha.5 ./lib/albacore/paket.rb
albacore-3.0.0.pre.alpha.4 ./lib/albacore/paket.rb
albacore-3.0.0.pre.alpha.3 ./lib/albacore/paket.rb
albacore-3.0.0.pre.alpha.2 ./lib/albacore/paket.rb
albacore-3.0.0.pre.alpha ./lib/albacore/paket.rb