У меня есть переменная накладная, которую я отправляю в хэш:
bill = Hash
'number' -> 2017
'bill_type' -> h
'sponsor_id' -> 400004
and 23 more keys
это передается инициализатору:
Bill.new (bill) и результатом является объект без данных:
# and Bill.new(bill).to_json = {}
module GovKit
module OpenCongress
class Bill < OpenCongressObject
attr_accessor :bill_type, :id, :introduced, :last_speech, :last_vote_date, :last_vote_roll, :last_vote_where, :last_action, :number, :plain_language_summary, :session, :sponsor, :co_sponsors, :title_full_common, :status, :most_recent_actions, :bill_titles, :recent_blogs, :recent_news, :ident
def initialize(params)
params.each do |key, value|
instance_variable_set("@#{key}", value) if Bill.instance_methods.include? key
end
end
...
Я могу наблюдать внутри функции инициализации, и ключи определены, но инициализатор последовательно создает постоянно пустой объект. Я использую рельсы 3.0.7, rubygems 1.6.2 и ruby "ruby 1.9.2p180 (2011-02-18 ревизия 30909) [x86_64-darwin10.7.0]".