Skip to content

Instantly share code, notes, and snippets.

View lukin-io's full-sized avatar
🏠
Working from home

Lukin Max lukin-io

🏠
Working from home
View GitHub Profile
module MyModule
def self.included(base)
puts base
base.instance_variable_set :@my_instance_variable, {}
base.extend ClassMethods
end
module ClassMethods
def my_instance_variable
# self is ClassA here, so we need to call superclass
recursive_array = lambda do |array, result|
array.each do |item|
result << item[:name] if item[:name]
recursive_array.call(item[:children], result) if item[:children]
end
result
end
a = [
{name: "Folder 1",
@lukin-io
lukin-io / gist:0ccf1d59dcfd61c6e64b
Created August 25, 2014 14:27
block on initialize
class Gladiator
attr_accessor :name, :rank, :height, :weight
def initialize
yield(self)
end
end
spartak = Gladiator.new do |his|
his.name = "spartak"