Skip to content

Instantly share code, notes, and snippets.

View zosiu's full-sized avatar

Zsófia Balogh zosiu

  • 20:49 (UTC +02:00)
View GitHub Profile
@zosiu
zosiu / 01_how_to_setup_google_auth_with_devise.md
Last active August 29, 2015 14:08
Rails 4 & devise & google oauth2
  • register a new project here
  • set the followings under APIs & auth:
    • Consent screen: fill out the requires fields
    • APIs: Contacts API & Google+ API
    • Creditentials: create a new OAuth client ID
      • AUTHORIZED JAVASCRIPT ORIGINS: HOST (your app host) (protocol prefixed!)
      • AUTHORIZED REDIRECT URI: HOST/auth/google/callback (protocol prefixed!)
  • sign in url is user_omniauth_authorize_path(:google)
@zosiu
zosiu / human.rb
Created November 2, 2014 05:48
age calculation in ruby
require 'time'
class Human
attr_reader :birth_date
def initialize(birth_date)
@birth_date = birth_date
end
@zosiu
zosiu / verification.rb
Last active August 29, 2015 14:13
Apple In-App Purchase receipt verification
require 'venice'
data = %{ewoJInNpZ25hdHVyZSIgPSAiQXBNVUJDODZBbHpOaWtWNVl0clpBTWlKUWJLOEVkZVhrNjNrV0JBWHpsQzhkWEd1anE0N1puSVlLb0ZFMW9OL0ZTOGNYbEZmcDlZWHQ5aU1CZEwyNTBsUlJtaU5HYnloaXRyeVlWQVFvcmkzMlc5YVIwVDhML2FZVkJkZlcrT3kvUXlQWkVtb05LeGhudDJXTlNVRG9VaFo4Wis0cFA3MHBlNWtVUWxiZElWaEFBQURWekNDQTFNd2dnSTdvQU1DQVFJQ0NHVVVrVTNaV0FTMU1BMEdDU3FHU0liM0RRRUJCUVVBTUg4eEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURXpNREVHQTFVRUF3d3FRWEJ3YkdVZ2FWUjFibVZ6SUZOMGIzSmxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1CNFhEVEE1TURZeE5USXlNRFUxTmxvWERURTBNRFl4TkRJeU1EVTFObG93WkRFak1DRUdBMVVFQXd3YVVIVnlZMmhoYzJWU1pXTmxhWEIwUTJWeWRHbG1hV05oZEdVeEd6QVpCZ05WQkFzTUVrRndjR3hsSUdsVWRXNWxjeUJUZEc5eVpURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFNclJqRjJjdDRJclNkaVRDaGFJMGc4cHd2L2NtSHM4cC9Sd1YvcnQvOTFYS1ZoTmw0WElCaW1LalFRTmZnSHNEczZ5anUrK0RyS0pFN3VLc3BoTWRkS1lmRkU1ckdYc0FkQkVqQndSSXhleFRldngzS
@zosiu
zosiu / pretty_git_log
Last active August 29, 2015 14:17
Pretty git log
git log --graph --pretty=format:'%C(auto)%h -%d %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
-- cards are what you review. easy!
CREATE TABLE cards (
id integer primary key,
-- the epoch milliseconds of when the card was created
nid integer not null,
-- notes.id
did integer not null,
-- deck id (available in col table)
ord integer not null,
-- ordinal, seems like. for when a model has multiple templates, or thereabouts
@zosiu
zosiu / model.rb
Created March 31, 2015 09:39
has_many with date_part condition
# using the awesome squeel gem
has_many :shares, dependent: :destroy
has_many :stories, through: :shares
has_many(
:stories_this_month, -> do
where do
date_part('month', created_at).eq(Date.today.month) &
date_part('year', created_at).eq(Date.today.year)
@zosiu
zosiu / tatoeba.rb
Last active August 29, 2015 14:20
Analyzed random japanese senctence from tatoeba.org
require 'mechanize'
require 'kuromoji'
dom = Mechanize.new.get("http://tatoeba.org/eng/sentences/show/jpn")
jp_sentence = dom.parser.at("//div[@lang = 'ja']").text
# => "万一に備えて傘を持っていった方がいいだろうな。"
jp_sentence_w_furigana = dom.parser.at("//div[@lang = 'ja-Latn']").text
# => "万一[まんいち] に[] 備え[そなえ] て[] 傘[かさ] を[] 持っ[もっ] て[] いっ[] た[] 方[ほう] が[] いい[] だろ[] う[] な[] 。[]"
en_sentence = dom.parser.at("//div[@lang = 'en']").text
# => "Perhaps I should take an umbrella with me just in case."
@zosiu
zosiu / Instagram_real_time_updates_controller.rb
Created May 19, 2015 14:43
Instagram Real Time Update w/ Rails
class InstagramRealTimeUpdatesController < ActionController::Base
def callback
case request.method_symbol
when :get
render text: Instagram.meet_challenge(params, ENV['INSTAGRAM_VERIFY_TOKEN'])
when :post
Instagram.process_subscription(request.body.read) do |handler|
handler.on_user_changed do |user_id, data|
media_id = (data['data'] || {})['media_id']
InstagramJob.perform_later user_id, media_id
@zosiu
zosiu / 0-post-checkout-branch-logging.md
Last active August 29, 2015 14:22
git post-checkout branch logging
git config --global init.templatedir '~/.git-templates'
mkdir -p ~/.git-templates/hooks
  • create ~/.tig-brother/checkouts.db (sqlite3) from the dump

  • copy the hook script

  • git init in the git repo

@zosiu
zosiu / nisemonogatari.yml
Created September 6, 2015 23:22
nisemonogatari kanji
- - "お前"
- :count: 325
:readings:
- "オマエ"
- - "木"
- :count: 285
:readings:
- "キ"
- - "言う"
- :count: 279