Sha256: ed223193cba0ec0fb0cc6d6418f52cf039b740d783d573a6d5447fb04434d0f6

Contents?: true

Size: 735 Bytes

Versions: 20

Compression:

Stored size: 735 Bytes

Contents

# frozen_string_literal: true
module Geoblacklight
  class FeatureInfoResponse
    def initialize(response)
      @response = response
    end

    def check
      if error?
        @response
      else
        format
      end
    end

    def format
      page = Nokogiri::HTML(@response.body)
      table_values = { values: [] }
      page.css('th').each do |th|
        table_values[:values].push([th.text])
      end
      page.css('td').each_with_index do |td, index|
        table_values[:values][index].push(td.text) unless index >= table_values[:values].count
      end
      table_values
    end

    def error?
      @response[:error] ||
        @response.headers['content-type'].slice(0, 9) == 'text/xml'
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
geoblacklight-3.8.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.8.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-4.0.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-4.0.0.pre.rc3 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.7.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-4.0.0.pre.rc2 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-4.0.0.pre.rc1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.6.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.5.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-4.0.0.pre.alpha.3 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-4.0.0.pre.alpha.2 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-4.0.0.pre.alpha.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-4.0.0.pre.alpha lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.4.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.3.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.3.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.2.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.1.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.0.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-3.0.0 lib/geoblacklight/wms_layer/feature_info_response.rb