Skip to content

An API for generating randomized data.

License

Notifications You must be signed in to change notification settings

redding/much-factory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MuchFactory

MuchFactory is an API for generating randomized data. This is intended to be brought into testing environments and used in test runs to help generate randomized test data.

Note: this was originally implemented in and extracted from Assert.

Usage

require "much-factory"

MuchFactory.integer    #=> 15742
MuchFactory.integer(3) #=> 2
MuchFactory.float      #=> 87.2716908041922
MuchFactory.float(3)   #=> 2.5466638138805

MuchFactory.date       #=> #<Date: 4915123/2,0,2299161>
MuchFactory.time       #=> Wed Sep 07 10:37:22 -0500 2016
MuchFactory.datetime   #=> #<DateTime: 302518290593/43200,0,2299161>

MuchFactory.string     #=> "boxsrbazeq"
MuchFactory.string(3)  #=> "rja"
MuchFactory.symbol     #=> :sfdhortksj
MuchFactory.symbol(3)  #=> :emh
MuchFactory.text       #=> "khcwyizmymajfzzxlfwz"
MuchFactory.text(3)    #=> "qcy"
MuchFactory.slug       #=> "licia"
MuchFactory.slug(3)    #=> "luu"
MuchFactory.hex        #=> "48797adb33"
MuchFactory.hex(3)     #=> "2fe"
MuchFactory.url        #=> "/cdqz/hqeq/zbsl"
MuchFactory.email      #=> "[email protected]"

MuchFactory.file_name  #=> "kagahm.ybb"
MuchFactory.path       #=> "jbzf/omyk/vbha"
MuchFactory.dir_path   #=> "fxai/lwnq/urqu"
MuchFactory.file_path  #=> "bcno/pzxg/gois/mpvlfo.wdr"

MuchFactory.binary     #=> "\000\000\003S"
MuchFactory.boolean    #=> false

You can also extend on your own factory class:

module Factory
  extend MuchFactory

  def self.data
    { Factory.string => Factory.string }
  end
end

Installation

Add this line to your application's Gemfile:

gem "much-factory"

And then execute:

$ bundle

Or install it yourself as:

$ gem install much-factory

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

About

An API for generating randomized data.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages