HTTParty の応答オブジェクトは#parsed_response
、参照されると返されるようです。例えば:
response = HTTParty.get(some_url)
response # => { some: 'random', stuff: 'in here' }
response.parsed_response # => { some: 'random', stuff: 'in here' }
また、クラスを確認するとresponse
、ハッシュではなく応答オブジェクトです
response.class # => HTTParty::Response
response
これは、 likeで他のことを確認できるので便利です。response.code
また、単に応答を参照して を取得するのにも非常に便利parsed_response
です。
自分のクラスでこのようなことを行うにはどうすればよいですか? しかし、クラスを参照するときにハッシュを返すのではなく、文字列を返すようにします。
これが私がやりたいことの具体的な例です:
not_a_string = MyClass.new('hello', [1, 2, 3])
not_a_string # => 'hello'
not_a_string.stuff # => [1, 2, 3]
したがって、rspec では、テストは次のようにパスする必要があります。
not_a_string = MyClass.new('hello', [1, 2, 3])
not_a_string.should == 'hello' # passes