Method: Random.method_missing
- Defined in:
- lib/random_data_despegar.rb
.method_missing(methodname) ⇒ Object
Looks for a file in the load path with the name methodname.dat, reads the lines from that file, then gives you a random line from that file. Raises an error if it can’t find the file. For example, given a file named “horse.dat” in your load path: >> Random.horse
> “Stallion”
>> Random.horse
> “Pony”
>> Random.horse
> “Mare”
>> Random.horse
> “Clydesdale”
>> Random.horse
> “Stallion”
>> Random.horse
> “Mare”
46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/random_data_despegar.rb', line 46 def self.method_missing(methodname) thing = "#{methodname}.dat" filename = find_path(thing) if filename.nil? super else array = [] File.open(filename, 'r') { |f| array = f.read.split(/[\r\n]+/) } return array.rand end end |