Class: Git::Webby::Htpasswd
- Inherits:
-
Object
- Object
- Git::Webby::Htpasswd
- Defined in:
- lib/git/webby.rb
Overview
:nodoc:
Instance Method Summary collapse
- #authenticated?(username, password) ⇒ Boolean
- #create(username, password) ⇒ Object (also: #update)
- #destroy(username) ⇒ Object
-
#find(username) ⇒ Object
:yield: password, salt.
- #include?(username) ⇒ Boolean
-
#initialize(file) {|_self| ... } ⇒ Htpasswd
constructor
A new instance of Htpasswd.
- #size ⇒ Object
- #write! ⇒ Object
Constructor Details
#initialize(file) {|_self| ... } ⇒ Htpasswd
Returns a new instance of Htpasswd.
127 128 129 130 131 |
# File 'lib/git/webby.rb', line 127 def initialize(file) require 'webrick/httpauth/htpasswd' @handler = WEBrick::HTTPAuth::Htpasswd.new(file) yield self if block_given? end |
Instance Method Details
#authenticated?(username, password) ⇒ Boolean
142 143 144 145 146 |
# File 'lib/git/webby.rb', line 142 def authenticated?(username, password) self.find username do |crypted, salt| crypted && salt && crypted == password.crypt(salt) end end |
#create(username, password) ⇒ Object Also known as: update
148 149 150 |
# File 'lib/git/webby.rb', line 148 def create(username, password) @handler.set_passwd(nil, username, password) end |
#destroy(username) ⇒ Object
153 154 155 |
# File 'lib/git/webby.rb', line 153 def destroy(username) @handler.delete_passwd(nil, username) end |
#find(username) ⇒ Object
:yield: password, salt
133 134 135 136 137 138 139 140 |
# File 'lib/git/webby.rb', line 133 def find(username) #:yield: password, salt password = @handler.get_passwd(nil, username, false) if block_given? yield password ? [password, password[0,2]] : [nil, nil] else password end end |
#include?(username) ⇒ Boolean
157 158 159 |
# File 'lib/git/webby.rb', line 157 def include?(username) users.include? username end |
#size ⇒ Object
161 162 163 |
# File 'lib/git/webby.rb', line 161 def size users.size end |
#write! ⇒ Object
165 166 167 |
# File 'lib/git/webby.rb', line 165 def write! @handler.flush end |