Skip to content

Instantly share code, notes, and snippets.

require('coffee-script/register');
module.exports = require('./webpack.config.coffee');
path = require 'path'
webpack = require 'webpack'
exec = require 'exec-sync'
gemDir = (name) ->
exec('bundle show ' + name)
refileDir = path.join(gemDir('refile'), 'app/assets/javascripts')
jqueryRailsDir = path.join(gemDir('jquery-rails'), 'vendor/assets/javascripts')

Usage

require tp_logger in spec_helper and run TPLogger.start The main goal of early start is to catch class definitions. Therefore it is important to start it before loading rails environment and initializers.

require 'tp_logger'
TPLogger.start(filter: 'project_folder_name', dump_path: 'tplogger.csv')
# How to not use 'before_action :authorize_user!' in controllers
devise_for :users
root to: "home#index"
# this route for signed in users and guests
resources :games, only: [:show]
# create routes with redirect to sign_in for guests
authenticate(:user) do
require 'active_support/testing/time_helpers'
RSpec.configure do |config|
config.include ActiveSupport::Testing::TimeHelpers
config.after do
travel_back
Timecop.return
end
@cutalion
cutalion / README.md
Last active August 29, 2015 13:56
Thumbnail creation with ffmpeg

Processor: Intel Core i3

time ./m_ffmpeg.sh dinner.m4v
./m_ffmpeg.sh dinner.m4v 48,54s user 5,34s system 142% cpu 37,897 total

time ./m_thumbnailer.sh dinner.m4v ./m_thumbnailer.sh dinner.m4v 66,21s user 5,61s system 156% cpu 45,918 total

@cutalion
cutalion / README.md
Last active December 24, 2015 07:19
Make all files in S3 "directory" private or public

Once I've got a task to make a lot of files stored on S3 private. In my project I used carrierwave and fog.
All files were public by default.

In order not to make many requests to AWS, I've decided to change bucket policy instead of ACL of each file.

@cutalion
cutalion / README.md
Last active December 23, 2015 23:59
Temporary turn VCR off

I often use VCR gem. And I always configure it to use rspec metadata to turn it on with just :vcr symbol.

When I know that some module will always hit the external service, I turn VCR on at the very top describe.

describe "Something", :vcr do
  it "should make coffee" do
  end
require 'open3'
Open3.popen2e("wget", "http://dumps.wikimedia.org/ruwiki/latest/ruwiki-latest-templatelinks.sql.gz", "-O wiki.sql.gz") do |i, oe, wait_thr|
oe.each do |line|
puts line[/\d+%/]
end
end

-[ ] one

-[ ] two

-[ ] three