Skip to content

Instantly share code, notes, and snippets.


Fernando Hamasaki de Amorim prodis

View GitHub Profile
prodis / init_attributes.rb
Last active Oct 25, 2017
Module to initialize required attributes
View init_attributes.rb
module InitAttributes
def self.included(base)
base.send(:include, InstanceMethods)
module InstanceMethods
def initialize(attributes)
init_instance_variables(self.class.accessor_attributes, attributes)
init_instance_variables(self.class.reader_attributes, attributes)
prodis / blocks_procs_lambdas.txt
Last active Aug 29, 2015
Fernando's whiteboard
View blocks_procs_lambdas.txt
Difference between blocks, procs and lambdas.
Blocks are not objects and can't be manipulates as objects. With procs and lambdas is possible to
create objects that represents a block.
Procs and lambdas have the 'call' method, that executes the block code associated in their creation.
A proc behaves like a block, different of lambdas that behaves like a method. For that reason,
lambdas need to receive the exact number of parameters defined in your declaration.
View gist:5728513
# Typically in Rails to use VCR we setup the RSpec config like so:
RSpec.configure do |config|
config.extend VCR::RSpec::Macros #deprecated
# This gives us access to the use_vcr_cassette method:
describe Reviewed::Article do
use_vcr_cassette 'article/grill'
prodis / alias_metodos_de_classe_01.rb
Created Mar 29, 2013
Ruby Fundamental - Alias para métodos de classe
View alias_metodos_de_classe_01.rb
# You didn't write this code
class ExternalClass
def self.class_number
123 # Just to exemplify
def some_number
456 # Just to exemplify
prodis / hash_values_01.rb
Last active Dec 11, 2015
Ruby Fundamental - Uma maneira não trivial de acessar valores de hash
View hash_values_01.rb
my_hash[:status] if my_hash
# or
my_hash[:status] unless my_hash.nil?
prodis /
Last active Dec 11, 2015
Mac configuration files
# bash completion support for core Git.
# Copyright (C) 2006,2007 Shawn O. Pearce <>
# Conceptually based on gitcompletion (
# Distributed under the GNU General Public License, version 2.0.
# The contained completion routines provide support for completing:
prodis / recursividade_hash_01.xml
Last active Mar 14, 2017
Ruby Fundamental - Usando recursividade para alterar valores de hash
View recursividade_hash_01.xml
prodis / alias_metodos_01.rb
Created Oct 1, 2012
Ruby Fundamental - Alias para métodos em Ruby
View alias_metodos_01.rb
names = ["Akira", "Fernando", "Jose"]
names.length # => 3
names.size # => 3
prodis / Prodis.ExitPageConfirmer.js
Created May 26, 2012
JavaScript exit page confirmer object
View Prodis.ExitPageConfirmer.js
function ExitPageConfirmer(message) {
this.message = message;
this.needToConfirm = false;
var myself = this;
window.onbeforeunload = function() {
if (myself.needToConfirm) {
return myself.message;
prodis / modulos_metodos_globais_01.rb
Created Apr 30, 2012
Ruby Fundamental - Módulos para definir métodos globais
View modulos_metodos_globais_01.rb
require 'logger'
module CoolLog
def logger
@cool_log_logger ||=
def level
@cool_log_level ||= :info
You can’t perform that action at this time.