class Hiera::Backend::Eyaml::Parser::EncToken
Attributes
Public Class Methods
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 22 def self.decrypted_value(format, plain_text, encryption_scheme, match, id, indentation = '') encryptor = Encryptor.find encryption_scheme cipher = encryptor.encode(encryptor.encrypt(plain_text)) id_number = id.nil? ? nil : id.gsub(/\(|\)/, '').to_i EncToken.new(format, plain_text, encryptor, cipher, match, indentation, id_number) end
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 43 def self.encrypt_unchanged @@encrypt_unchanged end
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 16 def self.encrypted_value(format, encryption_scheme, cipher, match, indentation = '') decryptor = Encryptor.find encryption_scheme plain_text = decryptor.decrypt(decryptor.decode(cipher)) EncToken.new(format, plain_text, decryptor, cipher, match, indentation) end
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 47 def initialize(format, plain_text, encryptor, cipher, match = '', indentation = '', id = nil) @format = format @plain_text = Utils.convert_to_utf_8(plain_text) @encryptor = encryptor @cipher = cipher @indentation = indentation @id = id super(match) end
Calls superclass method
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 29 def self.plain_text_value(format, plain_text, encryption_scheme, match, id, indentation = '') encryptor = Encryptor.find encryption_scheme id_number = id.gsub(/\(|\)/, '').to_i unless id.nil? EncToken.new(format, plain_text, encryptor, '', match, indentation, id_number) end
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 39 def self.set_encrypt_unchanged(encrypt_unchanged) @@encrypt_unchanged = encrypt_unchanged end
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 35 def self.tokens_map @@tokens_map end
Public Instance Methods
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 79 def to_decrypted(args = {}) label = args[:label] label_string = label.nil? ? '' : "#{label}: " format = args[:format].nil? ? @format : args[:format] index = args[:index].nil? ? '' : "(#{args[:index]})" EncToken.tokens_map[index] = @plain_text if @@encrypt_unchanged == false case format when :block chevron = (args[:use_chevron].nil? || args[:use_chevron]) ? ">\n" : '' "#{label_string}#{chevron}" + indentation + "DEC#{index}::#{@encryptor.tag}[" + @plain_text + ']!' when :string "#{label_string}DEC#{index}::#{@encryptor.tag}[" + @plain_text + ']!' else raise "#{@format} is not a valid format" end end
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 57 def to_encrypted(args = {}) label = args[:label] label_string = label.nil? ? '' : "#{label}: " format = args[:format].nil? ? @format : args[:format] encryption_method = args[:change_encryption] unless encryption_method.nil? @encryptor = Encryptor.find encryption_method @cipher = Base64.strict_encode64(@encryptor.encrypt(@plain_text)) end case format when :block @cipher = @cipher.gsub(/\s/, '') chevron = (args[:use_chevron].nil? || args[:use_chevron]) ? ">\n" : '' "#{label_string}#{chevron}" + @indentation + "ENC[#{@encryptor.tag},#{@cipher}]".scan(/.{1,60}/).join("\n" + @indentation) when :string ciphertext = @cipher.gsub(/[\n\r]/, '') "#{label_string}ENC[#{@encryptor.tag},#{ciphertext}]" else raise "#{@format} is not a valid format" end end
Source
# File lib/hiera/backend/eyaml/parser/encrypted_tokens.rb, line 97 def to_plain_text @plain_text end