Sha256: 361a4c946b136117db9f66093cb2bc20428922f6f8c78a3d6e9a72316d138aa0

Contents?: true

Size: 1013 Bytes

Versions: 1

Compression:

Stored size: 1013 Bytes

Contents

module MarkLogic
  class Forest
    include MarkLogic::Persistence

    attr_accessor :forest_name
    def initialize(forest_name, host_name = nil, conn = nil)
      self.connection = conn
      @forest_name = forest_name
      @host_name = host_name || self.manage_connection.host
      @options = {
        "forest-name" => @forest_name,
        "host" => @host_name
      }
    end

    def []=(key, value)
      @options[key] = value
    end

    def [](key)
      @options[key]
    end

    def has_key?(key)
      @options.has_key?(key)
    end

    def database=(db)
      @database = db
      @options['database'] = db.database_name
    end

    def create
      r = manage_connection.post_json(
        %Q{/manage/v2/forests?format=json},
        @options)
    end

    def exists?
      manage_connection.head(%Q{/manage/v2/forests/#{forest_name}}).code.to_i == 200
    end

    def drop
      r = manage_connection.delete(%Q{/manage/v2/forests/#{forest_name}?level=full&format=json})
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
marklogic-0.0.1 lib/marklogic/forest.rb