Sha256: a5bd89a795920aee7ae5c37e8f136bcfd5efb435fba6784bf70d0e51dd842a24

Contents?: true

Size: 1.38 KB

Versions: 3

Compression:

Stored size: 1.38 KB

Contents

require 'open-uri'
require 'openfire_admin/admin_client'
require 'openfire_admin/setup_wizard'
require 'openfire_admin/plugin'
require 'openfire_admin/property_map'

module OpenfireAdmin
  def self.new(loginurl="http://localhost:9090")
    Client.new(loginurl)
  end

  # HighLevel client
  class Client
    attr_reader :client
    # constructor
    def initialize(loginurl="http://localhost:9090")
      @client = AdminClient.new(loginurl)
    end

    def setup_mode?
      @client.get("/login.jsp") do |res|
        res.code == "302" and res["location"] =~ %r"/setup/"
      end
    end

    def setup_wizard
      SetupWizard.new(@client)
    end

    def logined?
      @logined
    end

    def login(username, password)
      @client.login(username, password)
      @logined = true
    end

    # get properties
    def system_properties
      PropertyMap.new(@client)
    end

    # return SystemCache array
    def system_cache
      @client.system_cache.map{|c| SystemCache.new( @client, c[:cacheID], c[:name] )}
    end

    # plugins list array of available plugins.
    # if you need not installed plugins, ( self.available_plugins - self.install_plugin )
    def available_plugins
      PluginList.availables(@client)
    end

    # plugins list array of installed plugins
    def installed_plugins
      PluginList.installed(@client)
    end
    def users
      UserAdmin.new(@client)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openfire_admin-0.0.4 lib/openfire_admin/client.rb
openfire_admin-0.0.3 lib/openfire_admin/client.rb
openfire_admin-0.0.2 lib/openfire_admin/client.rb