Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby script to convert phone numbers and compare them to a dictionary
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
Gemfile
README
dictionary.rb
phone_numbers.rb
tidy_dictionary.rb

README

This project is an attempt to write a script that processes phone numbers into words. It's been massively 
educational, considering a) it's my first real experience writing scripts, b) it's my first experience working with 
command line arguments, and c) it's my first experience grappling with algorithms and dynamic programming concepts.

I needed a default dictionary (though my script accepts an optional argument
where a user can specify their dictionary), and instead of downloading a word list, I decided to write a bot to scrape the 
Merriam-Webster website for all words under seven characters (since a phone number replacement would be 7 or less characters). This was pretty easy, and I was able to run multiple bots at once while studying / working on other aspects of this project. I 
then wrote a method to remove duplicate entries, capitalize everything, and gsub out special characters via REGEX.

I have a script that accepts two arguments. If a dictionary file is not provided by the user, the default is my "tidied" dictionary file. While in this directory, you can run ruby convert.rb <arg1 file> <arg2 file(optional)>.

Next step is writing the actual converter. So far I'm stashing possible words in an array, then will process them further.

Random files not in lib include a dictionary that contains all scraped words straight from the dictionary. The words are processed and stored as tidy_dictionary.rb, which is what my converter checks against. It also contains a phone_number.rb file which is what I'm using in the command line as I build this converter.

If you're reading this, I look forward to any feedback and advice. Thanks!
Something went wrong with that request. Please try again.