Class: ShiftCiphers::Caesar

Inherits:
Object
  • Object
show all
Defined in:
lib/shift_ciphers/caesar.rb

Constant Summary collapse

DEFAULT_OFFSET =
13

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(offset = DEFAULT_OFFSET, alphabet = ALPHABET) ⇒ Caesar

Returns a new instance of Caesar.



8
9
10
11
# File 'lib/shift_ciphers/caesar.rb', line 8

def initialize(offset = DEFAULT_OFFSET, alphabet = ALPHABET)
  @offset = offset
  @alphabet = alphabet
end

Instance Attribute Details

#alphabetObject

Returns the value of attribute alphabet.



6
7
8
# File 'lib/shift_ciphers/caesar.rb', line 6

def alphabet
  @alphabet
end

#offsetObject

Returns the value of attribute offset.



6
7
8
# File 'lib/shift_ciphers/caesar.rb', line 6

def offset
  @offset
end

Class Method Details

.decrypt(cyphertext, offset = DEFAULT_OFFSET, alphabet = ALPHABET) ⇒ Object



26
27
28
# File 'lib/shift_ciphers/caesar.rb', line 26

def decrypt(cyphertext, offset = DEFAULT_OFFSET, alphabet = ALPHABET)
  process(cyphertext, offset, :decrypt, alphabet)
end

.encrypt(plaintext, offset = DEFAULT_OFFSET, alphabet = ALPHABET) ⇒ Object



22
23
24
# File 'lib/shift_ciphers/caesar.rb', line 22

def encrypt(plaintext, offset = DEFAULT_OFFSET, alphabet = ALPHABET)
  process(plaintext, offset, :encrypt, alphabet)
end

Instance Method Details

#decrypt(cyphertext) ⇒ Object



17
18
19
# File 'lib/shift_ciphers/caesar.rb', line 17

def decrypt(cyphertext)
  self.class.decrypt(cyphertext, offset, alphabet)
end

#encrypt(plaintext) ⇒ Object



13
14
15
# File 'lib/shift_ciphers/caesar.rb', line 13

def encrypt(plaintext)
  self.class.encrypt(plaintext, offset, alphabet)
end