Class: Ogc::WebFeatureService::Base

Inherits:
Object
  • Object
show all
Includes:
Exceptions
Defined in:
lib/ogc/web_feature_service/base.rb

Direct Known Subclasses

GetCapabilities, GetFeature

Constant Summary collapse

DEFAULT_PARAMS =
{ 'service' => 'wfs' }.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url, params = nil) ⇒ Base

Returns a new instance of Base.



27
28
29
30
# File 'lib/ogc/web_feature_service/base.rb', line 27

def initialize(url, params = nil)
  @url    = url
  @params = (params ? params.stringify_keys : {}).merge!(DEFAULT_PARAMS)
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



17
18
19
# File 'lib/ogc/web_feature_service/base.rb', line 17

def params
  @params
end

#responseObject (readonly)

Returns the value of attribute response.



17
18
19
# File 'lib/ogc/web_feature_service/base.rb', line 17

def response
  @response
end

#urlObject (readonly)

Returns the value of attribute url.



17
18
19
# File 'lib/ogc/web_feature_service/base.rb', line 17

def url
  @url
end

Class Method Details

.request_nameObject



22
23
24
# File 'lib/ogc/web_feature_service/base.rb', line 22

def request_name
  @request_name ||= to_s.demodulize
end

Instance Method Details

#get(extra_params, &block) ⇒ Object



32
33
34
35
# File 'lib/ogc/web_feature_service/base.rb', line 32

def get(extra_params, &block)
  params = extra_params ? extra_params.merge(@params) : @params
  fetch(:get, params, &block)
end

#httpObject



41
42
43
# File 'lib/ogc/web_feature_service/base.rb', line 41

def http
  @http ||= Net::HTTP.new(uri.host, uri.port)
end

#post(body, &block) ⇒ Object



37
38
39
# File 'lib/ogc/web_feature_service/base.rb', line 37

def post(body, &block)
  fetch(:post, body.respond_to?(:to_xml) ? body.to_xml : body, &block)
end