Skip to content

Instantly share code, notes, and snippets.

View rShetty's full-sized avatar
💭
What's on my mind ?

Rajeev N Bharshetty rShetty

💭
What's on my mind ?
View GitHub Profile
@rShetty
rShetty / exception_heirarchy.rb
Created March 27, 2015 05:27
Exception Heirarchy
exceptions = []
tree = {}
ObjectSpace.each_object(Class) do |cls|
next unless cls.ancestors.include? Exception
next if exceptions.include? cls
next if cls.superclass == SystemCallError # avoid dumping Errno's
exceptions << cls
cls.ancestors.delete_if {|e| [Object, Kernel].include? e }.reverse.inject(tree) {|memo,cls| memo[cls] ||= {}}
end
@rShetty
rShetty / gist:b2d8084f417d269d296f
Created March 18, 2015 02:23
include? vs cover?
require 'benchmark/ips'
Benchmark.ips do |x|
x.config(:time => 5, :warmup => 2)
x.time = 5
x.warmup = 2
no_of_times = 1_000_000
last_value = 10000
@rShetty
rShetty / gist:d9a15645697aa2632037
Last active August 29, 2015 14:16
Benchmark IPS
require 'benchmark/ips'
Benchmark.ips do |x|
x.config(:time => 5, :warmup => 2)
x.time = 5
x.warmup = 2
times = 10000
@rShetty
rShetty / gist:d740955288c82ac688d7
Created December 27, 2014 10:47
Off By One Second Errors
time = Time.now
Timecop.freeze(time) do
merchant.mark_as_review_approved_by(admin_user)
end
expect(merchant.reload.last_reviewed_at.utc.to_s).to eq(time.utc.to_s)
composed_of :amount,
:class_name => 'Money',
:mapping => [%w(amount value), %w(currency_id currency_id)],
:constructor => Proc.new { |amount, currency_id| Money.new(amount, currency_id) }
class Money
attr_reader :value, currency_id
def create
uploaded_file = params[:batch_payouts_csv]
unless valid_file_type?(uploaded_file)
render json: {"error_message" => I18n.t("merchant.messages.errors.invalid_file_type")}, status: 400
return
end
uploaded_csv_file = Batch::CsvFile.new(uploaded_file.path)
unless uploaded_csv_file.valid_size?
@rShetty
rShetty / gist:4d23995a586234322552
Last active August 29, 2015 14:04
Haskell 101
* Basic Operations
* Prelude
* Booleans
* Comparison between different types
* Adding different types
* succ
* min, max
* Functions
* Higher Order