Sha256: 4a4059c10ee4511f6bfd6ba3fd7b473b5554965fd08b7c0f04629009f0c17f1e
Contents?: true
Size: 946 Bytes
Versions: 2
Compression:
Stored size: 946 Bytes
Contents
module Vedeu # Forces the value within defined limits. # class Limit # @param (see #initialize) def self.apply(v, vn, max, min = 1) new(v, vn, max, min).apply end # @param v [Fixnum] # @param vn [Fixnum] # @param max [Fixnum] # @param min [Fixnum] # @return [Vedeu::Limit] def initialize(v, vn, max, min = 1) @v = v @vn = vn @max = max @min = min || 1 end # @return [Fixnum] def apply if (v + vn) > max applied = vn - ((v + vn) - max) return applied < min ? min : applied else vn end end private # @!attribute [r] v # @return [Fixnum] attr_reader :v # @!attribute [r] vn # @return [Fixnum] attr_reader :vn # @!attribute [r] min # @return [Fixnum] attr_reader :min # @!attribute [r] max # @return [Fixnum] attr_reader :max end # Limit end # Vedeu
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.4.9 | lib/vedeu/geometry/limit.rb |
vedeu-0.4.8 | lib/vedeu/geometry/limit.rb |