私は Ruby のバックグラウンドを持っており、JSON API エンドポイントを取得したオブジェクトと対話する Javascript ライブラリをテストしようとしています。
次の Ruby を Javascript で再作成するにはどうすればよいですか?
class ArbitraryMock
def initialize(property_hash)
@property_hash = property_hash
end
def method_missing(*args)
@property_hash[args.first] || ''
end
end
編集: method_missing は、メソッドが存在しないときに呼び出される動的メソッドです。このメソッドのデフォルト バージョンでは NoMethodError が発生します (Javascript は undefined を返すと思います)。上記のような方法でメソッドをオーバーライドすることにより、次のようなことが可能になります。
some_object = ArbitraryMock.new(foo: 'bar')
some_object.foo
=> 'bar'
some_object.bang
=> ''