Class: OLE_QA::Framework::Bib_Factory

Inherits:
Object
  • Object
show all
Extended by:
Factory_Helpers
Defined in:
lib/data_factory/bib_factory.rb

Overview

Manufacture strings for bibliographic record testing

Class Method Summary collapse

Class Method Details

.author(first_len = 4..6, last_len = 8..12) ⇒ Object

Return a random author with specified first and last name lengths.



49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/data_factory/bib_factory.rb', line 49

def author(first_len = 4..6, last_len = 8..12)
  str = String.new
  if first_len.class == Range
    str << name_builder(sampler(first_len))
  else
    str << name_builder(first_len.to_i)
  end
  str << ' '
  if last_len.class == Range
    str << name_builder(sampler(last_len))
  else
    str << name_builder(last_len.to_i)
  end
end

.barcodeObject

Return a random string of between 12 and 18 numbers to be used as a barcode.



23
24
25
# File 'lib/data_factory/bib_factory.rb', line 23

def barcode
  (0..(11..17).to_a.sample).map{(0..9).to_a.sample}.join
end

.call_number(format = "LOC") ⇒ Object

Return a random (non-validated) call number in the specified format.



28
29
30
31
32
33
34
35
36
37
# File 'lib/data_factory/bib_factory.rb', line 28

def call_number(format = "LOC")
  call_num = Array.new
  # TODO - Use case...when once other formats are added.
  # LOC Format Call Number
  call_num << (0..(0..1).to_a.sample).map{('A'..'Z').to_a.sample}.join
  call_num << (0..(1..3).to_a.sample).map{(1..9).to_a.sample}.join << " "
  call_num << "." <<  ('A'..'Z').to_a.sample
  call_num << (0..(1..2).to_a.sample).map{(1..9).to_a.sample}.join
  call_num.join
end

.title(len = 8..12) ⇒ Object

Return a random title with the specified length.



40
41
42
43
44
45
46
# File 'lib/data_factory/bib_factory.rb', line 40

def title(len = 8..12)
  if len.class == Range
    name_builder(sampler(len))
  else
    name_builder(len.to_i)
  end
end