Sha256: 4936113758d2aa339f76ec187c79071cab4b4143a1248d8b9b005d8e277a1540

Contents?: true

Size: 673 Bytes

Versions: 2

Compression:

Stored size: 673 Bytes

Contents

# frozen_string_literal: true

module Orthoses
  module Rails
    module KnownSigHelper
      def best_version_paths(current, base_dir)
        best_version = find_best_version(current, base_dir)
        Dir.glob("#{File.expand_path("known_sig", base_dir)}/#{best_version}/**/*.rbs")
      end

      def find_best_version(current, base_dir)
        current_v = Gem::Version.new(current)
        versions = version_dir(base_dir)
        versions.reverse.bsearch { |v| v <= current_v } || versions.first
      end

      def version_dir(base_dir)
        Dir.glob("#{File.expand_path("known_sig", base_dir)}/*").map(&File.method(:basename)).sort
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
orthoses-rails-0.4.0 lib/orthoses/rails/known_sig_helper.rb
orthoses-rails-0.3.0 lib/orthoses/rails/known_sig_helper.rb