Sha256: d83bd68d16d015057d0362924939f0141a9a4dabfd2ebb54243b82ec3f24ab30

Contents?: true

Size: 754 Bytes

Versions: 12

Compression:

Stored size: 754 Bytes

Contents

# frozen_string_literal: true

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)
    @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

12 entries across 12 versions & 1 rubygems

Version Path
lhc-15.2.1 lib/lhc/response/data.rb
lhc-15.2.0 lib/lhc/response/data.rb
lhc-15.1.3 lib/lhc/response/data.rb
lhc-15.1.2 lib/lhc/response/data.rb
lhc-15.1.1 lib/lhc/response/data.rb
lhc-15.1.0 lib/lhc/response/data.rb
lhc-16.0.0.pre.pro2162.2 lib/lhc/response/data.rb
lhc-16.0.0.pre.pro2162 lib/lhc/response/data.rb
lhc-15.0.1 lib/lhc/response/data.rb
lhc-15.0.0 lib/lhc/response/data.rb
lhc-14.0.0 lib/lhc/response/data.rb
lhc-13.4.0.pre.pro1766.1 lib/lhc/response/data.rb