Skip to content

Instantly share code, notes, and snippets.

🏀
Basketball

Fernando Hamasaki de Amorim prodis

View GitHub Profile
@prodis
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)
base.extend(ClassMethods)
end
module InstanceMethods
def initialize(attributes)
init_instance_variables(self.class.accessor_attributes, attributes)
init_instance_variables(self.class.reader_attributes, attributes)
@prodis
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
end
# This gives us access to the use_vcr_cassette method:
describe Reviewed::Article do
use_vcr_cassette 'article/grill'
end
@prodis
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
end
def some_number
456 # Just to exemplify
end
end
@prodis
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
prodis / .git_completation.sh
Last active Dec 11, 2015
Mac configuration files
View .git_completation.sh
#!bash
#
# bash completion support for core Git.
#
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org>
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
# Distributed under the GNU General Public License, version 2.0.
#
# The contained completion routines provide support for completing:
#
@prodis
prodis / recursividade_hash_01.xml
Last active Mar 14, 2017
Ruby Fundamental - Usando recursividade para alterar valores de hash
View recursividade_hash_01.xml
<transaction>
<id>456</id>
<status>Aprovada</status>
<order_number>F2457</order_number>
<price>33.21</price>
<date_transaction>2012-12-13T12:35:30</date_transaction>
<date_release></date_release>
<payment>
<payment_method>Mastercard</payment_method>
<date_approval>2012-12-13T12:35:31</date_approval>
@prodis
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 / 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
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 ||= ::Logger.new(STDOUT)
end
def level
@cool_log_level ||= :info
end
You can’t perform that action at this time.