I hereby claim:
- I am jmmastey on github.
- I am jmmastey (https://keybase.io/jmmastey) on keybase.
- I have a public key ASDq1RNE_EZKdZkKp64DNMLnFUlbianPiqRVqZ0iqbQI2go
To claim this, I am signing this object:
| # Our goal today is to write a program (or just a method) that returns the total score | |
| # for a game of bowling. We'll start with simple examples, but the rules can get quite | |
| # confusing. The goal of the interview is to talk through decisions and dealing with | |
| # new requirements. | |
| # | |
| # You very probably won't get through every example before time is done. That's expected. | |
| # | |
| # Any language is fine, as is either object oriented or procedural code.If you don't | |
| # know the basics of how bowling works, you should ask up front. |
| # Railsy Utilities | |
| # To use these, move this file into your home directory as .rails_utils.sh | |
| # and add the following to your ~/.zshrc or ~/.bashrc | |
| # | |
| # source ~/.rails_utils.sh | |
| # | |
| # Usage: Navigate your terminal to the source code of any gem in your bundle, | |
| # specifically the correct _version_ of that gem. | |
| # |
| # Add these to your ~/.zshrc to expose them in any console. Both commands use the same | |
| # general API. Navigate to a project that has a Gemfile (prolly mealhand), and run the command. It'll grab | |
| # the correct version of the gem automatically! | |
| # navigates your shell to the ~/.gem/ruby-2.6.1/whatever path where the gem lives | |
| function bcd() { cd $(bundle info "$@" | grep -e "Path: [^\S]*" | sed -e 's/^[^/]*//') ;} | |
| # opens up the "homepage" for the gem in your browser. typically github | |
| function bweb() { | |
| curl https://rubygems.org/api/v1/gems/"$@".json 2>/dev/null > /tmp/bweb |
| christmas_movies = { | |
| die_hard: { violence: true, cheer: true }, | |
| nightmare: { violence: false, cheer: 'who knows' } | |
| } | |
| # if I'm just digging one layer into the hash, I don't get an error, | |
| # I just get nil. | |
| christmas_movies[:die_hard] # => { violence: true, cheer: true } | |
| christmas_movies[:home_alone_3] # => nil |
| # Put this code (or whatever part is useful) in a file in your | |
| # home directory called `~/.pryrc`. Then, every time you load | |
| # a pry console, this code will automatically be executed, giving | |
| # you these tools! I write a lot of little scripts this way. | |
| # see `ar_counts` below | |
| class ArCounter | |
| def initialize | |
| @last_count = 0 | |
| @current_count = 0 |
| if Gem::Version.new(Rails.version) >= Gem::Version.new("5.0") | |
| raise "Remove this file! You don't need it anymore" | |
| end | |
| class ActiveJob::Base | |
| def self.deserialize(job_data) | |
| # monkey patch goes here | |
| end | |
| end |
| class Struct | |
| # use the members of this struct to pull out hash keys in the right order | |
| def self.from_hash(hash) | |
| new( | |
| *hash.symbolize_keys | |
| .values_at(*members), | |
| ) | |
| end | |
| end |
| opts = {} | |
| str = '{{ options.foo__required }}{{ options.bar__required }}{{ options.baz_9 }}' | |
| # I'm still flattening right now... though just once in this case. | |
| keys = str.scan(/\{\{ options.(\w+) \}\}/).flatten | |
| => ["foo__required", "bar__required", "baz_9"] | |
| opts.merge!(Hash[keys.product([nil])]) | |
| => {"foo__required"=>nil, "bar__required"=>nil, "baz_9"=>nil} |
I hereby claim:
To claim this, I am signing this object:
nodes
id code depth parent
1 B 0 {NULL}
2 B-123 1 1
3 B-123-BLAH 2 2
...
6 B-123-BLAH-1-2-3 6 5