This exercise is intended to help you assess your progress with the concepts and techniques we've covered during the week.
For these questions, write a short description or snippet of code that meets
the requirement. In cases where the question mentions a "given"
data value, use the variable given to refer to it (instead of re-writing
the information).
Modules do not keep track of state/status, classes do (via instance variables).
First, create a module Doughy which defines a method
has_carbs? that always returns true.
module Doughy
def has_carbs?
true
end
endThen, given the following Pizza class:
class Pizza
def tasty?
true
end
endUpdate Pizza to use your new Doughy module to gain
the defined has_carbs? behavior.
class Pizza
include Doughy
def tasty?
true
end
end
pizza = Pizza.new
pizza.has_carbs?Given the following class and Module:
module Nonprofit
def tax_exempt?
true
end
end
class Turing
endWrite code that enables the Turing class to use the Nonprofit module
to allow the following behavior:
Turing.tax_exempt?
=> truemodule Nonprofit
def tax_exempt?
true
end
end
class Turing
include Nonprofit
endGET, POST, and HEAD
Given the following HTTP Request:
POST /students?name=horace HTTP/1.1
Host: 127.0.0.1:9292
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Identify the:
- HTTP Verb
- Request Path
- Query Parameters
- POST
- /students
- ?name=horace
Additionally, give the full request URL:
127.0.0.1:9292/students?name=horace
Give a git command to accomplish each of the following:
- Switch to an existing branch
iteration-1 - Create a new branch
iteration-2 - Push a branch
iteration-2to a remoteorigin - Merge a branch
iteration-1into a branchmaster(assume you are not onmasterto begin with)
git checkout iteration-1git branch iteration-2- (from iteration-2)
git push origin master git checkout masterthengit merge iteration-1
Given a project with the following directory structure:
. <you are here>
├── lib
│ │── file_one.rb
│ └── file_two.rb
Give 2 ways that we could require file_one from file_two.
require './lib/file_two'require_relative '../lib/file_two'
Given the following snippet of code:
class Encryptor
def date_offset
date = Time.now.strftime("%d%m%y").to_i
date_squared = date ** 2
last_four_digits = date_squared.to_s[-4..-1]
[last_four_digits[-4].to_i,
last_four_digits[-3].to_i,
last_four_digits[-2].to_i,
last_four_digits[-1].to_i]
end
end
Encryptor.new.date_offsetShow 2 refactorings you might make to improve the design of this code.
class Encryptor
def date_offset
date = Time.now.strftime("%d%m%y").to_i
date_squared = date ** 2
last_four_digits = date_squared.to_s[-4..-1]
last_four_digits.chars.map(&:to_i)
end
end
Encryptor.new.date_offsetclass Encryptor
def date_offset
date = (Time.now.strftime("%d%m%y").to_i) ** 2
date.to_s[-4..-1].chars.map(&:to_i)
end
end
Encryptor.new.date_offset