Sha256: e0258cdbe6719904ed4b6909081919ee94b3c15144aedca42544fb5763852df7

Contents?: true

Size: 519 Bytes

Versions: 25

Compression:

Stored size: 519 Bytes

Contents

module Mongomatic 
  module Expectations
    class OfLength < Expectation
      def self.name
        "of_length"
      end
  
      def to_be
        return true if opts[:allow_nil] && value.nil?
    
        length = (value) ? value.size : value.to_s.size
        add_error_msg if opts[:minimum] && length < opts[:minimum]
        add_error_msg if opts[:maximum] && length > opts[:maximum]
        if opts[:range]
          add_error_msg unless opts[:range].include?(length)
        end  
      end
    end 
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
mongomatic-0.9.0.pre lib/mongomatic/expectations/of_length.rb
mongomatic-0.8.2 lib/mongomatic/expectations/of_length.rb
mongomatic-0.8.1.1 lib/mongomatic/expectations/of_length.rb
mongomatic-0.7.3 lib/mongomatic/expectations/of_length.rb
mongomatic-0.7.2 lib/mongomatic/expectations/of_length.rb
mongomatic-0.7.1 lib/mongomatic/expectations/of_length.rb
mongomatic-0.7.0 lib/mongomatic/expectations/of_length.rb
mongomatic-0.6.5 lib/mongomatic/expectations/of_length.rb
mongomatic-0.6.4 lib/mongomatic/expectations/of_length.rb
mongomatic-0.6.3 lib/mongomatic/expectations/of_length.rb
mongomatic-0.6.2 lib/mongomatic/expectations/of_length.rb
mongomatic-0.6.1 lib/mongomatic/expectations/of_length.rb
mongomatic-0.6.0 lib/mongomatic/expectations/of_length.rb
mongomatic-0.5.8 lib/mongomatic/expectations/of_length.rb
mongomatic-0.5.7 lib/mongomatic/expectations/of_length.rb
mongomatic-0.5.6 lib/mongomatic/expectations/of_length.rb
mongomatic-0.5.5 lib/mongomatic/expectations/of_length.rb
mongomatic-0.5.4 lib/mongomatic/expectations/of_length.rb
mongomatic-0.5.3 lib/mongomatic/expectations/of_length.rb
mongomatic-0.5.2 lib/mongomatic/expectations/of_length.rb