Skip to content

Instantly share code, notes, and snippets.

@nevadajames
Last active March 21, 2018 21:59
Show Gist options
  • Select an option

  • Save nevadajames/16567d35008ba3a21f29ea08cbaaa98e to your computer and use it in GitHub Desktop.

Select an option

Save nevadajames/16567d35008ba3a21f29ea08cbaaa98e to your computer and use it in GitHub Desktop.
class PhoneGenerator
def self.generate_landline
area_code = AREA_CODES.values.sample
if area_code.is_a?(Array)
area_code = area_code.sample
end
create_phone(area_code, six_digit_extension)
end
def self.generate_mobile
leading = ['6','7'].sample
create_phone(leading, eight_digit_extension)
end
def self.generate_toll_fee
leading = ['900','800'].sample
create_phone(leading, six_digit_extension)
end
def self.generate_premium
leading = ['902','802'].sample
create_phone(leading, six_digit_extension)
end
def self.create_phone(leading,extension)
Phone.new([leading,extension].join)
end
private
def six_digit_extension
6.times.map{ rand(0..9) }.join
end
def eight_digit_extension
8.times.map{ rand(0..9) }.join
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment