class Google::DummyAPIFactory
Public Class Methods
new(name, version, method_chains)
click to toggle source
Creates a new class for the API. This anonymous class should be garbage collected in ruby > 2.1 so there’s no need to worry about garbage collection.
# File lib/google/dummy_client.rb, line 52 def self.new(name, version, method_chains) Class.new { method_chains.each do |method, child_methods| define_method method do methods = Hash[child_methods.map do |m| [m, OpenStruct.new(request_schema: OpenStruct, name: "#{name}.#{method}.#{m}")] end] OpenStruct.new(methods.merge(name: method)) end end define_method "discovered_resources" do method_chains.map { |method, _| public_send(method) } end }.new end