class Geoserver::Publish::Layer

Attributes

connection[R]

Public Class Methods

new(conn = nil) click to toggle source
# File lib/geoserver/publish/layer.rb, line 7
def initialize(conn = nil)
  @connection = conn || Geoserver::Publish::Connection.new
end

Public Instance Methods

delete(layer_name:, workspace_name: nil) click to toggle source
# File lib/geoserver/publish/layer.rb, line 11
def delete(layer_name:, workspace_name: nil)
  path = layer_url(layer_name: layer_name, workspace_name: nil)
  connection.delete(path: path)
end
find(layer_name:, workspace_name: nil) click to toggle source
# File lib/geoserver/publish/layer.rb, line 16
def find(layer_name:, workspace_name: nil)
  path = layer_url(layer_name: layer_name, workspace_name: workspace_name)
  out = connection.get(path: path)
  JSON.parse(out) if out
end
update(layer_name:, workspace_name: nil, additional_payload: nil) click to toggle source
# File lib/geoserver/publish/layer.rb, line 22
def update(layer_name:, workspace_name: nil, additional_payload: nil)
  path = layer_url(layer_name: layer_name, workspace_name: workspace_name)
  payload = additional_payload.to_h.to_json
  connection.put(path: path, payload: payload, content_type: "application/json")
end

Private Instance Methods

layer_url(layer_name:, workspace_name: nil) click to toggle source
# File lib/geoserver/publish/layer.rb, line 30
def layer_url(layer_name:, workspace_name: nil)
  path = []
  path.push("workspaces", workspace_name) if workspace_name
  path.push "layers"
  path.push layer_name if layer_name
  path.join("/")
end