Sha256: 04d6f56ca40e0f553e462f7358db889ab876edbe1236e12c3a060acd4d80b23f

Contents?: true

Size: 705 Bytes

Versions: 16

Compression:

Stored size: 705 Bytes

Contents

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

16 entries across 16 versions & 1 rubygems

Version Path
geoblacklight-2.4.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-2.3.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-2.2.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-2.2.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-2.1.2 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-2.1.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-2.1.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-2.0.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-1.9.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-1.9.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-1.8.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-1.7.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-1.7.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-1.6.0 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-1.5.1 lib/geoblacklight/wms_layer/feature_info_response.rb
geoblacklight-1.5.0 lib/geoblacklight/wms_layer/feature_info_response.rb