Skip to content

Instantly share code, notes, and snippets.

@apneadiving
apneadiving / refinery_patch.rb
Created October 8, 2011 19:10
to use Refinery with your custom devise configuration in Rails 3.1
module RefineryPatch
def self.included(base)
base.send :helper_method,
:current_refinery_user,
:refinery_user_signed_in?,
:refinery_user? if base.respond_to? :helper_method
end
def current_refinery_user
@apneadiving
apneadiving / deploy.rb
Created October 31, 2011 17:19
basic capistrano script
require 'yaml'
CAP = YAML.load_file("./config/deploy.yml")
require "bundler/capistrano"
set :bundle_cmd, "/usr/local/rvm/gems/ree-1.8.7-2011.03/bin/bundle"
set :bundle_without, [:development, :test]
default_run_options[:pty] = true # Must be set for the password prompt from git to work
set :repository, CAP["repository"] # Your clone URL
@apneadiving
apneadiving / users_controller.rb
Created January 20, 2012 00:25
gmaps4rails: Don't show map by default and load markers with ajax
class UsersController < ApplicationController
respond_to :html, :json
def index
@json = User.all.to_gmaps4rails
respond_with @json
end
end
@apneadiving
apneadiving / console.rb
Created April 14, 2012 20:15
potential mongoid bug
--------------------------------------------------------------------------------------------
With one object saved, another in memory
--------------------------------------------------------------------------------------------
#setup
subject.copywriter_languages.create Factory.attributes_for(:copywriter_language, status: "deleted")
subject.copywriter_languages.build Factory.attributes_for(:copywriter_language, status: "pending")
#Round 1
#checking default scope
subject.copywriter_languages.criteria
class UserInfo
attr_accessor :contact
def initialize(contact = nil)
self.contact = contact || NullContact.new
end
def contact_name
contact.name
@apneadiving
apneadiving / file.rb
Created December 4, 2012 16:38
refactoring
def set_username_as_name_if_empty
if self.username && self.username.present?
self.name = self.username if self.name && self.name.empty?
end
end
def set_username_as_name_if_empty
return if !username.blank? || !name.blank?
self.name = username
end
def update_discussion_with_client( author, client, document, message )
email_vars = {
:locale => client.locale,
:job_ref => document.ref,
:message => message,
:job_link => render_link(review_clients_project_path(id: document.project_id), client.locale) # I cannot find the route to open a document for review from the client's perspective
}
base_mail(
class Syracuse < Struct.new(:initial, :chiffre, :altitude, :duree_vol, :success)
HIGHER_THRESHOLD = 100000000000
def initialize(chiffre)
self.initial = self.chiffre = chiffre
self.altitude = self.duree_vol = 0
end
def next
require 'rubygems'
require 'tire'
Tire.configure { logger 'elasticsearch.log', :level => 'debug' }
class Document
attr_accessor :title, :content
include Tire::Model::Persistence
include Tire::Model::Search
include Tire::Model::Callbacks
@apneadiving
apneadiving / gist:7323051
Created November 5, 2013 17:44
qbox issue
curl -X GET 'https://cc88d7d5589d309a000.qbox.io/entities/timeline_post/_search?size=100000&pretty' -d '{query: { match_all: {} }, fields: ["_source", "_parent"] }'
{
"took" : 4,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"hits" : {