Skip to content

Instantly share code, notes, and snippets.

@Pablo-R
Pablo-R / scrabble_stems.rb
Created October 6, 2017 10:53
Scrabble Stems
#!/usr/bin/ruby
#word file used: /usr/share/dict/words
WORD_LENGTH = 7
$stems_list = {}
cut_off = ARGV.shift
$unique_word_list = []
def word_exists?(sorted_word)
@Pablo-R
Pablo-R / gedcom_parser.rb
Created October 2, 2017 10:52
Gedcom parser to XML
#!/usr/bin/ruby
require "rexml/document"
include REXML
xml_string = "<gedcom>"
unclosed_tags = ["</gedcom>"]
previous_level = -1
@Pablo-R
Pablo-R / range_builder.rb
Created September 27, 2017 12:50
Integer Regexp Builder
class RangeBuilder
def initialize(min_value, max_value)
@min_value = min_value
@max_value = max_value
end
def self.generate_forward_ranges(min_range_value)
temp_max_range = ""
left_range_char_list = min_range_value.to_s.reverse.chars
@Pablo-R
Pablo-R / roman_numerals.rb
Last active September 21, 2017 13:26
Roman Numerals Converter
#!/usr/bin/ruby
class RomanNumerals
ROMAN_VALUES = {
'M' => 1000,
'CM' => 900,
'D' => 500,
'CD' => 400,
'C' => 100,
@Pablo-R
Pablo-R / lcd.rb
Created September 19, 2017 10:50
LCD Numbers Another Version
#!/usr/bin/ruby
class LCDNumber
def initialize(size, input_number)
@input_number = input_number
@size = size
@display_code = [
['horizontal_line_yes', 'vertical_line_both', 'horizontal_line_no', 'vertical_line_both', 'horizontal_line_yes' ],
['horizontal_line_no', 'vertical_line_right', 'horizontal_line_no', 'vertical_line_right', 'horizontal_line_no' ],
@Pablo-R
Pablo-R / lcd.rb
Created September 19, 2017 10:49
LCD Numbers
#!/usr/bin/ruby
class LCDNumber
def initialize(size, input_number)
@input_number = input_number
@size = size
@symbol_style = {
horizontal_line_yes: " " + "-" * @size + " ",
vertical_line_both: ["|" + " " * @size + "|"] * @size,