Skip to content

Instantly share code, notes, and snippets.

nhm tanveer hossain khan (hasan) we4tech

Block or report user

Report or block we4tech

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
we4tech / chain_middelware_call.rb
Created Aug 7, 2018
How to chain middleware call in Ruby?
View chain_middelware_call.rb
# Create a middleware class
class Middleware
def call(*args)
puts "Args: #{args}"
def call_in_chain(chain)
traverse_chain = lambda do
we4tech / Benchmark.txt
Last active Aug 2, 2018
Shows how to make a threaded call
View Benchmark.txt
## FYI: Not literally accurate. Because the API is coming from a non-constant setup. (A public API from httpbin)
user system total real
Sequential 10 calls
req:0: 200
req:1: 200
req:2: 200
req:3: 200
req:4: 200
req:5: 200
we4tech / host_application_routes.rb
Created Aug 2, 2018
Create a test mountable rails engine and mount through a parent rails routes
View host_application_routes.rb
mount RailsEngineTest::Engine => 'api/v3/'
we4tech / broadcaster.rb
Last active Aug 1, 2018
Rabbit Fanout Exchange Example
View broadcaster.rb
require 'bunny'
require 'irb'
STDOUT.sync = true
conn ="amqp://guest:guest@localhost:5672")
ch = conn.create_channel
$x = ch.fanout('msgs')
View patch_active_record_search_path_to_not_set_already_set_search_path.rb
module ActiveRecord
module ConnectionAdapters
module PostgreSQL
module SchemaStatements
alias_method :old_schema_search_path=, :schema_search_path=
alias_method :old_schema_search_path, :schema_search_path
def schema_search_path=(schema_csv)
unless schema_search_path == schema_csv
self.old_schema_search_path = schema_csv
View method_with_metadata_and_advice.rb
require 'byebug'
module MethodMetadata
def self.included(base)
base.extend ClassMethods
module ClassMethods
def method_advice(data = {})
lineno = caller_locations(1, 1).first.lineno
we4tech / data_leak_detector.rb
Created May 30, 2018
Find out data leak from the rspec example
View data_leak_detector.rb
RSpec.configure do |config|
def count_rows_from_all_tables
Hash[ do |tbl|
[tbl, ActiveRecord::Base.connection.execute("select count(*) from #{tbl}").values.last.first.to_i]
config.around :example do |example|
we4tech / rebase-reminder-circleci-job.yml
Created May 18, 2018
Git rebase reminder for CircleCI
View rebase-reminder-circleci-job.yml
# specify the version you desire here
- image: circleci/ruby:2.4.1-node-browsers
PGUSER: root
we4tech / profile_string_generation.rb
Created Mar 13, 2018
Find out ruby string generation
View profile_string_generation.rb
require 'pp'
def profile
old_strs = ObjectSpace.count_objects[:T_STRING]
old_objs = GC.stat[:total_allocated_objects]
yield.tap do
new_strs = ObjectSpace.count_objects[:T_STRING]
new_objs = GC.stat[:total_allocated_objects]
we4tech / boot.rb
Created Feb 7, 2018
Add TracePoint to find certain classes from the rails environment
View boot.rb
# Add ruby tracepoint
EXCLUDED_CLASSES = %w(Sidekiq::Worker Delayed::Worker Unicorn::Worker Sidekiq::Worker Parallel::DeadWorker
Parallel::Worker Concurrent::RubyThreadPoolExecutor::Worker Twilio::REST::TaskRouter::Worker)
trace = do |tp|
class_name =
next if class_name.nil?
You can’t perform that action at this time.