Methods
- F
- I
- L
- P
- S
- U
Instance Public methods
fingerprintable_key()
Link
Source: show
# File app/models/key.rb, line 44 def fingerprintable_key return true unless key # Don't test if there is no key. # `ssh-keygen -lf /dev/stdin <<< "#{key}"` errors with: redirection unexpected file = Tempfile.new('key_file') begin file.puts key file.rewind fingerprint_output = %xssh-keygen -lf #{file.path} 2>&1` # Catch stderr. ensure file.close file.unlink # deletes the temp file end errors.add(:key, "can't be fingerprinted") if fingerprint_output.match("failed") end
is_deploy_key()
Link
Source: show
# File app/models/key.rb, line 67 def is_deploy_key true if project_id end
last_deploy?()
Link
Source: show
# File app/models/key.rb, line 80 def last_deploy? Key.where(identifier: identifier).count == 0 end
projects()
Link
projects that has this key
Source: show
# File app/models/key.rb, line 72 def projects if is_deploy_key [project] else user.projects end end
set_identifier()
Link
Source: show
# File app/models/key.rb, line 59 def set_identifier if is_deploy_key self.identifier = "deploy_#{Digest::MD5.hexdigest(key)}" else self.identifier = "#{user.identifier}_#{Time.now.to_i}" end end