Sha256: 46a7e8b37c0dab1689d8969ef2b3af9068d8a87abf5fdc065646d28a47c3c329

Contents?: true

Size: 943 Bytes

Versions: 1

Compression:

Stored size: 943 Bytes

Contents

module CapistranoMulticonfigParallel
  # helper used to determine gem versions
  module GemHelper
  module_function

    def find_loaded_gem(name, property = nil)
      gem_spec = Gem.loaded_specs.values.find { |repo| repo.name == name }
      property.present? ? gem_spec.send(property) : gem_spec
    end

    def find_loaded_gem_property(gem_name, property = 'version')
      find_loaded_gem(gem_name, property)
    end

    def fetch_gem_version(gem_name)
      version = find_loaded_gem_property(gem_name)
      version.blank? ? nil : get_parsed_version(version)
    end

    def get_parsed_version(version)
      version = version.to_s.split('.')
      version.pop until version.size == 2
      version.join('.').to_f
    end

    def verify_gem_version(gem_version, version, options = {})
      version = get_parsed_version(version)
      get_parsed_version(gem_version).send(options.fetch('operator', '<='), version)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano_multiconfig_parallel-1.0.7 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb