Sha256: 28d121c9500992f85e55dd1f295d7d871a7dc337f879c5acd33219e0c5a29a59
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
module MarkLogic class AppServer include MarkLogic::Persistence attr_accessor :server_name, :server_type, :group_name 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 } end def []=(key, value) @options[key] = value end def [](key) @options[key] end def has_key?(key) @options.has_key?(key) end def create r = manage_connection.post_json( %Q{/manage/v2/servers/?group-id=#{group_name}&server-type=#{server_type}&format=json}, @options) end 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 def exists? manage_connection.head(%Q{/manage/v2/servers/#{server_name}?group-id=#{group_name}}).code.to_i == 200 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
marklogic-0.0.1 | lib/marklogic/app_server.rb |