Sha256: 7bb4d5af8ac71ed4f72dc8d7d934a0cc322a9d0ce78b1f18b9f3af6d317d4120

Contents?: true

Size: 773 Bytes

Versions: 9

Compression:

Stored size: 773 Bytes

Contents

require 'ostruct'
require 'albacore/semver'

module Albacore
  module Paket
    def self.parse_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],
                       :target_framework => m[:tf] || 'net40',
                       :redirects        => m[:redir] || nil,
                       :semver           => ver)
      end
    end

    def self.parse_paket_lock data
      data.map { |line| parse_line line }.
           compact.
           map { |package| [package.id, package] }
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
albacore-2.8.0 ./lib/albacore/paket.rb
albacore-2.7.0 ./lib/albacore/paket.rb
albacore-2.6.8 ./lib/albacore/paket.rb
albacore-2.6.7 ./lib/albacore/paket.rb
albacore-2.6.6 ./lib/albacore/paket.rb
albacore-2.6.4 ./lib/albacore/paket.rb
albacore-2.6.3 ./lib/albacore/paket.rb
albacore-2.6.2 ./lib/albacore/paket.rb
albacore-2.6.1 ./lib/albacore/paket.rb