Establezca los argumentos de la palabra clave ruby 2.0 con attr_accessor al inicializar
¿Cómo puedo configurar dinámicamente sin tener que escribir el mismo código por todas partes?
En este momento el código se ve así:
def initialize(keywords: keywords, title: title, url: url, adsetting: adsetting)
self.keywords = keywords
self.title = title
self.url = url
self.adsetting = adsetting
end
Si la lista se alarga, rápidamente se va de las manos.
Con ruby 1.9 acababa de pasarle un hash al método. Me gusta esto:
def initialize(args)
args.each do |k,v|
instance_variable_set("@#{k}", v) unless v.nil?
end
end
Pero prefiero usar los argumentos de palabras clave de Ruby 2.0. ¿Se puede lograr algo similar?
def initialize(keywords: keywords, title: title, url: url, adsetting: adsetting)
args.each do |k,v|
instance_variable_set("@#{k}", v) unless v.nil?
end
end