Skip to content

Instantly share code, notes, and snippets.

View a-chernykh's full-sized avatar

Andrey Chernykh a-chernykh

View GitHub Profile
@a-chernykh
a-chernykh / unicorn.init.erb
Created September 5, 2014 11:31
Monitor unicorn workers with monit
#!/bin/bash
export RAILS_ENV=<%= node[:application][:environment] %>
export PATH=$PATH:/usr/local/bin
APP_ROOT=<%= node[:application][:path] %>/current
PID=<%= node[:application][:path] %>/current/tmp/pids/unicorn.pid
old_pid="$PID.oldbin"
@a-chernykh
a-chernykh / Vagrantfile
Last active August 29, 2015 14:09
sample Vagrantfile which installs Ubuntu Trusty
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] # faster network
vb.memory = 1024
vb.cpus = 2
end
@a-chernykh
a-chernykh / script.js
Created November 20, 2014 23:23
Delete all Jenkins jobs produced by "Build Per Branch"
for(job in jenkins.model.Jenkins.theInstance.getProjects()) {
if (job.name != 'project-test-master' && job.name.indexOf('project-test') > -1) {
job.delete();
}
}
@a-chernykh
a-chernykh / Vagrantfile
Created January 8, 2015 22:54
Package plugins with vagrant
needs_restart = false
plugins = {
'vagrant-aws' => '0.5.0',
'vagrant-s3auth' => '0.1.0',
'vagrant-bindfs' => '0.3.2',
}
plugins.each do |plugin, version|
unless Vagrant.has_plugin?(plugin)
system("vagrant plugin install #{plugin} --plugin-version #{version}") || exit!
needs_restart = true
@a-chernykh
a-chernykh / spec_helper.rb
Created May 7, 2015 23:25
TeamCity hack for running specs with spork started from another process (i.e. from terminal)
# Teamcity hack
$LOAD_PATH.push '/Applications/RubyMine.app/Contents/rb/testing/patch/bdd'
$LOAD_PATH.push '/Applications/RubyMine.app/Contents/rb/testing/patch/common'
require 'teamcity/spec/runner/formatter/teamcity/formatter'
@a-chernykh
a-chernykh / base.rb
Last active September 8, 2015 22:04
Interview test task
class Base
def initialize(attrs={})
# implement this
end
def self.find(id)
# implements this
end
def self.db
@a-chernykh
a-chernykh / child.rb
Created October 9, 2015 18:46
Why rails can't infer foreign key name automatically?
class Child < ActiveRecord::Base
belongs_to :parent # Child has parent_guid field
# ActiveModel::MissingAttributeError:
# can't write unknown attribute `parent_id`
end
@a-chernykh
a-chernykh / tester.rb
Created October 16, 2015 21:20
variable in ruby shadows method with the same name
class Tester
def test
if false
# variable 'var' is now in scope because it's defined syntactically (at parse time)
var = 'bar'
end
# variable 'var' shadows method with the same name. variable 'var' was defined, but never assigned which means it equals nil
puts var.inspect # => nil
end
@a-chernykh
a-chernykh / Dockerfile
Created August 29, 2016 02:15
docker osxfs slowness workaround
ENV APP_USER app
ENV BUNDLE_APP_CONFIG /usr/local/bundle
ADD Gemfile $DIR
ADD Gemfile.lock $DIR
# Force bundler to install all gems to system location (/usr/local/bundle) so that when you run `rake` command
# all files are loaded from docker image instead of mounted volume
RUN bundle install --deployment --path $BUNDLE_APP_CONFIG
RUN chown -R $APP_USER $BUNDLE_APP_CONFIG
@a-chernykh
a-chernykh / search.feature
Created September 8, 2016 03:58
How to test a website blog post
Feature: Search
Scenario: Search for "apple"
Given I am on the front page
When I search for "apple"
Then I should see "apple.com"