Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ source 'http://rubygems.org'

gem 'rspec'
gem 'pry'
gem 'facets'
30 changes: 0 additions & 30 deletions Gemfile.lock

This file was deleted.

25 changes: 19 additions & 6 deletions parser.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,26 @@
require 'pry'
require 'facets'

def kinda_like?(fuzzy_word, exact_word)
# implement with your code here
# breaking the method up into pieces is encouraged
end_letters_not_jumbled(fuzzy_word, exact_word) &&
(is_exact_match(fuzzy_word, exact_word) ||
at_most_one_letter_different(fuzzy_word, exact_word) )
end

#def another_private_method
#end
def is_exact_match(fuzzy_word, exact_word)
regex = Regexp.new(fuzzy_word)
!exact_word.match(regex).nil?
end

def at_most_one_letter_different(fuzzy_word, exact_word)
extra_fuzzies = fuzzy_word.split(//).frequency - exact_word.split(//).frequency
extra_exacts = exact_word.split(//).frequency - fuzzy_word.split(//).frequency
extra_fuzzies.size < 2 && extra_exacts.size < 2
end

#def some_private_method
#end
def end_letters_not_jumbled(fuzzy_word, exact_word)
p fuzzy_word[0] != exact_word[-1]
p fuzzy_word[-1] == exact_word[0]
fuzzy_word[0] != exact_word[-1] && fuzzy_word[-1] != exact_word[0]
end