GithubHelp home page GithubHelp logo

sinatra-mvc-lab-v-000's Introduction

Sinatra MVC Lab - Pig Latinizer

In this lab, you'll be building a Pig Latinizer using Sinatra and the MVC paradigm of app development. Pig Latin is a made-up language formed from English by transferring the initial consonant or consonant blend (for example, "ch" or "str") of each word to the end of the word along with the syllable "-ay". If the word begins with a vowel sound, then we add the sound of "way" to the end of the word.

Examples:

  • "noodle soup" becomes "oodlenay oupsay"
  • "flatiron school" becomes "atironflay oolschay"
  • "big apple" becomes "igbay appleway" (note the added "w" in "appleway")

Your app will take in a string from a user through a form, convert it to pig latin, and return the string to the user. Using the previous code-along as a guide, get the tests to pass by building out this application. Use the guide below to get you started!

Instructions

  1. Build a form to take user input in user_input.erb. Show that form using a GET request at /.

  2. Create a POST method in your controller (app.rb) to receive your form's params.

  3. Build a PigLatinizer model (in your models directory) that converts a string into pig latin.

  4. In your application controller, create an instance of the PigLatinizer class to convert your user input to Pig Latin.

  5. Use ERB within a new view to display the final pig latin string to the user.

Pig Latin on wikipedia

View Sinatra MVC Lab on Learn.co and start learning to code for free.

sinatra-mvc-lab-v-000's People

Contributors

annjohn avatar bhollan avatar danielseehausen avatar dependabot[bot] avatar dfenjves avatar drakeltheryuujin avatar eaud avatar jmburges avatar joelcowie avatar maxwellbenton avatar paulnicholsen27 avatar ruchiramani avatar salsa-dude avatar sophiedebenedetto avatar terry-thompson avatar victhevenot avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sinatra-mvc-lab-v-000's Issues

Specs is solution is different from that of Master & the vowels list should include capitalized letter

Solution's spec is different from that of Master.

In solution, the below list of words should not be pig-latinized, but that's not the caseas written in the Master branch's specs:

non_pig_latin_words = ["i", "me", "to", "too", "a", "an", "in", "and", "on"]

Additionally, the list of vowels should include each letter capitalized, otherwise words such as A, E, I, O, U will cause the app to break down (as written in the solution). Luckily no such words existed in specs. LoL.

Error in sinatra_mvc_lab_spec.rb

In line 58 of sinatra_mvc_lab_spec.rb, the test solution reads:
expect(last_response.body).to include("eHay asway anway oldway anmay owhay ishedfay aloneway inway away iffskay inway ethay ulfGay eamStray andway ehay adhay onegay eightyway ourfay aysday ownay ithoutway akingtay away ishfay")
The Pig Latin Translation for Stream is incorrect and should be reamStay. The correct spec would be:
expect(last_response.body).to include("eHay asway anway oldway anmay owhay ishedfay aloneway inway away iffskay inway ethay ulfGay reamStay andway ehay adhay onegay eightyway ourfay aysday ownay ithoutway akingtay away ishfay")

Error in piglatinizer_rspec.rb

Lines 18 & 19 of piglatinzer_rspec.rb currently read:

    expect(words.piglatinize("spray")).to eq("ayspray")
    expect(words.piglatinize("prays")).to eq("ayspray")

They should read:

    expect(words.piglatinize("spray")).to eq("rayspay")
    expect(words.piglatinize("prays")).to eq("ayspray")

Pig Latinizer!

The user_input view should have "Pig Latinizer!" between the h1 tags, not "Pig Latinizer"

Rules for Piglatinizer

The rules for our Piglatnizer class should be described in the lesson. The rules used for the specs are somewhat unique and trying to figure the rules out from rspec's error messages can prove to be tedious and time consuming.

For example, the specs indicate that "an" is supposed to be translated to "an" in piglatin. They also indicate that that "it" is supposed to be "itay" in piglatin. This error will be raised even if all the tests in the specs for the Piglatinizer class pass.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.