Method: MatrixSdk::Response#api
- Defined in:
- lib/matrix_sdk/response.rb
#api ⇒ Api (readonly)
Returns The API connection that returned the response.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/matrix_sdk/response.rb', line 23 module Response def self.new(api, data) if data.is_a? Array raise ArgumentError, 'Input data was not an array of hashes' unless data.all? { |v| v.is_a? Hash } data.each do |value| Response.new api, value end return data end return data if data.instance_variables.include? :@api raise ArgumentError, 'Input data was not a hash' unless data.is_a? Hash data.extend(Extensions) data.instance_variable_set(:@api, api) data.select { |_k, v| v.is_a? Hash } .each { |_v, v| Response.new api, v } data end module Extensions attr_reader :api def respond_to_missing?(name, *_args) return true if key? name super end def method_missing(name, *args) return fetch(name) if key?(name) && args.empty? super end end end |