Sha256: 9bf29ef0f93407c4d88e32a218c56a55703401c2fdc9aa22ca573b94d209b79a

Contents?: true

Size: 1.02 KB

Versions: 51

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

module CMSScanner
  module Model
    # Version
    class Version
      include Finders::Finding

      attr_reader :number

      def initialize(number, opts = {})
        @number = number.to_s
        @number = "0#{number}" if @number[0, 1] == '.'

        parse_finding_options(opts)
      end

      # @param [ Version, String ] other
      # rubocop:disable Style/NumericPredicate
      def ==(other)
        (self <=> other) == 0
      end
      # rubocop:enable all

      # @param [ Version, String ] other
      def <(other)
        (self <=> other) == -1
      end

      # @param [ Version, String ] other
      def >(other)
        (self <=> other) == 1
      end

      # @param [ Version, String ] other
      def <=>(other)
        other = self.class.new(other) unless other.is_a?(self.class) # handle potential '.1' version

        Gem::Version.new(number) <=> Gem::Version.new(other.number)
      rescue ArgumentError
        false
      end

      def to_s
        number
      end
    end
  end
end

Version data entries

51 entries across 51 versions & 3 rubygems

Version Path
cms_scanner-0.15.0 app/models/version.rb
cms_scanner-0.14.3 app/models/version.rb
cms_scanner-0.14.2 app/models/version.rb
cms_scanner-0.13.9 app/models/version.rb
cms_scanner-0.13.8 app/models/version.rb
new_cms_scanner-0.13.7 app/models/version.rb
k8s_cms_scanner-0.1.0 app/models/version.rb
cms_scanner-0.13.7 app/models/version.rb
cms_scanner-0.13.6 app/models/version.rb
cms_scanner-0.13.5 app/models/version.rb
cms_scanner-0.13.4 app/models/version.rb
cms_scanner-0.13.3 app/models/version.rb
cms_scanner-0.13.2 app/models/version.rb
cms_scanner-0.13.1 app/models/version.rb
cms_scanner-0.13.0 app/models/version.rb
cms_scanner-0.12.2 app/models/version.rb
cms_scanner-0.12.1 app/models/version.rb
cms_scanner-0.12.0 app/models/version.rb
cms_scanner-0.11.0 app/models/version.rb
cms_scanner-0.10.1 app/models/version.rb