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 Foo | |
def meth(a:, b:, c:) | |
method(__method__).parameters.map(&:last).each do |var| | |
instance_variable_set("@#{var}", binding.local_variable_get(var)) | |
end | |
end | |
def inspect | |
puts "@a = #{@a}" | |
puts "@b = #{@b}" | |
puts "@c = #{@c}" |
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 'base64' | |
class ValidateCsrfTokens | |
class << self | |
def validate(form_token:, cookie_token:) | |
decoded_form_token = Base64::decode64(form_token) | |
decoded_cookie_token = Base64::decode64(cookie_token) | |
form_token_length = decoded_form_token.bytes.length | |
cookie_token_length = decoded_cookie_token.bytes.length |
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 ApprovalError < StandardError | |
def initialize(response) | |
@response = response | |
@request = response.request | |
end | |
def inspect | |
"uri: #{@request.uri}, response_body: #{@response.body}" | |
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
# Cribbed from https://stackoverflow.com/questions/24438655/ruby-fibonacci-algorithm | |
def fib_memo(n, memo) | |
memo[n] ||= fib_memo(n-1, memo) + fib_memo(n-2, memo) | |
end | |
def fib(n) | |
raise "fib not defined for negative numbers" if n < 0 | |
fib_memo(n, [0, 1]) | |
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
# gem install awesome_print | |
# gem install benchmark | |
# gem install pry | |
require 'awesome_print' | |
require 'pry' | |
require 'benchmark' | |
class SumOfEach | |
attr_accessor :number_to_equal, :array, :answers, :array_count, :to_remove, :answered |
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
# encoding: utf-8 | |
namespace :db do | |
desc "Import DB Data" | |
namespace :import do | |
desc "Import production db to whatever 'ENV['to']' db is set to and s3 sync" | |
task :production => :environment do | |
## example rake db:import:production to=qa s3=true | |
## or no s3 |
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 'rubygems' | |
require 'csv' | |
File.open('/tmp/foo.csv', 'r') do |file| | |
file.readline # crap | |
file.readline # krap | |
csv = CSV.new(file, headers: :first_row).each do |row| | |
puts row.inspect | |
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
a = "abc\xffdef" | |
a.force_encoding('UTF-8') # => "abc\xFFdef" | |
a.encoding.name # => "UTF-8" | |
# ok | |
a.valid_encoding? # => false | |
# wtf? |
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 DegreeClock | |
HOURS_PER_DAY = 24 | |
MINUTES_PER_HOUR = 60 | |
DEGREES_PER_HOUR = 360 | |
DEGREES_PER_DAY = DEGREES_PER_HOUR * HOURS_PER_DAY | |
DEGREES_PER_MINUTE = DEGREES_PER_HOUR / MINUTES_PER_HOUR | |
HOURS_PER_HALF_DAY = HOURS_PER_DAY / 2 | |
class Time |
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
# https://rpm.newrelic.com/account/131856/agent/3256655/metrics/425412176 | |
# https://rpm.newrelic.com/accounts/131856/plugins?type=6106 | |
# http://note.io/1bjT5FW | |
[<2013-11-08 23:00:22, 2013-11-08 23:01:22> metric: count:1 total:7.0, | |
<2013-11-08 23:01:21, 2013-11-08 23:02:21> metric: count:1 total:7.0, | |
<2013-11-08 23:02:21, 2013-11-08 23:03:21> metric: count:1 total:7.0, | |
<2013-11-08 23:03:22, 2013-11-08 23:04:22> metric: count:1 total:7.0, | |
<2013-11-08 23:04:22, 2013-11-08 23:05:22> metric: count:1 total:7.0, | |
<2013-11-08 23:05:23, 2013-11-08 23:06:23> metric: count:1 total:7.0, | |
<2013-11-08 23:06:23, 2013-11-08 23:07:23> metric: count:1 total:7.0, |
NewerOlder