Sha256: ea36fff3416a813b8db0ed0cf596e1fe1695bcbe2777eb35714a90694cddd1f9

Contents?: true

Size: 949 Bytes

Versions: 2

Compression:

Stored size: 949 Bytes

Contents

module A2z
  module Responses
    class BrowseNodeLookup
      attr_accessor :operation_request, :node
      
      def initialize
        @valid = true
      end
      
      def valid=(value)
        @valid = !!value
      end
      
      def valid?
        @valid
      end
      
      # TODO capture data['BrowseNodes']['Request']['Errors'] into an attr_accessor value
      # TODO consider capturing data['BrowseNodes']['Request'] into an attr_accessor value
      def self.from_response(data)
        new.tap do |browse_node_lookup|
          browse_node_lookup.operation_request = OperationRequest.from_response(data['OperationRequest']) if data['OperationRequest']
          browse_node_lookup.node = BrowseNode.from_response(data['BrowseNodes']['BrowseNode'])
          browse_node_lookup.valid = data['BrowseNodes']['Request']['IsValid'] == 'True' rescue false
          browse_node_lookup.freeze
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
a2z-0.1.3 lib/a2z/responses/browse_node_lookup.rb
a2z-0.1.2 lib/a2z/responses/browse_node_lookup.rb