Sha256: 2fee0e4628cbb42f4ee398669a12bb9c2a836fc9f3a6b0991f8568f954036751

Contents?: true

Size: 764 Bytes

Versions: 13

Compression:

Stored size: 764 Bytes

Contents

class LHC::Response::Data
  autoload :Base, 'lhc/response/data/base'
  autoload :Item, 'lhc/response/data/item'
  autoload :Collection, 'lhc/response/data/collection'

  include LHC::Response::Data::Base

  def initialize(response, data: nil)
    @response = response
    @data = data

    if as_json.is_a?(Hash)
      @base = LHC::Response::Data::Item.new(response, data: data)
    elsif as_json.is_a?(Array)
      @base = LHC::Response::Data::Collection.new(response, data: data)
    end
  end

  def method_missing(method, *args, &block) # rubocop:disable Style/MethodMissingSuper
    @base.send(method, *args, &block)
  end

  def respond_to_missing?(method_name, include_private = false)
    @base.respond_to?(method_name, include_private) || super
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
lhc-10.1.2 lib/lhc/response/data.rb
lhc-10.1.1 lib/lhc/response/data.rb
lhc-10.1.0 lib/lhc/response/data.rb
lhc-10.0.2 lib/lhc/response/data.rb
lhc-9.4.4 lib/lhc/response/data.rb
lhc-10.0.1 lib/lhc/response/data.rb
lhc-10.0.0 lib/lhc/response/data.rb
lhc-9.4.3 lib/lhc/response/data.rb
lhc-9.4.2 lib/lhc/response/data.rb
lhc-9.4.1 lib/lhc/response/data.rb
lhc-9.4.0 lib/lhc/response/data.rb
lhc-9.3.1 lib/lhc/response/data.rb
lhc-9.3.0 lib/lhc/response/data.rb