Module: OpenProject::Token::Armor

Defined in:
lib/open_project/token/armor.rb

Defined Under Namespace

Classes: ParseError

Constant Summary collapse

MARKER =
'OPENPROJECT-EE TOKEN'

Class Method Summary collapse

Class Method Details

.decode(data) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/open_project/token/armor.rb', line 27

def decode(data)
  match = data.match /#{header}\r?\n(.+?)\r?\n#{footer}/m
  if match.nil?
    raise ParseError, 'Failed to parse armored text.'
  end

  match[1]
end

.encode(data) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/open_project/token/armor.rb', line 17

def encode(data)
  ''.tap do |s|
    s << header << "\n"

    s << data.strip << "\n"

    s << footer
  end
end


13
14
15
# File 'lib/open_project/token/armor.rb', line 13

def footer
  "-----END #{MARKER}-----"
end

.headerObject



9
10
11
# File 'lib/open_project/token/armor.rb', line 9

def header
  "-----BEGIN #{MARKER}-----"
end