Preparatory content

In “Review Introduction” it says “Much of the material in the middle of this curriculum is taken from the Preparatory content in the Prep-Step 1 and Prep-Step 2 App Academy repositories.”

Am I supposed to have covered Prep-Step 1 and Prep-Step 2? Where is that content?

1 Like

Hi Mendel,

Ignore this message if you have not seen this content before and continue as usual. Some students chose to go through a prep course at App Academy before being accepted into the bootcamp and may have already seen this content. This is merely a reminder that whether you have seen the content or not, it is important to get as much out of your coding practice as possible.

Thanks!

Sorry to belabor the point here but I’ve moved to the next section which covers debugging. It goes through dozens of example lines of code pointing out best practices and how to rectify issues.
For someone like myself who is not familiar with Ruby (yet!) and is starting from scratch, wouldn’t this be better covered at a labor point?

I’m also wondering about this. All of my previous experience is in JavaScript and so a lot of the material and syntax is totally new to me. It seems set up for people who are already relatively familiar with Ruby. What about those of us that aren’t? Do we need to do or learn more about Ruby before we can really take advantage of the material in this Alpha course?

1 Like

Hi Trevor and Mendel,

Correct this course is setup for those who already have a brief understanding of basic Ruby commands. Thank you for the feedback, we will use it to make the course more linear and easier to progress through. For now, I highly recommend reviewing our prep work material available to the public:

https://app-academy.gitbooks.io/prep-step-1/content/
https://app-academy.gitbooks.io/prep-step-2/content/

You will notice that some of the work is duplicated in this alpha course. Let me know if you have any questions. Thanks!

1 Like

Thanks for that!

I went through all the material and it was definitely helpful. My issue remains though: in the alpha course I am currently up to RSPEC Practice 2 which covers topics including yield and stubs. Neither of these topics are covered in that course and my understanding is that they are a little more advanced than the basics.

What do you recommend I do to continue?

Thanks!

Hi Mendel,

You should be able to continue through the course without complete mastery of yield and stubbed methods but if you have additional questions about these topics I would be happy to shed some light on them. We are also working to reorder the curriculum and will take this feedback into account, thank you.

The yield method is really just a faster way of invoking blocks when given as parameters and you do not have to explicitly declare the block as a parameter. This ruby monk exercise may be of help.

Stubbing methods is a much more complicated topic because it will only become really clear when you have more practice with RSPEC and the world of testing code. The point of stubbing methods will always be the same though, which is to avoid testing more than one thing at once. We want to be as narrow as we can with our unit testing in order to make sure we are testing the right thing, so we stub out any methods that may be getting in our way.

On App Academy Online we request task content from GitHub, convert it from markdown into html and then save it in the database. The following test is to make sure it sets the html column in the database but we don’t want to test two things at once so we stub the method that converts the markdown into html.

it 'sets html column' do
   allow(AAOMarkdownConverter).to receive(:request_file_html) do
     'HTML from GitHub'
   end
   task.set_html!
   expect(task.html).to eq 'HTML from GitHub'
end

The AAOMarkdownConverter has a method called request_file_html that we are stubbing out and instead telling it to just return the string ‘HTML from GitHub’ which is then used to test the set_html! method on task.

Technically we are also testing the html method on task in this example but because that is a part of the Rails framework that you will learn all about in at App Academy, we can assume that it is already well tested. Hopefully this shows how complicated testing can get and please note that complete mastery of RSPEC at this moment in time is not necessarily the goal. Keep practicing, learning and let me know if you have any questions.

Thanks!