Skip to content

Instantly share code, notes, and snippets.

View imouaddine's full-sized avatar

Imad Mouaddine imouaddine

  • Measured
  • Casablanca
View GitHub Profile
def fetch_events(start, end, timezone)
Rails.cache.fetch(cache_key, expires_in: 1.hour.from_now) do
GoogleClient.fetch_events
end
end
def cache_key
[
start,
end,
require 'google/apis/calendar_v3'
class GoogleCalendarController < ApplicationController
def redirect
client = Signet::OAuth2::Client.new(client_options)
redirect_to client.authorization_uri.to_s
end
require "net/http"
uri = URI.parse('https://tlstest.paypal.com')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
begin
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
puts response.body
csv do
column 'credit id' do |credit|
credit.id.to_s
end
column "account id" do |credit|
credit.account_id.to_s
end
column('enterprise') { |c| c.account && (c.account.enterprise? ? 'yes' : '') || '' }
column "client id" do |credit|
credit.user && credit.user.id.to_s || 'no user'
@imouaddine
imouaddine / Quick sort
Created January 6, 2015 16:33
Quick sort
def partition(a,p,r)
q = 0
pivot = a[r]
if p < r
(0).upto(r-1) do |j|
if a[j] < pivot
a[q],a[j] = a[j],a[q]
q += 1
end
end
class PriorityQueue
attr_accessor :a
attr_accessor :size
def initialize(a)
@a = a
self.size = a.length
build_heap
end
@imouaddine
imouaddine / gist:8152d3d61865c4efc8ce
Last active September 26, 2024 15:31
Synced via Snip
# Write your query or mutation here
mutation {
extractLabResults(documents: [
{
url: "https://app-staging.trymeasured.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTU2NTYsInB1ciI6ImJsb2JfaWQifX0=--e86debef406abc972833b0f141d8f453d0eedede/Lacey%20Frost_Quest%20Lab%20Results%20(1).pdf?disposition=attachment",
extension: "pdf"
},
{
url: "https://app-staging.trymeasured.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTU3MDAsInB1ciI6ImJsb2JfaWQifX0=--3e74cba16816412fb2d5c9c3d75f5a3c562cbec1/trig%20(3).png?disposition=attachment",
extension: "png"
w = [10, 20, 30]
b = [60, 100, 120]
$result = {}
def knaspask(w, b, n, max_w)
if n == 0 || max_w == 0
result = 0
else
if result = $result["#{n.to_s}-#{max_w.to_s}"]
# Iterative using visited attribute
def in_order_ite
s = Stack.new
s.push root
until s.empty?
c = s.last
if c.left && !c.left.visited
def permutations(str, prefix)
if str.length == 0
puts prefix
else
(0).upto(str.length-1) do |i|
permutations(str.slice(0,i)+str.slice(i+1, str.length), prefix + str[i])
end
end
end