Sha256: f42cbfedd60e1f71c0863644912a102de84b217e756cd42be7c032f2852c87f9
Contents?: true
Size: 939 Bytes
Versions: 2
Compression:
Stored size: 939 Bytes
Contents
module Vedeu # Forces the value within defined limits. # class Limit # @see #new, #apply 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.7 | lib/vedeu/geometry/limit.rb |
vedeu-0.4.6 | lib/vedeu/geometry/limit.rb |