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



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

def encode(data)
  "    \#{header}\n    \#{data.strip}\n    \#{footer}\n  DATA\nend\n"


15
16
17
# File 'lib/open_project/token/armor.rb', line 15

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

.headerObject



11
12
13
# File 'lib/open_project/token/armor.rb', line 11

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