Sha256: 4cd6e6cf3d3e76124cf0c067d28963ebe785ac00d1c991063cdfd7b1c73e781d

Contents?: true

Size: 592 Bytes

Versions: 9

Compression:

Stored size: 592 Bytes

Contents

module Serializable
  class Versions < Array

    def <<(object)
      super(object)
      self.sort!
    end

    def push(object)
      super(object)
      self.sort!
    end

    def find_version(seeking_version)
      previous_version = nil

      if seeking_version.is_a?(Version)
        self.each do |version|
          if version < seeking_version
            previous_version = version
          elsif version > seeking_version
            return previous_version
          else
            return version
          end
        end
      end
      previous_version
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
birkirb-acts_as_serializable-0.1.0 lib/versions.rb
birkirb-acts_as_serializable-0.1.1 lib/versions.rb
birkirb-acts_as_serializable-0.1.2 lib/versions.rb
birkirb-acts_as_serializable-0.1.4 lib/versions.rb
birkirb-acts_as_serializable-0.1.5 lib/serializable/versions.rb
birkirb-acts_as_serializable-0.1.6 lib/serializable/versions.rb
acts_as_serializable-0.1.6 lib/serializable/versions.rb
acts_as_serializable-0.1.2 lib/versions.rb
acts_as_serializable-0.1.5 lib/serializable/versions.rb