Module: CertMunger::ClassMethods
- Defined in:
- lib/cert_munger/formatter.rb
Overview
Extended class methods via ‘include CertMunger`
Instance Method Summary collapse
- #build_cert(raw_cert) ⇒ Object
- #logger ⇒ Object
- #multi_line_contents(raw_cert) ⇒ Object
- #one_line_contents(raw_cert) ⇒ Object
- #to_cert(raw_cert) ⇒ Object
Instance Method Details
#build_cert(raw_cert) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/cert_munger/formatter.rb', line 36 def build_cert(raw_cert) tmp_cert = ['-----BEGIN CERTIFICATE-----'] if raw_cert.lines.count == 1 cert_contents = one_line_contents(raw_cert) else cert_contents = multi_line_contents(raw_cert) end tmp_cert << cert_contents.flatten # put mixed space lines as own elements tmp_cert << '-----END CERTIFICATE-----' tmp_cert.join("\n").rstrip end |
#logger ⇒ Object
21 22 23 24 25 |
# File 'lib/cert_munger/formatter.rb', line 21 def logger return @logger if @logger logger = Logging.logger[self] unless @logger @logger ||= Kernel.const_defined?('Rails') ? Rails.logger : logger end |
#multi_line_contents(raw_cert) ⇒ Object
55 56 57 58 59 60 |
# File 'lib/cert_munger/formatter.rb', line 55 def multi_line_contents(raw_cert) cert_contents = raw_cert.split(/[-](.*)[-]/)[2] cert_contents.lines.map do |line| line.lstrip.squeeze(' ').split(' ') end end |
#one_line_contents(raw_cert) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/cert_munger/formatter.rb', line 48 def one_line_contents(raw_cert) cert_contents = raw_cert.split('\n') cert_contents.pop cert_contents.shift cert_contents.map! { |el| el.match('\W+[t|n|r](.*)')[1] } end |
#to_cert(raw_cert) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/cert_munger/formatter.rb', line 27 def to_cert(raw_cert) logger.debug "CertMunger raw_cert:\n#{raw_cert}" new_cert = build_cert(raw_cert) logger.debug "CertMunger reformatted_cert:\n#{new_cert}" logger.debug 'Returning OpenSSL::X509::Certificate.new on new_cert' OpenSSL::X509::Certificate.new new_cert end |