Module: NCipher

Extended by:
Helper
Defined in:
lib/n_cipher.rb,
lib/n_cipher/version.rb

Defined Under Namespace

Modules: Helper

Constant Summary collapse

VERSION =
"0.3.4"

Class Method Summary collapse

Methods included from Helper

common_argument_check, convert_table

Class Method Details

.decode(string, seed:, delimiter:) ⇒ Object

Raises:

  • (ArgumentError)


36
37
38
39
40
41
42
# File 'lib/n_cipher.rb', line 36

def decode(string, seed: , delimiter: )
  common_argument_check(string, seed, delimiter)
  raise ArgumentError, 'Delimiter is not include in the cipher string.' unless string.match(delimiter)
  raise ArgumentError, 'Invalid cipher string.' unless (string.chars - "#{seed}#{delimiter}".chars).size.zero?

  string.split(delimiter).map {|ele| [ele.gsub(/./, convert_table(seed, :decode)).to_i(seed.size)].pack('U') }.join
end

.encode(string, seed: 'にゃんぱす', delimiter: '〜') ⇒ Object



30
31
32
33
34
# File 'lib/n_cipher.rb', line 30

def encode(string, seed: 'にゃんぱす', delimiter: '')
  common_argument_check(string, seed, delimiter)

  string.unpack('U*').map {|c| c.to_s(seed.size).gsub(/./, convert_table(seed, :encode)).concat(delimiter) }.join
end