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