Module: Assert::Factory::Random
- Defined in:
- lib/assert/factory.rb
Constant Summary collapse
- DICTIONARY =
[*'a'..'z'].freeze
Class Method Summary collapse
- .binary ⇒ Object
- .date_string ⇒ Object
- .datetime_string ⇒ Object
- .dir_path_string(length = nil) ⇒ Object
- .email_string(domain = nil, length = nil) ⇒ Object
- .file_name_string(length = nil) ⇒ Object
- .file_path_string ⇒ Object
-
.float(max = nil) ⇒ Object
‘rand` with no args gives a float between 0 and 1.
- .hex_string(length = nil) ⇒ Object
-
.integer(max = nil) ⇒ Object
rand given a max int value returns integers between 0 and max-1.
- .string(length = nil) ⇒ Object
- .time_string ⇒ Object
- .url_string(host = nil, length = nil) ⇒ Object
Class Method Details
.binary ⇒ Object
155 156 157 |
# File 'lib/assert/factory.rb', line 155 def self.binary [ self.integer(10000) ].pack('N*') end |
.date_string ⇒ Object
110 111 112 |
# File 'lib/assert/factory.rb', line 110 def self.date_string Time.now.strftime("%Y-%m-%d") end |
.datetime_string ⇒ Object
114 115 116 |
# File 'lib/assert/factory.rb', line 114 def self.datetime_string Time.now.strftime("%Y-%m-%d %H:%M:%S") end |
.dir_path_string(length = nil) ⇒ Object
137 138 139 140 |
# File 'lib/assert/factory.rb', line 137 def self.dir_path_string(length = nil) length ||= 12 File.join(*self.string(length).scan(/.{1,4}/)) end |
.email_string(domain = nil, length = nil) ⇒ Object
150 151 152 153 |
# File 'lib/assert/factory.rb', line 150 def self.email_string(domain = nil, length = nil) domain ||= "#{self.string(5)}.com" "#{self.string(length)}@#{domain}" end |
.file_name_string(length = nil) ⇒ Object
132 133 134 135 |
# File 'lib/assert/factory.rb', line 132 def self.file_name_string(length = nil) length ||= 6 "#{self.string(length)}.#{self.string(3)}" end |
.file_path_string ⇒ Object
142 143 144 |
# File 'lib/assert/factory.rb', line 142 def self.file_path_string File.join(self.dir_path_string, self.file_name_string) end |
.float(max = nil) ⇒ Object
‘rand` with no args gives a float between 0 and 1
106 107 108 |
# File 'lib/assert/factory.rb', line 106 def self.float(max = nil) (max || 100).to_f * rand end |
.hex_string(length = nil) ⇒ Object
127 128 129 130 |
# File 'lib/assert/factory.rb', line 127 def self.hex_string(length = nil) length ||= 10 self.integer(("f" * length).hex - 1).to_s(16).rjust(length, '0') end |
.integer(max = nil) ⇒ Object
rand given a max int value returns integers between 0 and max-1
101 102 103 |
# File 'lib/assert/factory.rb', line 101 def self.integer(max = nil) rand(max || 32_766) + 1 end |
.string(length = nil) ⇒ Object
123 124 125 |
# File 'lib/assert/factory.rb', line 123 def self.string(length = nil) [*0..((length || 10) - 1)].map{ |n| DICTIONARY[rand(DICTIONARY.size)] }.join end |
.time_string ⇒ Object
118 119 120 |
# File 'lib/assert/factory.rb', line 118 def self.time_string Time.now.strftime("%H:%M:%S") end |
.url_string(host = nil, length = nil) ⇒ Object
146 147 148 |
# File 'lib/assert/factory.rb', line 146 def self.url_string(host = nil, length = nil) File.join(host.to_s, self.dir_path_string(length)) end |