Module: Assert::Factory::Random

Defined in:
lib/assert/factory.rb

Constant Summary collapse

DICTIONARY =
[*'a'..'z'].freeze

Class Method Summary collapse

Class Method Details

.binaryObject



139
140
141
# File 'lib/assert/factory.rb', line 139

def self.binary
  [ self.integer(10000) ].pack('N*')
end

.date_stringObject



98
99
100
# File 'lib/assert/factory.rb', line 98

def self.date_string
  Time.now.strftime("%Y-%m-%d")
end

.datetime_stringObject



102
103
104
# File 'lib/assert/factory.rb', line 102

def self.datetime_string
  Time.now.strftime("%Y-%m-%d %H:%M:%S")
end

.dir_path_string(length = nil) ⇒ Object



130
131
132
133
# File 'lib/assert/factory.rb', line 130

def self.dir_path_string(length = nil)
  length ||= 12
  File.join(*self.string(length).scan(/.{1,4}/))
end

.file_name_string(length = nil) ⇒ Object



125
126
127
128
# File 'lib/assert/factory.rb', line 125

def self.file_name_string(length = nil)
  length ||= 6
  "#{self.string(length)}.#{self.string(3)}"
end

.file_path_stringObject



135
136
137
# File 'lib/assert/factory.rb', line 135

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



94
95
96
# File 'lib/assert/factory.rb', line 94

def self.float(max = nil)
  (self.integer((max || 100) - 1) + rand).to_f
end

.hex_string(length = nil) ⇒ Object



120
121
122
123
# File 'lib/assert/factory.rb', line 120

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



89
90
91
# File 'lib/assert/factory.rb', line 89

def self.integer(max = nil)
  rand(max || 100) + 1
end

.slug_string(length = nil) ⇒ Object



115
116
117
118
# File 'lib/assert/factory.rb', line 115

def self.slug_string(length = nil)
  length ||= 8
  self.string(length).scan(/.{1,4}/).join('-')
end

.string(length = nil) ⇒ Object



111
112
113
# File 'lib/assert/factory.rb', line 111

def self.string(length = nil)
  [*0..((length || 10) - 1)].map{ |n| DICTIONARY[rand(DICTIONARY.size)] }.join
end

.time_stringObject



106
107
108
# File 'lib/assert/factory.rb', line 106

def self.time_string
  Time.now.strftime("%H:%M:%S")
end