crypt-rot13 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7edffffcde92082564183071793f82c90b8aef39
4
+ data.tar.gz: c229b100f4b98c633e93c4734884e3b93adf5817
5
+ SHA512:
6
+ metadata.gz: b33e5f7b53ebba95f59d2e2e682f5eeb2181a1d0a78f9a5bc5990612e5e0d916b2826c56689b5b1f322d4e71a8160ccf5db492c8815652b0ca2d96d3c4bd2639
7
+ data.tar.gz: 3d31449e505577cc080cf450068d08d4c56f306194cc827ba6de80705eb78b1a5729bb387d09d4ad3f683768e9b9c9646502d6121dde8deb92babeb57c542549
checksums.yaml.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ A��ԛZ�����U�W<NY�B�ֱ
2
+ Z�Xʰ�~��S�N��T�Jz��UP�.���]+L�~���O{�>���In�Φ���aZW�*{=��È�V|�ŽxV��v�w?�`�� ��w܀����vi7iL���t��ģ����������D��CB��g�ۧ��h�\�
data/CHANGES CHANGED
@@ -1,3 +1,9 @@
1
+ == 1.0.6 - 15-Jan-2016
2
+ * This gem is now signed.
3
+ * The gem related tasks in the Rakefile now assume Rubygems 2.x.
4
+ * Updates to the gemspec.
5
+ * Added a crypt-rot13.rb file for convenience.
6
+
1
7
  == 1.0.5 - 1-Sep-2011
2
8
  * Refactored the Rakefile removing an old install task, adding
3
9
  a clean task, and setting a default task.
data/MANIFEST CHANGED
@@ -3,5 +3,7 @@
3
3
  * README
4
4
  * Rakefile
5
5
  * crypt-rot13.gemspec
6
+ * certs/djberg96_pub.pem
7
+ * lib/crypt-rot13.rb
6
8
  * lib/crypt/rot13.rb
7
9
  * test/test_crypt_rot13.rb
data/README CHANGED
@@ -23,16 +23,15 @@
23
23
  and most simple, encryption schemes. Hail Caesar!
24
24
 
25
25
  = Known Bugs
26
- None that I'm aware of.
26
+ None that I'm aware of. Please log any bugs you find on the project page at:
27
27
 
28
- Please log any bugs you find on the SourceForge project page at
29
- http://www.rubyforge.org/projects/shards.
28
+ https://github.com/djberg96/crypt-rot13
30
29
 
31
30
  = License
32
31
  Artistic 2.0
33
32
 
34
33
  = Copyright
35
- (C) 2005-2010, Daniel J. Berger, All Rights Reserved
34
+ (C) 2005-2016, Daniel J. Berger, All Rights Reserved
36
35
 
37
36
  = Warranty
38
37
  This package is provided "as is" and without any express or
data/Rakefile CHANGED
@@ -7,14 +7,16 @@ CLEAN.include("**/*.gem", "**/*.rbc")
7
7
  namespace :gem do
8
8
  desc 'Create the crypt-rot13 gem'
9
9
  task :create => [:clean] do
10
+ require 'rubygems/package'
10
11
  spec = eval(IO.read('crypt-rot13.gemspec'))
11
- Gem::Builder.new(spec).build
12
+ spec.signing_key = File.join(Dir.home, '.ssh', 'gem-private_key.pem')
13
+ Gem::Package.build(spec, true)
12
14
  end
13
15
 
14
16
  desc 'Install the crypt-rot13 gem'
15
17
  task :install => [:create] do
16
18
  file = Dir["*.gem"].first
17
- sh "gem install #{file}"
19
+ sh "gem install -l #{file}"
18
20
  end
19
21
  end
20
22
 
@@ -0,0 +1,21 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhkamJl
3
+ cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
4
+ MB4XDTE1MDkwMjIwNDkxOFoXDTE2MDkwMTIwNDkxOFowPzERMA8GA1UEAwwIZGpi
5
+ ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
6
+ bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMyTkvXqRp6hLs9eoJOS
7
+ Hmi8kRYbq9Vkf15/hMxJpotYMgJVHHWrmDcC5Dye2PbnXjTkKf266Zw0PtT9h+lI
8
+ S3ts9HO+vaCFSMwFFZmnWJSpQ3CNw2RcHxjWkk9yF7imEM8Kz9ojhiDXzBetdV6M
9
+ gr0lV/alUr7TNVBDngbXEfTWscyXh1qd7xZ4EcOdsDktCe5G45N/o3662tPQvJsi
10
+ FOF0CM/KuBsa/HL1/eoEmF4B3EKIRfTHrQ3hu20Kv3RJ88QM4ec2+0dd97uX693O
11
+ zv6981fyEg+aXLkxrkViM/tz2qR2ZE0jPhHTREPYeMEgptRkTmWSKAuLVWrJEfgl
12
+ DtkCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFEwe
13
+ nn6bfJADmuIDiMSOzedOrL+xMB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
14
+ bTAdBgNVHRIEFjAUgRJkamJlcmc5NkBnbWFpbC5jb20wDQYJKoZIhvcNAQEFBQAD
15
+ ggEBAHmNOCWoDVD75zHFueY0viwGDVP1BNGFC+yXcb7u2GlK+nEMCORqzURbYPf7
16
+ tL+/hzmePIRz7i30UM//64GI1NLv9jl7nIwjhPpXpf7/lu2I9hOTsvwSumb5UiKC
17
+ /sqBxI3sfj9pr79Wpv4MuikX1XPik7Ncb7NPsJPw06Lvyc3Hkg5X2XpPtLtS+Gr2
18
+ wKJnmzb5rIPS1cmsqv0M9LPWflzfwoZ/SpnmhagP+g05p8bRNKjZSA2iImM/GyYZ
19
+ EJYzxdPOrx2n6NYR3Hk+vHP0U7UBSveI6+qx+ndQYaeyCn+GRX2PKS9h66YF/Q1V
20
+ tGSHgAmcLlkdGgan182qsE/4kKM=
21
+ -----END CERTIFICATE-----
data/crypt-rot13.gemspec CHANGED
@@ -1,20 +1,20 @@
1
1
  require 'rubygems'
2
2
 
3
- Gem::Specification.new do |gem|
4
- gem.name = 'crypt-rot13'
5
- gem.version = '1.0.5'
6
- gem.author = 'Daniel J. Berger'
7
- gem.license = 'Artistic 2.0'
8
- gem.email = 'djberg96@gmail.com'
9
- gem.homepage = 'http://www.rubyforge.org/projects/shards'
10
- gem.summary = 'Character rotation encryption, i.e. Caesar Cipher'
11
- gem.test_file = 'test/test_crypt_rot13.rb'
12
- gem.files = Dir['**/*'].reject{ |f| f.include?('git') }
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'crypt-rot13'
5
+ spec.version = '1.0.6'
6
+ spec.author = 'Daniel J. Berger'
7
+ spec.license = 'Artistic 2.0'
8
+ spec.email = 'djberg96@gmail.com'
9
+ spec.homepage = 'http://github.com/djberg96/crypt-rot13'
10
+ spec.summary = 'Character rotation encryption, i.e. Caesar Cipher'
11
+ spec.test_file = 'test/test_crypt_rot13.rb'
12
+ spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
13
+ spec.cert_chain = Dir['certs/*']
13
14
 
14
- gem.rubyforge_project = 'shards'
15
- gem.extra_rdoc_files = ['README', 'CHANGES', 'MANIFEST']
15
+ spec.extra_rdoc_files = ['README', 'CHANGES', 'MANIFEST']
16
16
 
17
- gem.description = <<-EOF
17
+ spec.description = <<-EOF
18
18
  The crypt-rot13 library provides an interface for a simple character
19
19
  substitution cipher known as ROT13, a variation on the Caesar cipher.
20
20
  EOF
data/lib/crypt/rot13.rb CHANGED
@@ -1,53 +1,53 @@
1
1
  # The Crypt module serves as a namespace only.
2
2
  module Crypt
3
3
 
4
- # The Rot13 class encapsulates methods governing character rotation.
5
- class Rot13 < String
4
+ # The Rot13 class encapsulates methods governing character rotation.
5
+ class Rot13 < String
6
6
 
7
- # The Rot13::Error class is raised if an illegal rotation value is used.
8
- class Error < ArgumentError; end
7
+ # The Rot13::Error class is raised if an illegal rotation value is used.
8
+ class Error < ArgumentError; end
9
9
 
10
- # The version of the crypt-rot13 library.
11
- VERSION = '1.0.5'
10
+ # The version of the crypt-rot13 library.
11
+ VERSION = '1.0.6'
12
12
 
13
- # Returns a new Rot13 object. The object is a string with the letters
14
- # each rotated by +degree+.
15
- #
16
- # You cannot use a multiple of 26 as the degree or a Rot13::Error will
17
- # be raised. So, your days of double rot13 encryption are over.
18
- #
19
- def initialize(str='', degree=13)
20
- str = rotate_string(str, degree) unless str.empty?
21
- super(str)
22
- end
13
+ # Returns a new Rot13 object. The object is a string with the letters
14
+ # each rotated by +degree+.
15
+ #
16
+ # You cannot use a multiple of 26 as the degree or a Rot13::Error will
17
+ # be raised. So, your days of double rot13 encryption are over.
18
+ #
19
+ def initialize(str='', degree=13)
20
+ str = rotate_string(str, degree) unless str.empty?
21
+ super(str)
22
+ end
23
23
 
24
- # Rotates the Crypt::Rot13 object by +degree+.
25
- #
26
- def rotate(degree)
27
- rotate_string(self, degree)
28
- end
24
+ # Rotates the Crypt::Rot13 object by +degree+.
25
+ #
26
+ def rotate(degree)
27
+ rotate_string(self, degree)
28
+ end
29
29
 
30
- private
30
+ private
31
31
 
32
- def rotate_string(str, degree)
33
- case degree.modulo(26)
34
- when 0
35
- raise Error, 'degree must not be a multiple of 26'
36
- when 13
37
- str = str.tr('a-zA-Z', 'n-za-mN-ZA-M')
32
+ def rotate_string(str, degree)
33
+ case degree.modulo(26)
34
+ when 0
35
+ raise Error, 'degree must not be a multiple of 26'
36
+ when 13
37
+ str = str.tr('a-zA-Z', 'n-za-mN-ZA-M')
38
+ else
39
+ str = str.unpack('C' * str.length).map!{ |e|
40
+ if e >= 97 && e <= 122
41
+ e = ((e - 97 + degree) % 26) + 97
42
+ elsif e >= 65 && e <= 90
43
+ e = ((e - 65 + degree) % 26) + 65
38
44
  else
39
- str = str.unpack('C' * str.length).map!{ |e|
40
- if e >= 97 && e <= 122
41
- e = ((e - 97 + degree) % 26) + 97
42
- elsif e >= 65 && e <= 90
43
- e = ((e - 65 + degree) % 26) + 65
44
- else
45
- e = e
46
- end
47
- }.pack('C' * str.length)
48
- end
49
-
50
- str
45
+ e = e
46
+ end
47
+ }.pack('C' * str.length)
51
48
  end
52
- end
49
+
50
+ str
51
+ end
52
+ end
53
53
  end
@@ -0,0 +1 @@
1
+ require_relative 'crypt/rot13'
@@ -9,71 +9,71 @@ require 'test/unit'
9
9
  include Crypt
10
10
 
11
11
  class TC_Rot13 < Test::Unit::TestCase
12
- def setup
13
- @r1 = Rot13.new('abc')
14
- @r2 = Rot13.new('ABC')
15
- @r3 = Rot13.new('xyz')
16
- @r4 = Rot13.new('XYZ')
17
- @r5 = Rot13.new('a1b2c3@#$')
18
- @r6 = Rot13.new('abc', 3)
19
- @r7 = Rot13.new('ABC', 3)
20
- @r8 = Rot13.new('xyz', 23)
21
- @r9 = Rot13.new('XYZ', 23)
22
- end
12
+ def setup
13
+ @r1 = Rot13.new('abc')
14
+ @r2 = Rot13.new('ABC')
15
+ @r3 = Rot13.new('xyz')
16
+ @r4 = Rot13.new('XYZ')
17
+ @r5 = Rot13.new('a1b2c3@#$')
18
+ @r6 = Rot13.new('abc', 3)
19
+ @r7 = Rot13.new('ABC', 3)
20
+ @r8 = Rot13.new('xyz', 23)
21
+ @r9 = Rot13.new('XYZ', 23)
22
+ end
23
23
 
24
- def test_version
25
- assert_equal('1.0.5', Rot13::VERSION)
26
- end
24
+ def test_version
25
+ assert_equal('1.0.6', Rot13::VERSION)
26
+ end
27
27
 
28
- def test_constructor
29
- assert_respond_to(Rot13,:new)
30
- assert_nothing_raised{ Rot13.new }
31
- assert_nothing_raised{ Rot13.new('foo') }
32
- assert_nothing_raised{ Rot13.new('foo', 7) }
33
- end
28
+ def test_constructor
29
+ assert_respond_to(Rot13,:new)
30
+ assert_nothing_raised{ Rot13.new }
31
+ assert_nothing_raised{ Rot13.new('foo') }
32
+ assert_nothing_raised{ Rot13.new('foo', 7) }
33
+ end
34
34
 
35
- def test_available_methods
36
- assert_respond_to(@r1, :rotate)
37
- end
35
+ def test_available_methods
36
+ assert_respond_to(@r1, :rotate)
37
+ end
38
38
 
39
- def test_degree
40
- assert_raises(Rot13::Error){ Rot13.new('foo', 26) }
41
- assert_raises(Rot13::Error){ Rot13.new('foo', 52) }
42
- assert_nothing_raised{ Rot13.new('foo', 25) }
43
- end
39
+ def test_degree
40
+ assert_raises(Rot13::Error){ Rot13.new('foo', 26) }
41
+ assert_raises(Rot13::Error){ Rot13.new('foo', 52) }
42
+ assert_nothing_raised{ Rot13.new('foo', 25) }
43
+ end
44
44
 
45
- def test_string_class
46
- assert_kind_of(String, @r1)
47
- end
45
+ def test_string_class
46
+ assert_kind_of(String, @r1)
47
+ end
48
48
 
49
- def test_return_value_default_degree
50
- assert_equal('nop', @r1)
51
- assert_equal('NOP', @r2)
52
- assert_equal('klm', @r3)
53
- assert_equal('KLM', @r4)
54
- assert_equal('n1o2p3@#$', @r5)
55
- end
49
+ def test_return_value_default_degree
50
+ assert_equal('nop', @r1)
51
+ assert_equal('NOP', @r2)
52
+ assert_equal('klm', @r3)
53
+ assert_equal('KLM', @r4)
54
+ assert_equal('n1o2p3@#$', @r5)
55
+ end
56
56
 
57
- def test_return_value_custom_degree
58
- assert_equal('def', @r6)
59
- assert_equal('DEF', @r7)
60
- assert_equal('uvw', @r8)
61
- assert_equal('UVW', @r9)
62
- end
57
+ def test_return_value_custom_degree
58
+ assert_equal('def', @r6)
59
+ assert_equal('DEF', @r7)
60
+ assert_equal('uvw', @r8)
61
+ assert_equal('UVW', @r9)
62
+ end
63
63
 
64
- def test_rotate_instance_method
65
- assert_equal('abc', @r6.rotate(-3))
66
- end
64
+ def test_rotate_instance_method
65
+ assert_equal('abc', @r6.rotate(-3))
66
+ end
67
67
 
68
- def teardown
69
- @r1 = nil
70
- @r2 = nil
71
- @r3 = nil
72
- @r4 = nil
73
- @r5 = nil
74
- @r6 = nil
75
- @r7 = nil
76
- @r8 = nil
77
- @r9 = nil
78
- end
68
+ def teardown
69
+ @r1 = nil
70
+ @r2 = nil
71
+ @r3 = nil
72
+ @r4 = nil
73
+ @r5 = nil
74
+ @r6 = nil
75
+ @r7 = nil
76
+ @r8 = nil
77
+ @r9 = nil
78
+ end
79
79
  end
data.tar.gz.sig ADDED
Binary file
metadata CHANGED
@@ -1,73 +1,84 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: crypt-rot13
3
- version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 5
10
- version: 1.0.5
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.6
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Daniel J. Berger
14
8
  autorequire:
15
9
  bindir: bin
16
- cert_chain: []
17
-
18
- date: 2011-09-01 00:00:00 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhkamJl
14
+ cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
15
+ MB4XDTE1MDkwMjIwNDkxOFoXDTE2MDkwMTIwNDkxOFowPzERMA8GA1UEAwwIZGpi
16
+ ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
17
+ bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMyTkvXqRp6hLs9eoJOS
18
+ Hmi8kRYbq9Vkf15/hMxJpotYMgJVHHWrmDcC5Dye2PbnXjTkKf266Zw0PtT9h+lI
19
+ S3ts9HO+vaCFSMwFFZmnWJSpQ3CNw2RcHxjWkk9yF7imEM8Kz9ojhiDXzBetdV6M
20
+ gr0lV/alUr7TNVBDngbXEfTWscyXh1qd7xZ4EcOdsDktCe5G45N/o3662tPQvJsi
21
+ FOF0CM/KuBsa/HL1/eoEmF4B3EKIRfTHrQ3hu20Kv3RJ88QM4ec2+0dd97uX693O
22
+ zv6981fyEg+aXLkxrkViM/tz2qR2ZE0jPhHTREPYeMEgptRkTmWSKAuLVWrJEfgl
23
+ DtkCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFEwe
24
+ nn6bfJADmuIDiMSOzedOrL+xMB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
25
+ bTAdBgNVHRIEFjAUgRJkamJlcmc5NkBnbWFpbC5jb20wDQYJKoZIhvcNAQEFBQAD
26
+ ggEBAHmNOCWoDVD75zHFueY0viwGDVP1BNGFC+yXcb7u2GlK+nEMCORqzURbYPf7
27
+ tL+/hzmePIRz7i30UM//64GI1NLv9jl7nIwjhPpXpf7/lu2I9hOTsvwSumb5UiKC
28
+ /sqBxI3sfj9pr79Wpv4MuikX1XPik7Ncb7NPsJPw06Lvyc3Hkg5X2XpPtLtS+Gr2
29
+ wKJnmzb5rIPS1cmsqv0M9LPWflzfwoZ/SpnmhagP+g05p8bRNKjZSA2iImM/GyYZ
30
+ EJYzxdPOrx2n6NYR3Hk+vHP0U7UBSveI6+qx+ndQYaeyCn+GRX2PKS9h66YF/Q1V
31
+ tGSHgAmcLlkdGgan182qsE/4kKM=
32
+ -----END CERTIFICATE-----
33
+ date: 2016-01-16 00:00:00.000000000 Z
19
34
  dependencies: []
20
-
21
- description: " The crypt-rot13 library provides an interface for a simple character\n substitution cipher known as ROT13, a variation on the Caesar cipher.\n"
35
+ description: |2
36
+ The crypt-rot13 library provides an interface for a simple character
37
+ substitution cipher known as ROT13, a variation on the Caesar cipher.
22
38
  email: djberg96@gmail.com
23
39
  executables: []
24
-
25
40
  extensions: []
26
-
27
- extra_rdoc_files:
41
+ extra_rdoc_files:
28
42
  - README
29
43
  - CHANGES
30
44
  - MANIFEST
31
- files:
45
+ files:
46
+ - certs
47
+ - certs/djberg96_pub.pem
32
48
  - CHANGES
33
49
  - crypt-rot13.gemspec
50
+ - lib
51
+ - lib/crypt
34
52
  - lib/crypt/rot13.rb
53
+ - lib/crypt-rot13.rb
35
54
  - MANIFEST
36
55
  - Rakefile
37
56
  - README
57
+ - test
38
58
  - test/test_crypt_rot13.rb
39
- homepage: http://www.rubyforge.org/projects/shards
40
- licenses:
59
+ homepage: http://github.com/djberg96/crypt-rot13
60
+ licenses:
41
61
  - Artistic 2.0
62
+ metadata: {}
42
63
  post_install_message:
43
64
  rdoc_options: []
44
-
45
- require_paths:
65
+ require_paths:
46
66
  - lib
47
- required_ruby_version: !ruby/object:Gem::Requirement
48
- none: false
49
- requirements:
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ requirements:
50
69
  - - ">="
51
- - !ruby/object:Gem::Version
52
- hash: 3
53
- segments:
54
- - 0
55
- version: "0"
56
- required_rubygems_version: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
59
74
  - - ">="
60
- - !ruby/object:Gem::Version
61
- hash: 3
62
- segments:
63
- - 0
64
- version: "0"
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
65
77
  requirements: []
66
-
67
- rubyforge_project: shards
68
- rubygems_version: 1.8.10
78
+ rubyforge_project:
79
+ rubygems_version: 2.5.1
69
80
  signing_key:
70
- specification_version: 3
81
+ specification_version: 4
71
82
  summary: Character rotation encryption, i.e. Caesar Cipher
72
- test_files:
83
+ test_files:
73
84
  - test/test_crypt_rot13.rb
metadata.gz.sig ADDED
Binary file