Skip to content

Instantly share code, notes, and snippets.

View tadast's full-sized avatar

Tadas Tamošauskas tadast

View GitHub Profile
@tadast
tadast / unused_yam_keys.rb
Last active August 29, 2015 14:21
Unused YAML keys
def find_keys(hash)
hash.flat_map do |key, value|
if value.is_a?(Hash)
find_keys(value)
else
key
end
end
end
@tadast
tadast / specialist-publisher-schema-to-rumager.rb
Created April 29, 2015 13:41
Helper script to convert govuk specialist-publisher schema to rumager document schema
json = File.read("path/to/specialist-publisher/schema")
publisher_schema = JSON.parse(json)
fields = publisher_schema['facets'].map{|x| x['key']}
allowed_values = {}
publisher_schema['facets'].each do |facet|
allowed_values[facet['key']] = facet["allowed_values"]
end
[94] pry(main)> WHATEVER = {a: [{x: :boom1, z: :boom2}]}.freeze
=> {:a=>[{:x=>:boom1, :z=>:boom2}]}
[95] pry(main)> WHATEVER.clone[:a].first[:x] = :wtf
=> :wtf
[96] pry(main)> WHATEVER[:a].first[:x]
=> :wtf
def without_delayed_job &block
@old_behaviour = Delayed::Worker.delay_jobs
Delayed::Worker.delay_jobs = false
yield
Delayed::Worker.delay_jobs = @old_behaviour
end
### Usage
describe 'stuff' do
without_delayed_job do
# As per https://github.com/alphasights/guides/pull/14
# Instead of
$ ->
if $('.js_money_index').length
# all your page-specific logic
# Use a [dispatcher](https://coderwall.com/p/mhvucw) with
# controllers/money_controller.js.coffee
@tadast
tadast / activesupport_offsets.rb
Created June 17, 2014 10:55
ActiveSupport::Timezone offsets
{
"American Samoa" => -11,
"International Date Line West" => -11,
"Midway Island" => -11,
"Hawaii" => -10,
"Alaska" => -9,
"Pacific Time (US & Canada)" => -8,
"Tijuana" => -8,
"Arizona" => -7,
"Chihuahua" => -7,
@tadast
tadast / quotes_scrum_xp.md
Created May 27, 2014 22:20
Quotes from Scrum and XP from the Trenches by Henrik Kniberg

Scrum and XP from the Trenches by Henrik Kniberg

Disclaimer: exported by readmill in no particular order :(

If the product owner has a technical background he might add stories such as “Add indexes to the Events table”. Why does he wa nt this? The real underlying goal is probably something like “speed u p the search event form in the back office

The distinction is quite simple. Stories are deliver able stuff that the product owner cares about. Tasks are non-deliverable stuff, or stuff that the product owner doesn’t care about.

Normally the product owner starts the meeting by summarizing his goal for the sprint and the most important stories. Next , the team goes through and time-estimates each story, starting with the most important one. As they do this, they will come up with important scope questions – “does this ‘delete user’ story include going through each pending transaction for that user and canceling it?’” In some cases the answers will be surprising to the team, prompting them to change

@tadast
tadast / hash_wat.rb
Last active August 29, 2015 14:01
ruby **options inconsistency
def foo(a, *b, **c)
[a, b, c]
end
=> :foo
[16] » foo 10, {d: 40, e: 50}
=> [
[0] 10,
[1] [],
[2] {
@tadast
tadast / ssl_puma.sh
Last active January 29, 2024 04:41 — forked from trcarden/gist:3295935
localhost SSL with puma
# 1) Create your private key (any password will do, we remove it below)
$ cd ~/.ssh
$ openssl genrsa -des3 -out server.orig.key 2048
# 2) Remove the password
$ openssl rsa -in server.orig.key -out server.key
@tadast
tadast / arsample.rb
Created March 20, 2014 09:00
ActiveRecord#sample for postgres
class ActiveRecord::Base
def self.sample
order('random()').first
end
end