From 675da1e5e19829c6ec9de13621f000b767aad9d7 Mon Sep 17 00:00:00 2001 From: Samuel Priddy Date: Tue, 15 Dec 2015 08:55:38 -0500 Subject: [PATCH 01/12] Get large portion of MVCgame working --- .../Organizational thoughts: | 20 ++++ SamsKnightlyTranslator/controller.rb | 79 ++++++++++++++ SamsKnightlyTranslator/model.rb | 27 +++++ SamsKnightlyTranslator/schema.json | 36 +++++++ SamsKnightlyTranslator/test.rb | 18 ++++ SamsKnightlyTranslator/view.rb | 100 ++++++++++++++++++ 6 files changed, 280 insertions(+) create mode 100644 SamsKnightlyTranslator/Organizational thoughts: create mode 100644 SamsKnightlyTranslator/controller.rb create mode 100644 SamsKnightlyTranslator/model.rb create mode 100644 SamsKnightlyTranslator/schema.json create mode 100644 SamsKnightlyTranslator/test.rb create mode 100644 SamsKnightlyTranslator/view.rb diff --git a/SamsKnightlyTranslator/Organizational thoughts: b/SamsKnightlyTranslator/Organizational thoughts: new file mode 100644 index 0000000..52099d0 --- /dev/null +++ b/SamsKnightlyTranslator/Organizational thoughts: @@ -0,0 +1,20 @@ +Organizational thoughts: + +initialization: +load translation dictionary from file (JSON) + + +view: +[T]RANSLATE text +[V]IEW existing translations +[A]DD new translation +[U]PDATE a translation +[D]ELETE a translation +[S]AVE updated pairings to JSON + +logic for displaying the above + +controller + +Needs to have actions mapped for + diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb new file mode 100644 index 0000000..c06ec98 --- /dev/null +++ b/SamsKnightlyTranslator/controller.rb @@ -0,0 +1,79 @@ +require_relative 'view' +require_relative 'model' +require 'json' +require 'pry' + +class TranslatorController + attr_accessor :translation_dict + + include TranslatorView + include TranslatorModel + + def initialize + @translation_dict = Schema::import_translation_schema + end + + def translate string + words = string.scan Schema::WORDS_REGEX + translated_words = words.collect { |w| @translation_dict[w] || w } + translated_words.join " " + end + + def play + Display::title + gets.chomp + user_input = nil + + until ['quit', 'q', 'exit', 'e'].include? @user_input + Display::menu + user_input = gets.chomp.downcase + case user_input + when 'v' then Display::print_schema(translation_dict) + when 'a' then add_new_entry + when 'u' then nil + when 'd' then nil + when 's' then save_schema + else + puts translate @user_input + end + pause + end + end + + def pause + Display::pause + gets.chomp + end + + def add_new_entry + Display::request_english_word + original = gets.chomp + + Display::request_translation + translated = gets.chomp + + puts "Save new translation: #{original} => #{translated}?" + confirmation = gets.chomp.downcase + if ['y', 'yes'].include?(confirmation) + @translation_dict[original] = translated + puts "Change saved." + else + puts "Change rejected." + end + end + + def save_schema + puts "Save current translation schema to file?" + + if ['y', 'yes'].include?(confirmation) + Schema::export_translation_schema(@translation_dict) + puts "New schema saved." + else + puts "Schema changes cancelled." + end + end + +end + +translator = TranslatorController.new +translator.play \ No newline at end of file diff --git a/SamsKnightlyTranslator/model.rb b/SamsKnightlyTranslator/model.rb new file mode 100644 index 0000000..7e39b14 --- /dev/null +++ b/SamsKnightlyTranslator/model.rb @@ -0,0 +1,27 @@ +#needs to get data from dictionary file (let's call it translation_dict.json)' + +#define here methods for: +#retrieving entry data for viewing +#adding new entries +#updating entries +#deleting entries +#saving current translation dictionary to file + +require 'json' + +module TranslatorModel + module Schema + WORDS_REGEX = /\w+[a-z']*/ + class << self + def import_translation_schema source = 'schema.json' + JSON.parse(File.new(source).read) + end + + def export_translation_schema(translation_dict, target = 'schema.json') + File.open(target, "w") do |f| + f.write(translation_dict) + end + end + end + end +end \ No newline at end of file diff --git a/SamsKnightlyTranslator/schema.json b/SamsKnightlyTranslator/schema.json new file mode 100644 index 0000000..2a4fb97 --- /dev/null +++ b/SamsKnightlyTranslator/schema.json @@ -0,0 +1,36 @@ +{ + "hello" : "what ho!", + "wait" : "tarry", + "you" : "thou", + "can" : "mayst", + "drunk" : "besotted", + "sir" : "sire", + "lazy" : "distemperate", + "here" : "hither", + "there" : "thither", + "ugh" : "fie", + "have" : "hast", + "do" : "doeth", + "say" : "sayeth", + "mine" : "mineth", + "would" : "wouldst", + "go" : "goeth", + "get" : "geteth", + "when" : "whenst", + "horse" : "steed", + "pass" : "passeth", + "starve" : "wasteth away", + "my" : "mineth", + "are" : "art", + "why" : "wherefore", + "slob" : "lout", + "should" : "shouldst", + "boss" : "liege", + "where" : "whence", + "destroy" : "slay", + "truly" : "verily", + "bum" : "rapscallion", + "away" : "hence", + "trash" : "rubbish", + "doctor" : "apothecary" + } \ No newline at end of file diff --git a/SamsKnightlyTranslator/test.rb b/SamsKnightlyTranslator/test.rb new file mode 100644 index 0000000..583213e --- /dev/null +++ b/SamsKnightlyTranslator/test.rb @@ -0,0 +1,18 @@ +#test script +require 'json' + +WORDS_REGEX = /\w+[a-z']*/ + +raw_data = File.new('schema.json').read +translation_hash = JSON.parse raw_data + + +input = nil + +until ['q', 'quit'].include? input + puts "Enter a string to translate into knight" + input = gets.chomp.downcase + words = input.scan WORDS_REGEX + translation = words.collect {|word| translation_hash[word] || word } + puts translation.join " " +end \ No newline at end of file diff --git a/SamsKnightlyTranslator/view.rb b/SamsKnightlyTranslator/view.rb new file mode 100644 index 0000000..883bca8 --- /dev/null +++ b/SamsKnightlyTranslator/view.rb @@ -0,0 +1,100 @@ +#to-do: +#add views methods for: +# add menu +# update menu + + + +module TranslatorView + module Display + class << self + def title +title = < #{translated}" + end + end + + def pause + puts "Press enter to return to menu" + end + + def request_english_word + puts "Please enter the modern english word for the entry" + end + + def request_translation + puts "Please enter the knightly translation" + end + + def confirm? + puts "Save changes? Y" + end + end + end +end + +#p TranslatorView::Display.methods.sort + + + + + From 8d00e0bff6406c1d1d4158c7c67e948082ac46c4 Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:06:55 -0500 Subject: [PATCH 02/12] Update controller to fix logic bug --- SamsKnightlyTranslator/controller.rb | 3 +-- SamsKnightlyTranslator/model.rb | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb index c06ec98..125a88d 100644 --- a/SamsKnightlyTranslator/controller.rb +++ b/SamsKnightlyTranslator/controller.rb @@ -64,7 +64,7 @@ def add_new_entry def save_schema puts "Save current translation schema to file?" - + confirmation = gets.chomp.downcase if ['y', 'yes'].include?(confirmation) Schema::export_translation_schema(@translation_dict) puts "New schema saved." @@ -72,7 +72,6 @@ def save_schema puts "Schema changes cancelled." end end - end translator = TranslatorController.new diff --git a/SamsKnightlyTranslator/model.rb b/SamsKnightlyTranslator/model.rb index 7e39b14..a53d38d 100644 --- a/SamsKnightlyTranslator/model.rb +++ b/SamsKnightlyTranslator/model.rb @@ -19,7 +19,7 @@ def import_translation_schema source = 'schema.json' def export_translation_schema(translation_dict, target = 'schema.json') File.open(target, "w") do |f| - f.write(translation_dict) + f.write(JSON.dump(translation_dict)) end end end From 9f937c5798f1fe96296f98a0dd9a0afb1d64c2fa Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:10:01 -0500 Subject: [PATCH 03/12] Get new translation saves working --- SamsKnightlyTranslator/controller.rb | 4 +-- SamsKnightlyTranslator/schema.json | 37 +--------------------------- 2 files changed, 3 insertions(+), 38 deletions(-) diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb index 125a88d..a7d7d37 100644 --- a/SamsKnightlyTranslator/controller.rb +++ b/SamsKnightlyTranslator/controller.rb @@ -24,7 +24,7 @@ def play gets.chomp user_input = nil - until ['quit', 'q', 'exit', 'e'].include? @user_input + until ['quit', 'q', 'exit', 'e'].include? user_input Display::menu user_input = gets.chomp.downcase case user_input @@ -34,7 +34,7 @@ def play when 'd' then nil when 's' then save_schema else - puts translate @user_input + puts translate user_input end pause end diff --git a/SamsKnightlyTranslator/schema.json b/SamsKnightlyTranslator/schema.json index 2a4fb97..f226c39 100644 --- a/SamsKnightlyTranslator/schema.json +++ b/SamsKnightlyTranslator/schema.json @@ -1,36 +1 @@ -{ - "hello" : "what ho!", - "wait" : "tarry", - "you" : "thou", - "can" : "mayst", - "drunk" : "besotted", - "sir" : "sire", - "lazy" : "distemperate", - "here" : "hither", - "there" : "thither", - "ugh" : "fie", - "have" : "hast", - "do" : "doeth", - "say" : "sayeth", - "mine" : "mineth", - "would" : "wouldst", - "go" : "goeth", - "get" : "geteth", - "when" : "whenst", - "horse" : "steed", - "pass" : "passeth", - "starve" : "wasteth away", - "my" : "mineth", - "are" : "art", - "why" : "wherefore", - "slob" : "lout", - "should" : "shouldst", - "boss" : "liege", - "where" : "whence", - "destroy" : "slay", - "truly" : "verily", - "bum" : "rapscallion", - "away" : "hence", - "trash" : "rubbish", - "doctor" : "apothecary" - } \ No newline at end of file +{"hello":"what ho!","wait":"tarry","you":"thou","can":"mayst","drunk":"besotted","sir":"sire","lazy":"distemperate","here":"hither","there":"thither","ugh":"fie","have":"hast","do":"doeth","say":"sayeth","mine":"mineth","would":"wouldst","go":"goeth","get":"geteth","when":"whenst","horse":"steed","pass":"passeth","starve":"wasteth away","my":"mineth","are":"art","why":"wherefore","slob":"lout","should":"shouldst","boss":"liege","where":"whence","destroy":"slay","truly":"verily","bum":"rapscallion","away":"hence","trash":"rubbish","doctor":"apothecary","hey":"hark"} \ No newline at end of file From c0c7d759cf778c3a784ad99bf2166ab68e6fe388 Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:13:48 -0500 Subject: [PATCH 04/12] DRY confirmation logic --- SamsKnightlyTranslator/controller.rb | 18 +++++++++++++----- SamsKnightlyTranslator/schema.json | 2 +- SamsKnightlyTranslator/view.rb | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb index a7d7d37..374068e 100644 --- a/SamsKnightlyTranslator/controller.rb +++ b/SamsKnightlyTranslator/controller.rb @@ -21,7 +21,7 @@ def translate string def play Display::title - gets.chomp + pause user_input = nil until ['quit', 'q', 'exit', 'e'].include? user_input @@ -45,6 +45,14 @@ def pause gets.chomp end + def get_input + gets.chomp.downcase + end + + def confirm? + ['y', 'yes'].include? get_input + end + def add_new_entry Display::request_english_word original = gets.chomp @@ -53,8 +61,7 @@ def add_new_entry translated = gets.chomp puts "Save new translation: #{original} => #{translated}?" - confirmation = gets.chomp.downcase - if ['y', 'yes'].include?(confirmation) + if confirm? @translation_dict[original] = translated puts "Change saved." else @@ -64,14 +71,15 @@ def add_new_entry def save_schema puts "Save current translation schema to file?" - confirmation = gets.chomp.downcase - if ['y', 'yes'].include?(confirmation) + if confirm? Schema::export_translation_schema(@translation_dict) puts "New schema saved." else puts "Schema changes cancelled." end end + + end translator = TranslatorController.new diff --git a/SamsKnightlyTranslator/schema.json b/SamsKnightlyTranslator/schema.json index f226c39..d08fb6b 100644 --- a/SamsKnightlyTranslator/schema.json +++ b/SamsKnightlyTranslator/schema.json @@ -1 +1 @@ -{"hello":"what ho!","wait":"tarry","you":"thou","can":"mayst","drunk":"besotted","sir":"sire","lazy":"distemperate","here":"hither","there":"thither","ugh":"fie","have":"hast","do":"doeth","say":"sayeth","mine":"mineth","would":"wouldst","go":"goeth","get":"geteth","when":"whenst","horse":"steed","pass":"passeth","starve":"wasteth away","my":"mineth","are":"art","why":"wherefore","slob":"lout","should":"shouldst","boss":"liege","where":"whence","destroy":"slay","truly":"verily","bum":"rapscallion","away":"hence","trash":"rubbish","doctor":"apothecary","hey":"hark"} \ No newline at end of file +{"hello":"what ho!","wait":"tarry","you":"thou","can":"mayst","drunk":"besotted","sir":"sire","lazy":"distemperate","here":"hither","there":"thither","ugh":"fie","have":"hast","do":"doeth","say":"sayeth","mine":"mineth","would":"wouldst","go":"goeth","get":"geteth","when":"whenst","horse":"steed","pass":"passeth","starve":"wasteth away","my":"mineth","are":"art","why":"wherefore","slob":"lout","should":"shouldst","boss":"liege","where":"whence","destroy":"slay","truly":"verily","bum":"rapscallion","away":"hence","trash":"rubbish","doctor":"apothecary","hey":"hark","dirty":"sullied"} \ No newline at end of file diff --git a/SamsKnightlyTranslator/view.rb b/SamsKnightlyTranslator/view.rb index 883bca8..eb6f86a 100644 --- a/SamsKnightlyTranslator/view.rb +++ b/SamsKnightlyTranslator/view.rb @@ -74,7 +74,7 @@ def print_schema source end def pause - puts "Press enter to return to menu" + puts "Press enter to continue" end def request_english_word From fa4a0b426fd968e32029e7c097b632a35619024f Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:20:59 -0500 Subject: [PATCH 05/12] Add deletion logic and make add entry method check if entry already exists --- SamsKnightlyTranslator/controller.rb | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb index 374068e..b3d37ca 100644 --- a/SamsKnightlyTranslator/controller.rb +++ b/SamsKnightlyTranslator/controller.rb @@ -31,13 +31,14 @@ def play when 'v' then Display::print_schema(translation_dict) when 'a' then add_new_entry when 'u' then nil - when 'd' then nil + when 'd' then delete_entry when 's' then save_schema else puts translate user_input end pause end + puts "~ Fare thee well ~" end def pause @@ -55,10 +56,15 @@ def confirm? def add_new_entry Display::request_english_word - original = gets.chomp + original = get_input + + if @translation_dict[original] + puts "Translation already exists; use (U)pdate to modify." + return + end Display::request_translation - translated = gets.chomp + translated = get_input puts "Save new translation: #{original} => #{translated}?" if confirm? @@ -79,7 +85,23 @@ def save_schema end end + def delete_entry + puts "Enter the translation you want to destroy by its modern English word" + target = get_input + case + when (@translation_dict.keys.include? target) + puts "Destroy #{target} => #{@translation_dict[target]}?" + if confirm? + @translation_dict.delete target + puts "Translation deleted." + else + puts "Canceling deletion." + end + else + puts "Translation not found in current schema. Returning to menu." + end + end end translator = TranslatorController.new From 6d290fcf8dd32160437f3566b127b399c33b21ca Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:30:56 -0500 Subject: [PATCH 06/12] Add update method, basic CRUD works --- SamsKnightlyTranslator/controller.rb | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb index b3d37ca..cc00b97 100644 --- a/SamsKnightlyTranslator/controller.rb +++ b/SamsKnightlyTranslator/controller.rb @@ -30,7 +30,7 @@ def play case user_input when 'v' then Display::print_schema(translation_dict) when 'a' then add_new_entry - when 'u' then nil + when 'u' then update_entry when 'd' then delete_entry when 's' then save_schema else @@ -86,7 +86,7 @@ def save_schema end def delete_entry - puts "Enter the translation you want to destroy by its modern English word" + Display::request_english_word target = get_input case @@ -102,6 +102,27 @@ def delete_entry puts "Translation not found in current schema. Returning to menu." end end + + def update_entry + Display::request_english_word + target = get_input + + case + when @translation_dict.keys.include?(target) + puts "Current translation: #{target} => #{@translation_dict[target]}" + puts "Enter new translation for this word." + new_translation = get_input + + puts "Save updated entry: #{target} => #{new_translation}?" + if confirm? + @translation_dict[target] = new_translation + "Entry updated." + else + puts "Canceled update." + end + else puts "No entry found to update. Use (A)dd to enter a new entry." + end + end end translator = TranslatorController.new From 8953643146436064f7a3b3370087040b4fb9fd1d Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:36:05 -0500 Subject: [PATCH 07/12] Move some logic from controller to model where appropriate --- SamsKnightlyTranslator/controller.rb | 8 +++++--- SamsKnightlyTranslator/model.rb | 5 +++++ SamsKnightlyTranslator/schema.json | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb index cc00b97..9489f0c 100644 --- a/SamsKnightlyTranslator/controller.rb +++ b/SamsKnightlyTranslator/controller.rb @@ -68,7 +68,8 @@ def add_new_entry puts "Save new translation: #{original} => #{translated}?" if confirm? - @translation_dict[original] = translated + Schema::update_entry(@translation_dict, original, translated) + #@translation_dict[original] = translated puts "Change saved." else puts "Change rejected." @@ -115,8 +116,9 @@ def update_entry puts "Save updated entry: #{target} => #{new_translation}?" if confirm? - @translation_dict[target] = new_translation - "Entry updated." + Schema::update_entry(@translation_dict, target, new_translation) + #@translation_dict[target] = new_translation + puts "Entry updated." else puts "Canceled update." end diff --git a/SamsKnightlyTranslator/model.rb b/SamsKnightlyTranslator/model.rb index a53d38d..1fb1d1c 100644 --- a/SamsKnightlyTranslator/model.rb +++ b/SamsKnightlyTranslator/model.rb @@ -22,6 +22,11 @@ def export_translation_schema(translation_dict, target = 'schema.json') f.write(JSON.dump(translation_dict)) end end + + def update_entry(target_dict, original, translated) + target_dict[original] = translated + end + end end end \ No newline at end of file diff --git a/SamsKnightlyTranslator/schema.json b/SamsKnightlyTranslator/schema.json index d08fb6b..b9f051c 100644 --- a/SamsKnightlyTranslator/schema.json +++ b/SamsKnightlyTranslator/schema.json @@ -1 +1 @@ -{"hello":"what ho!","wait":"tarry","you":"thou","can":"mayst","drunk":"besotted","sir":"sire","lazy":"distemperate","here":"hither","there":"thither","ugh":"fie","have":"hast","do":"doeth","say":"sayeth","mine":"mineth","would":"wouldst","go":"goeth","get":"geteth","when":"whenst","horse":"steed","pass":"passeth","starve":"wasteth away","my":"mineth","are":"art","why":"wherefore","slob":"lout","should":"shouldst","boss":"liege","where":"whence","destroy":"slay","truly":"verily","bum":"rapscallion","away":"hence","trash":"rubbish","doctor":"apothecary","hey":"hark","dirty":"sullied"} \ No newline at end of file +{"hello":"what ho!","wait":"tarry","you":"thou","can":"mayst","drunk":"besotted","sir":"sire","lazy":"distemperate","here":"hither","there":"thither","ugh":"fie","have":"hast","do":"doeth","say":"sayeth","mine":"mineth","would":"wouldst","go":"goeth","get":"geteth","when":"whenst","horse":"steed","pass":"passeth","starve":"wasteth away","my":"mineth","are":"art","why":"wherefore","slob":"lout","should":"shouldst","boss":"liege","where":"whence","destroy":"slay","truly":"verily","bum":"rapscallion","away":"hence","trash":"rubbish","doctor":"apothecary","hey":"hark","dirty":"sullied","kill":"slay"} \ No newline at end of file From 4ad315fbe51169d2fdd643cd5934f26cf604a66d Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:39:40 -0500 Subject: [PATCH 08/12] Move delete method to model from controller --- SamsKnightlyTranslator/controller.rb | 2 +- SamsKnightlyTranslator/model.rb | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb index 9489f0c..107ed1e 100644 --- a/SamsKnightlyTranslator/controller.rb +++ b/SamsKnightlyTranslator/controller.rb @@ -94,7 +94,7 @@ def delete_entry when (@translation_dict.keys.include? target) puts "Destroy #{target} => #{@translation_dict[target]}?" if confirm? - @translation_dict.delete target + Schema::destroy_entry(@translation_dict, target) puts "Translation deleted." else puts "Canceling deletion." diff --git a/SamsKnightlyTranslator/model.rb b/SamsKnightlyTranslator/model.rb index 1fb1d1c..f3e9dd1 100644 --- a/SamsKnightlyTranslator/model.rb +++ b/SamsKnightlyTranslator/model.rb @@ -27,6 +27,9 @@ def update_entry(target_dict, original, translated) target_dict[original] = translated end + def destroy_entry(target_dict, entry_key) + target_dict.delete entry_key + end end end end \ No newline at end of file From 288541926fdb6cc514f13b9f49d8b3151b94acb0 Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:40:25 -0500 Subject: [PATCH 09/12] Remove unrelated files --- .../Organizational thoughts: | 20 ------------------- SamsKnightlyTranslator/test.rb | 18 ----------------- 2 files changed, 38 deletions(-) delete mode 100644 SamsKnightlyTranslator/Organizational thoughts: delete mode 100644 SamsKnightlyTranslator/test.rb diff --git a/SamsKnightlyTranslator/Organizational thoughts: b/SamsKnightlyTranslator/Organizational thoughts: deleted file mode 100644 index 52099d0..0000000 --- a/SamsKnightlyTranslator/Organizational thoughts: +++ /dev/null @@ -1,20 +0,0 @@ -Organizational thoughts: - -initialization: -load translation dictionary from file (JSON) - - -view: -[T]RANSLATE text -[V]IEW existing translations -[A]DD new translation -[U]PDATE a translation -[D]ELETE a translation -[S]AVE updated pairings to JSON - -logic for displaying the above - -controller - -Needs to have actions mapped for - diff --git a/SamsKnightlyTranslator/test.rb b/SamsKnightlyTranslator/test.rb deleted file mode 100644 index 583213e..0000000 --- a/SamsKnightlyTranslator/test.rb +++ /dev/null @@ -1,18 +0,0 @@ -#test script -require 'json' - -WORDS_REGEX = /\w+[a-z']*/ - -raw_data = File.new('schema.json').read -translation_hash = JSON.parse raw_data - - -input = nil - -until ['q', 'quit'].include? input - puts "Enter a string to translate into knight" - input = gets.chomp.downcase - words = input.scan WORDS_REGEX - translation = words.collect {|word| translation_hash[word] || word } - puts translation.join " " -end \ No newline at end of file From 734f77414be9b2f3543403606fc42c21672c91f9 Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 09:43:39 -0500 Subject: [PATCH 10/12] Change filename schema.json to translations.json --- SamsKnightlyTranslator/model.rb | 4 ++-- SamsKnightlyTranslator/{schema.json => translations.json} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename SamsKnightlyTranslator/{schema.json => translations.json} (100%) diff --git a/SamsKnightlyTranslator/model.rb b/SamsKnightlyTranslator/model.rb index f3e9dd1..c48da88 100644 --- a/SamsKnightlyTranslator/model.rb +++ b/SamsKnightlyTranslator/model.rb @@ -13,11 +13,11 @@ module TranslatorModel module Schema WORDS_REGEX = /\w+[a-z']*/ class << self - def import_translation_schema source = 'schema.json' + def import_translation_schema source = 'translations.json' JSON.parse(File.new(source).read) end - def export_translation_schema(translation_dict, target = 'schema.json') + def export_translation_schema(translation_dict, target = 'translations.json') File.open(target, "w") do |f| f.write(JSON.dump(translation_dict)) end diff --git a/SamsKnightlyTranslator/schema.json b/SamsKnightlyTranslator/translations.json similarity index 100% rename from SamsKnightlyTranslator/schema.json rename to SamsKnightlyTranslator/translations.json From 7bc49b81d201beea5fddaeefff0d8aa829fe7185 Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 12:31:47 -0500 Subject: [PATCH 11/12] Change gets.chomp in TranslatorController#pause to get_input --- SamsKnightlyTranslator/controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SamsKnightlyTranslator/controller.rb b/SamsKnightlyTranslator/controller.rb index 107ed1e..d2e3c47 100644 --- a/SamsKnightlyTranslator/controller.rb +++ b/SamsKnightlyTranslator/controller.rb @@ -43,7 +43,7 @@ def play def pause Display::pause - gets.chomp + get_input end def get_input From b90d1a23822d9ad45daed37eb48994bf8c8f0ad3 Mon Sep 17 00:00:00 2001 From: Samuel Priddy <spriddy@covermymeds.com> Date: Tue, 15 Dec 2015 16:31:46 -0500 Subject: [PATCH 12/12] Expand translations.json --- SamsKnightlyTranslator/translations.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SamsKnightlyTranslator/translations.json b/SamsKnightlyTranslator/translations.json index b9f051c..e1db8db 100644 --- a/SamsKnightlyTranslator/translations.json +++ b/SamsKnightlyTranslator/translations.json @@ -1 +1 @@ -{"hello":"what ho!","wait":"tarry","you":"thou","can":"mayst","drunk":"besotted","sir":"sire","lazy":"distemperate","here":"hither","there":"thither","ugh":"fie","have":"hast","do":"doeth","say":"sayeth","mine":"mineth","would":"wouldst","go":"goeth","get":"geteth","when":"whenst","horse":"steed","pass":"passeth","starve":"wasteth away","my":"mineth","are":"art","why":"wherefore","slob":"lout","should":"shouldst","boss":"liege","where":"whence","destroy":"slay","truly":"verily","bum":"rapscallion","away":"hence","trash":"rubbish","doctor":"apothecary","hey":"hark","dirty":"sullied","kill":"slay"} \ No newline at end of file +{"hello":"what ho!","wait":"tarry","you":"thou","can":"mayst","drunk":"besotted","sir":"sire","lazy":"distemperate","here":"hither","there":"thither","ugh":"fie","have":"han","do":"doeth","say":"sayeth","mine":"mineth","would":"wouldst","go":"goeth","get":"geteth","when":"whenst","horse":"steed","pass":"passeth","starve":"wasteth away","my":"mineth","are":"art","why":"wherefore","slob":"lout","should":"shouldst","boss":"liege","where":"whence","destroy":"slay","truly":"verily","bum":"rapscallion","away":"hence","trash":"rubbish","doctor":"apothecary","hey":"hark","dirty":"sullied","kill":"slay","happens":"passeth","shirt":"surcoat","take":"taketh","insult":"besmirch","decorate":"bedight","before":"ere","actually":"forsooth","peninsula":"ness","often":"oft","pan":"pannikin","tough":"stalwart","prevent":"thwart","reject":"forswear","old":"wizened","whimsical":"flighty","sleepy":"bedward","argue":"brabble","stuffed":"crapulous","matted":"elflocked","confuse":"jargogle","enjoy":"deliciate","silly":"ludibrious","dismal":"malagruous","quarrel":"brabble","binge":"brannigan","fool":"hoddypeak","alcoholism":"bibesy","confusion":"widdendream","careless":"yemeles","yourself":"thyself","twilight":"twitter-light","attractive":"illecebrous","schmoozer":"snecklifter","hungry":"famelicose","although":"al be that","also":"als","immediately":"anon","unless":"but if","chance":"aventure","better":"bet","know":"konne","case":"caas","counsel":"conseil","courage":"corage","every":"everich","judge":"deeme","doubt":"drede","eyes":"eyen","eye":"ye","befall":"falle","glad":"fayne","evil":"foul","from":"fro","free":"fre","did":"gan","luck":"hap","same":"ilke","let":"lat","rude":"lewed","little":"lyte","like":"lyke","dear":"leve","mastery":"maistry","much":"michel","may":"moot","more":"mo","not":"nat","nor":"ne","weren't":"nere","wouldn't":"nolde","isn't":"nys","perhaps":"peraventure","ignorant":"nyce","said":"quod","advice":"reede","certainly":"sikerly","certain":"siker","blessed":"sely","opinion":"sentence","solace":"solas","truthfulness":"soothfastness","stop":"stente","dream":"sweven","such":"swich","prosper":"theen","wary":"war","true":"verray","jump":"sterte","will":"wol","knew":"wiste","once":"whilom","supposed":"wende","knows":"woot","gave":"yaf","new":"yep","if":"yif","surely":"ywis"} \ No newline at end of file