Установить аргументы для ключевого слова ruby 2.0 с помощью attr_accessor при инициализации

Как я могу динамически установить без необходимости писать один и тот же код во всем.

Прямо сейчас код выглядит так:

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

Если список становится длиннее, это быстро выходит из-под контроля.

С рубином 1.9 яЯ просто передал бы хэш методу. Как это:

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

Но я скорее использую ключевые аргументы Ruby 2.0. Можно ли достичь чего-то подобного?

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

Ответы на вопрос(2)

Ваш ответ на вопрос