Sha256: 0f5d5e8ac80349824c586086ca1d9c0ed59b74f4605757f7d9c2270d101d457a

Contents?: true

Size: 1.14 KB

Versions: 22

Compression:

Stored size: 1.14 KB

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 }
      gem_spec.present? && 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)
      return 0 if version.blank?
      version = version.to_s.split('.')
      version = format_gem_version(version)
      version.join('.').to_f
    end

    def format_gem_version(version)
      return version if version.size <= 2
      version.pop until version.size == 2
      version
    end

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

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
capistrano_multiconfig_parallel-1.7.2 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.7.1 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.7.0 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.6.0 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.5.2 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.5.1 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.5.0 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.4.2 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.4.1 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.4.0 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.3.1 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.3.0 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.2.9 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.2.8 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.2.7 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.2.6 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.2.5 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.2.4 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.2.3 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb
capistrano_multiconfig_parallel-1.2.2 lib/capistrano_multiconfig_parallel/helpers/gem_helper.rb