Module: ElmInstall::Utils

Defined in:
lib/elm_install/utils.rb

Overview

This module contains utility functions.

Constant Summary collapse

CONVERTERS =
{
  /v<(?!=)(.*)/ => '<',
  /(.*)<=v/ => '>=',
  /v<=(.*)/ => '<=',
  /(.*)<v/ => '>'
}.freeze

Class Method Summary collapse

Class Method Details

.package_version_path(package, version) ⇒ Object



22
23
24
25
# File 'lib/elm_install/utils.rb', line 22

def package_version_path(package, version)
  package_name = GitCloneUrl.parse(package).path.sub(%r{^/}, '')
  [package_name, File.join('elm-stuff', 'packages', package_name, version)]
end

.transform_constraint(constraint) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/elm_install/utils.rb', line 13

def transform_constraint(constraint)
  constraint.gsub!(/\s/, '')

  CONVERTERS.map do |regexp, prefix|
    match = constraint.match(regexp)
    "#{prefix} #{match[1]}" if match
  end.compact
end