class Geoserver::Publish::Workspace

Attributes

connection[R]

Public Class Methods

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

Public Instance Methods

create(workspace_name:) click to toggle source
# File lib/geoserver/publish/workspace.rb, line 22
def create(workspace_name:)
  path = workspace_url(workspace_name: nil)
  connection.post(path: path, payload: payload_new(workspace_name: workspace_name))
end
delete(workspace_name:) click to toggle source
# File lib/geoserver/publish/workspace.rb, line 11
def delete(workspace_name:)
  path = workspace_url(workspace_name: workspace_name)
  connection.delete(path: path)
end
find(workspace_name:) click to toggle source
# File lib/geoserver/publish/workspace.rb, line 16
def find(workspace_name:)
  path = workspace_url(workspace_name: workspace_name)
  out = connection.get(path: path)
  JSON.parse(out) if out
end

Private Instance Methods

payload_new(workspace_name:) click to toggle source
# File lib/geoserver/publish/workspace.rb, line 29
def payload_new(workspace_name:)
  {
    workspace: {
      name: workspace_name
    }
  }.to_json
end
workspace_url(workspace_name:) click to toggle source
# File lib/geoserver/publish/workspace.rb, line 37
def workspace_url(workspace_name:)
  last_path_component = workspace_name ? "/#{workspace_name}" : ""
  "workspaces#{last_path_component}"
end