class Jfuzz::IntegerGenerator
Public Class Methods
type()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 12 def self.type "integer" end
Public Instance Methods
generate()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 8 def generate random_integer end
Private Instance Methods
exclusive_maximum?()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 59 def exclusive_maximum? property.fetch("exclusiveMaximum", false) end
exclusive_minimum?()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 63 def exclusive_minimum? property.fetch("exclusiveMinimum", false) end
generate_multiple(min, max)
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 29 def generate_multiple(min, max) factor = property.fetch("multipleOf").to_i min /= factor max /= factor rand(min..max).to_i * factor end
maximum()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 42 def maximum return property.fetch("maximum").to_i if maximum? Jfuzz.max_integer.to_i end
maximum?()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 55 def maximum? property.key?("maximum") end
minimum()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 37 def minimum return property.fetch("minimum").to_i if minimum? Jfuzz.min_integer.to_i end
minimum?()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 51 def minimum? property.key?("minimum") end
multiple_of?()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 47 def multiple_of? property.key?("multipleOf") end
random_integer()
click to toggle source
# File lib/jfuzz/generators/integer_generator.rb, line 18 def random_integer min = minimum max = maximum min + 1 if exclusive_minimum? max - 1 if exclusive_maximum? return generate_multiple(min, max) if multiple_of? rand(min..max) end