Sha256: fd01a286276033ec594f8786b833a51e27d2c19bb0910bb3ba3c89165b584b28

Contents?: true

Size: 982 Bytes

Versions: 4

Compression:

Stored size: 982 Bytes

Contents

# frozen_string_literal: true

require "ruby-next/version"

module RubyNext
  # Mininum Ruby version supported by RubyNext
  MIN_SUPPORTED_VERSION = Gem::Version.new("2.5.0")

  # Where to store transpiled files (relative from the project LOAD_PATH, usually `lib/`)
  RUBY_NEXT_DIR = ".rbnext"

  # Defines last minor version for every major version
  LAST_MINOR_VERSIONS = {
    2 => 8
  }.freeze

  LATEST_VERSION = [2, 8].freeze

  class << self
    def next_version(version = RUBY_VERSION)
      major, minor = Gem::Version.new(version).segments.map(&:to_i)

      return if major >= LATEST_VERSION.first && minor >= LATEST_VERSION.last

      nxt =
        if LAST_MINOR_VERSIONS[major] == minor
          "#{major + 1}.0.0"
        else
          "#{major}.#{minor + 1}.0"
        end

      Gem::Version.new(nxt)
    end
  end

  require_relative "ruby-next/core"
  require_relative "ruby-next/core_ext" if RubyNext::Core.core_ext?
  require_relative "ruby-next/logging"
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruby-next-core-0.9.2 lib/ruby-next.rb
ruby-next-core-0.9.1 lib/ruby-next.rb
ruby-next-core-0.9.0 lib/ruby-next.rb
ruby-next-core-0.9.0.pre lib/ruby-next.rb