Skip to content

Instantly share code, notes, and snippets.

@AjayBarot
AjayBarot / steps.txt
Last active January 13, 2021 10:23
Fix for Installing ruby into Mac OS Big Sur using RVM
Please follow this steps to install ruby
1. `brew install gnupg`
2. Install rvm
- `gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB`
- `\curl -sSL https://get.rvm.io | bash -s stable --ruby`
- `rvm autolibs disable`
- `rvm get master`
3. Install openssl
- `brew install rbenv/tap/openssl@1.0`
@AjayBarot
AjayBarot / banchmark.rb
Created September 27, 2016 06:21
Ruby sort and sort_by benchmarks for reverse sorting an array of random integers. Just for curiosity, run on your machine to verify
require 'benchmark'
array = []
1000.times {
array << rand(100)
}
sort_count = 10_000
default_sort_time = Benchmark.realtime do
[{"id":1,"text":"Root node","children":[{"id":2,"text":"Child node 1"},{"id":3,"text":"Child node 2"}]}]
@AjayBarot
AjayBarot / refactored_demo.rb
Last active July 28, 2016 13:25
Code refactor
Original code
def paginated(resources, per_page=Settings.pagination.default)
if resources.present?
unless resources.kind_of?(Array)
resources = resources.page(params[:page]).per(per_page)
else
resources = Kaminari.paginate_array(resources).page(params[:page]).per(per_page)
end
end
@AjayBarot
AjayBarot / sum_of_subarray
Created April 22, 2016 17:08
ruby program to find the contiguous subarray within a one dimensional array of numbers
def sum_of_subarray(array)
largest = {
:sum => array[0],
:start => 0,
:end => 0
}
(0 .. array.length-1).each do |start_at|
sum = 0
start_num = array[start_at]
next if largest[:sum] > start_num and start_num < 0
@AjayBarot
AjayBarot / gist:2d6e9228a03549d5ed8c
Last active January 28, 2016 11:07
Campaign_blocked_query
# Promoter Campaigns
select_blocked_campaign_of_promoter = Campaign::Campaign.joins(:user_campaign_short_links).where(["user_campaign_short_links.is_blocked = :is_blocked AND user_campaign_short_links.user_id = :user_id", {user_id: user.id, is_blocked: true}]).map(&:business_user_id)
@blocked_bu_campaign_ids = Campaign::Campaign.where("business_user_id IN(?) ", select_blocked_campaign_of_promoter).map(&:id)
# Influencer Campaigns
select_blocked_campaign_of_influencer = Campaign::Campaign.joins(:user_campaign_short_links).where(["user_campaign_short_links.is_blocked = :is_blocked AND user_campaign_short_links.user_id = :user_id", {user_id: user.id, is_blocked: true}]).map(&:user_id)
@blocked_influencer_campaign_ids = Campaign::Campaign.where("user_id IN(?)", select_blocked_campaign_of_influencer).map(&:id)
class EventsVersionUpdater < Struct.new(:id, :time)
def perform
event = Event.find(id)
event.increment_version!
end
def schedule! options = {}
event = Event.find(id)
options = options.dup
if run_every = options.delete(:run_every)