Sha256: f941ff3a0f1f67b32a4c9d55ecf7803039c2c8f94846cd124c98e45821856344

Contents?: true

Size: 981 Bytes

Versions: 1

Compression:

Stored size: 981 Bytes

Contents

module SafetyPin
  class JCR
    include_class('java.lang.String') {|package,name| "J#{name}" }
    include_class 'javax.jcr.SimpleCredentials'
    include_class 'org.apache.jackrabbit.commons.JcrUtils'

    def self.login(opts = {})
      repository = JcrUtils.get_repository(parse_hostname(opts[:hostname]))
      creds = SimpleCredentials.new(opts[:username], JString.new(opts[:password]).to_char_array)
      @@session = repository.login(creds)
    end

    def self.logout
      session.logout
      not session.live?
    end

    def self.logged_in?
      session.live?
    end

    def self.logged_out?
      not logged_in?
    end

    def self.session
      @@session
    end

    def self.parse_hostname(hostname)
      if hostname.end_with?("/crx/server")
        hostname
      else
        hostname + "/crx/server"
      end
    end

    def self.dev_login
      login(:hostname => "http://localhost:4502", :username => "admin", :password => "cq4me")
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
safety-pin-0.1.3 lib/safety_pin/jcr.rb