To understand modules, we first have to understand a little bit about how Ruby works. So, lets define the things that exist in Ruby and see how they work together. Then, we will be able to understand how modules fit into this, and what they are here for.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class LiveCell | |
TRANSITION_RULES = { | |
2 => LiveCell.new, | |
3 => LiveCell.new, | |
} | |
def next_generation(living_neighbours_count) | |
TRANSITION_RULES.fetch(living_neighbours_count) { DeadCell.new } | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Ways to execute a shell script in Ruby | |
# Example Script - Joseph Pecoraro | |
cmd = "echo 'hi'" # Sample string that can be used | |
# 1. Kernel#` - commonly called backticks - `cmd` | |
# This is like many other languages, including bash, PHP, and Perl | |
# Returns the result of the shell command | |
# Docs: http://ruby-doc.org/core/classes/Kernel.html#M001111 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# config/staging.rb | |
Rails.application.configure do | |
config.middleware.use "::Rack::Auth::Basic" do |u, p| | |
[u, p] == [ENV["BASIC_AUTH_USERNAME"], ENV["BASIC_AUTH_PASSWORD"]] | |
end | |
end | |
# .env | |
BASIC_AUTH_USERNAME = some_value | |
BASIC_AUTH_PASSWORD = some_password |
#Vim Cheat Sheet
gqip
- Reformats paragraph to textwidthgq
- Reformats selection:Tab /=
- Equally spaces based on the = symbol (requires Tabular vim plugin):setf language
- Changes current language:set language=language
- Changes current language<C-a>
- Increments the number under the cursor<C-x>
- Decrements the number under the cursor~
- Toggles case and moves to next character in normal mode
NYC Recommendations
- Tyson Gach: https://foursquare.com/user/11467850
- Phil Oye: https://gist.github.com/philoye/240cf8c2d3636f74ed51
Smorgasburg: foodie market in various locations between April to November. Go hungry!
- Code demonstrates knowledge of Ruby syntax, style, organisation, and refactoring
- Code is divided into logical components and methods with clear responsibility.
- Code meets all requirements as laid out per the specification.
In one sentence: we are looking for simplicity, readability, and good practices
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# POODR page 28 | |
Wheel = Struct.new(:rim, :tire) | |
def wheelify(data) | |
data.collect {|cell| Wheel.new(cell[0], cell[1])} | |
end | |
# POODR Page 32 | |
class Gear | |
attr_reader :chainring, :cog, :wheel | |
def initialize(chainring, cog, rim, tire) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "json" | |
require "net/http" | |
class DataRetriever | |
include ActiveModel::Model | |
attr_reader :search_param, :search_by_id | |
def get_data(search_param, options = {}) | |
@search_by_id = options.fetch([:search_by_id], false) | |
@search_info = search_info |
NewerOlder