Ustaw argumenty słowa kluczowego ruby ​​2.0 za pomocą attr_accessor na initialize

Jak mogę dynamicznie ustawić bez konieczności pisania tego samego kodu.

W tej chwili kod wygląda tak:

def initialize(keywords: keywords, title: title, url: url, adsetting: adsetting)
  self.keywords = keywords
  self.title = title
  self.url = url
  self.adsetting = adsetting
end

Jeśli lista staje się dłuższa, szybko wymyka się spod kontroli.

Z ruby ​​1.9 po prostu przekazałem hash do metody. Lubię to:

def initialize(args)
  args.each do |k,v|
    instance_variable_set("@#{k}", v) unless v.nil?
  end
end

Ale raczej używam argumentów słów kluczowych Ruby 2.0. Czy można osiągnąć coś podobnego?

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

questionAnswers(2)

yourAnswerToTheQuestion