class MarkLogic::AppServer
Attributes
group_name[RW]
server_name[RW]
server_type[RW]
Public Class Methods
load(server_name, group_name = "Default")
click to toggle source
# File lib/marklogic/app_server.rb, line 30 def self.load(server_name, group_name = "Default") app_server = AppServer.new(server_name, 0, 'http', group_name) app_server.load app_server end
new(server_name, port, server_type = "http", group_name = "Default", options = {})
click to toggle source
# File lib/marklogic/app_server.rb, line 7 def initialize(server_name, port, server_type = "http", group_name = "Default", options = {}) content_database = options[:content_database] || "#{server_name.gsub(/_/, "-")}-content" modules_database = options[:modules_database] || "#{server_name.gsub(/_/, "-")}-modules" self.connection = options[:connection] self.admin_connection = options[:admin_connection] @server_name = server_name @server_type = server_type @group_name = group_name @options = { "server-name" => @server_name, "root" => options[:root] || "/", "port" => port, "content-database" => content_database, "modules-database" => modules_database, "url-rewriter" => "/MarkLogic/rest-api/rewriter.xml", "error-handler" => "/MarkLogic/rest-api/error-handler.xqy", "rewrite-resolves-globally" => true, "group-name" => @group_name } end
Public Instance Methods
[](key)
click to toggle source
# File lib/marklogic/app_server.rb, line 59 def [](key) @options[key] end
[]=(key, value)
click to toggle source
# File lib/marklogic/app_server.rb, line 55 def []=(key, value) @options[key] = value end
create()
click to toggle source
# File lib/marklogic/app_server.rb, line 67 def create r = manage_connection.post_json( %Q{/manage/v2/servers/?group-id=#{group_name}&server-type=#{server_type}&format=json}, @options) end
drop()
click to toggle source
# File lib/marklogic/app_server.rb, line 91 def drop r = manage_connection.delete(%Q{/manage/v2/servers/#{server_name}?group-id=#{group_name}&format=json}) # wait for restart admin_connection.wait_for_restart(r.body) if r.code.to_i == 202 return r end
exists?()
click to toggle source
# File lib/marklogic/app_server.rb, line 100 def exists? manage_connection.head(%Q{/manage/v2/servers/#{server_name}?group-id=#{group_name}}).code.to_i == 200 end
has_key?(key)
click to toggle source
# File lib/marklogic/app_server.rb, line 63 def has_key?(key) @options.has_key?(key) end
inspect()
click to toggle source
# File lib/marklogic/app_server.rb, line 46 def inspect as_nice_string = [ "server_name: #{server_name}", "server_type: #{server_type}", "port: #{self['port']}" ].join(",") "#<#{self.class}#{as_nice_string}>" end
load()
click to toggle source
# File lib/marklogic/app_server.rb, line 36 def load resp = manage_connection.get(%Q{/manage/v2/servers/#{server_name}/properties?group-id=#{group_name}&format=json}) if resp.code.to_i == 200 options = Oj.load(resp.body) options.each do |key, value| self[key] = value end end end
to_json()
click to toggle source
# File lib/marklogic/app_server.rb, line 78 def to_json json = {} @options.each do |k, v| if v.kind_of?(Array) value = v.map { |item| item.to_json } else value = v end json[k] = value end json end
update()
click to toggle source
# File lib/marklogic/app_server.rb, line 73 def update url = %Q{/manage/v2/servers/#{server_name}/properties?format=json} manage_connection.put(url, ::Oj.dump(to_json, mode: :compat)) end