Skip to content

Instantly share code, notes, and snippets.

@brenes
brenes / gist:c556ed0d0070e27444b5
Last active August 29, 2015 14:09
extending objects through modules
class A
def to_s
"a"
end
end
module B
def to_s
super + "b"
end
@brenes
brenes / fix-srt.rb
Last active June 8, 2018 07:47
Small script for fixing srt files with blank lines
# This small script uses the 'srt' gem to parse the srt file
# It solves problems with certain subtitle files with empty lines that make Flex crash
# You can use it with files, folders with files or even folders with subfolders with files (God bless Recursivity)
# USAGE: ruby fix-srt.rb file/to/fix.srt
# USAGE: ruby fix-srt.rb folder/with/files/to/fix
# USAGE: ruby fix-srt.rb folders/with/subfolders/to/fix
require 'rubygems'
require 'srt'
class StrFixer
@brenes
brenes / gist:b59b0a77fd397290d9f7
Created October 1, 2014 13:49
Averiguar IP pública
curl ipecho.net/plain
@brenes
brenes / multi-scp-copy
Created June 15, 2014 16:26
Copying various files through scp, one connection at a time
for filename in *; do
scp "$filename" user@host:/folder;
done
@brenes
brenes / test
Created May 27, 2014 09:45
Plugin generator for nested namespaces
testing
@brenes
brenes / responsive_describe.rb
Created December 27, 2013 10:38
Responsive Describe module for running request specs under different resolutions with poltergeist
# This module allows you to run your request specs in a responsive mode quite easily
#
# Requirement: It requries Poltergeist, but could work with any capybara driver with a resize method
#
# Instructions:
#
# 0. Setup Poltergeist and register the driver
# 1. Drop this module in your spec/support folder
# 2. Include this module before your describe
# 3. Use a responsive: true param in describe to enable responsive requests. We will need a js:true to enable poltergeist
@brenes
brenes / _header.html.erb
Last active December 22, 2015 22:09
helper method to obtain a fragment cache key depending on the currently selected page on the refinery menu
.......
.......
<% cache menu_cache_key, expire_in: 1.day do %>
<%= render(:partial => "/refinery/menu", :locals => {
:css => 'submenu'
}) %>
<% end %>
.......
.......
@brenes
brenes / gist:6000406
Created July 15, 2013 14:32
Funcion JS para loguear errores de Parsley
$('form').parsley( {
listeners: {
onFieldError: function ( elem, constraints, ParsleyField ) {
if (javascript_env == 'production') {
return;
}
_log("Errores: ")
_log(elem.attr("name") + ": " + elem.val());
for(constraint_id in constraints) {
@brenes
brenes / admin_controller_decorator.rb
Last active December 19, 2015 07:09
Refinery Admin extension solving Globalize + Crudify issues
# Extension to Refinery Admin controller to avoid 2 problems:
#
# 1) Edit locale propagates through requests as Thread.current[:globalize_locale] is never reset to nil
# 2) Crudify's find filter is pepended before de globalize filter. This way, if you're editing in a non-default locale and the update url comes with a slug in that locale it won't be found (in fact, it does work in some circunstances)
::Refinery::AdminController.class_eval do
# We should reset globalize so we don't propagate Globalize locale between requests
def reset_globalize
Thread.current[:globalize_locale] = nil
@brenes
brenes / spec_helper.rb
Created May 8, 2013 08:45
VCR basic config
require 'vcr'
VCR.configure do |c|
c.cassette_library_dir = 'spec/fixtures/vcr/'
c.hook_into :webmock # or :fakeweb
c.allow_http_connections_when_no_cassette = true
c.configure_rspec_metadata!
c.default_cassette_options = { :record => :new_episodes, :erb => true, :match_requests_on => [:path] }
c.ignore_request do |request|
uri = URI(request.uri)
uri.host == '127.0.0.1'