Module: Passcard
- Defined in:
- lib/passcard.rb,
lib/passcard/cli.rb,
lib/passcard/grid.rb,
lib/passcard/reader.rb,
lib/passcard/palette.rb,
lib/passcard/version.rb,
lib/passcard/generator.rb,
lib/passcard/outputter.rb,
lib/passcard/outputter/html_outputter.rb,
lib/passcard/outputter/ascii_outputter.rb
Defined Under Namespace
Classes: AsciiOutputter, CLI, Error, Generator, Grid, HtmlOutputter, Outputter, Palette, Reader
Constant Summary
collapse
- GRID_SIZE =
[80, 80]
- ALPHA_GRID =
[40, 40]
- NUMERIC_GRID =
[20, 20]
- CHARSET =
'0123456789abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ@#$%&*<>?-+{}[]()\/'
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.decrypt!(key, enc_str) ⇒ Object
45
46
47
48
49
50
51
|
# File 'lib/passcard.rb', line 45
def self.decrypt!(key, enc_str)
cipher = OpenSSL::Cipher.new('DES-EDE3-CBC').decrypt
cipher.key = Random.new(key.to_i(36)).bytes(24)
decrypted = cipher.update(Base64.decode64(enc_str))
output = decrypted << cipher.final
JSON.parse(output)
end
|
.encrypt!(key, object) ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/passcard.rb', line 37
def self.encrypt!(key, object)
object = object.to_json
cipher = OpenSSL::Cipher.new('DES-EDE3-CBC').encrypt
cipher.key = Random.new(key.to_i(36)).bytes(24)
output = cipher.update(object) + cipher.final
Base64.encode64(output)
end
|
.outputter_class_for(name) ⇒ Object
31
32
33
34
35
|
# File 'lib/passcard.rb', line 31
def self.outputter_class_for(name)
klass = outputters[name.to_sym].first
return klass if klass.is_a?(Class)
Kernel.const_get(klass.to_s)
end
|
.outputters ⇒ Object
18
19
20
|
# File 'lib/passcard.rb', line 18
def self.outputters
@@outputters ||= {}
end
|
.register_outputter(name, klass, method_name) ⇒ Object
22
23
24
25
|
# File 'lib/passcard.rb', line 22
def self.register_outputter(name, klass, method_name)
@@outputters ||= {}
@@outputters[name.to_sym] = [klass, method_name.to_sym]
end
|
.root ⇒ Object
14
15
16
|
# File 'lib/passcard.rb', line 14
def self.root
Pathname.new(File.dirname(File.dirname(__FILE__)))
end
|
.unregister_outputter(name) ⇒ Object
27
28
29
|
# File 'lib/passcard.rb', line 27
def self.unregister_outputter(name)
@@outputters.delete(name.to_sym)
end
|