Skip to content

Instantly share code, notes, and snippets.

View hackvan's full-sized avatar
🇨🇴

Diego Camacho hackvan

🇨🇴
View GitHub Profile
# Esta definición:
class Example
attr_accessor :x
end
## Es equivalente a:
class Example
def x
@x
end
class Example
end
ex = Example.new
ex.instance_variables # => []
ex.instance_variable_set(:@x, 1) # => 1
ex.instance_variables # => ["@x"]
ex.instance_variable_defined?(:@x) # => true
ex.instance_variable_defined?(:@y) # => false
ex.instance_variable_get(:@x) # => 1
@hackvan
hackvan / class_II.rb
Last active December 13, 2018 01:53
class # Retorna el objeto de clase a la que pertenece el objeto instanciado
superclass # Retorna el objeto de clase del cual hereda la clase del objeto instanciado
ancestors # Retorna un Array con el listado de la cadena de ancestros
instance_variables # Retorna un Array con el listado de las variables de instancia creadas en la clase del objeto
instance_variable_get(name) # Retorna el valor de una variable de instancia creada en la clase del objeto
class_variables # Retorna un Array con el listado de las variables de clase creadas en la clase del objeto
methods # Retorna un Array con el listado de los metodos implementados dentro de la clase del objeto
public_methods # Retorna un Array con el listado de los metodos publicos implementados dentro de la clase del objeto
Fixnum.class # => Class
42.class.class # => Class
Class.class # => Class
42 + 1 # => 43
42.+(1) # => 43
42.send(:+, 1) # => 43
@hackvan
hackvan / object.rb
Created September 11, 2018 22:39
2_metaprogramming
42.class # => Fixnum
:foo.class # => Symbol
"Ruby".class # => String
true.class # => TrueClass
[1, 2, 3].class # => Array
{ a: => 1 }.class # => Hash
@hackvan
hackvan / 1_metaprogramming.py
Last active December 13, 2018 02:23
Metaproggraming Examples
s = "<php \n"
s += " $x = 0; \n"
for i in range(3):
s += " $x = $x + %s; \n" % str(i+1)
s += " print($x);\n ?>"
open('dummy.php', 'w').write(s)
@hackvan
hackvan / .bash_profile
Created July 19, 2018 01:54
Dot Files - MBP
export PATH="/usr/local/bin:$PATH"
@hackvan
hackvan / postgres-cheatsheet.md
Last active July 6, 2017 23:39 — forked from Kartones/postgres-cheatsheet.md
PostgreSQL command line cheatsheet

PSQL

To have launchd start postgresql now and restart at login:

brew services start postgresql

Or, if you don't want/need a background service you can just run:

pg_ctl -D /usr/local/var/postgres start
@hackvan
hackvan / define_exception_for_currval.sql
Created February 23, 2017 16:53
How to create a custom exception for the use of CURRVAL on sequences.
Declare
nextvalnotfound Exception;
Pragma Exception_Init(nextvalnotfound, -08002);
lc_secuencia Number;
Begin
SELECT sfps010s.currval INTO lc_secuencia FROM dual;
Exception
When nextvalnotfound Then
dbms_output.put_line('NextVal is not found it!');
When Others Then