tarvit-helpers 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +11 -11
- data/README.rdoc +1 -1
- data/VERSION +1 -1
- data/lib/modules/simple_crypt.rb +30 -0
- data/lib/tarvit-helpers.rb +1 -0
- data/spec/modules/non_shared_accessors_spec.rb +56 -0
- data/spec/modules/simple_crypt.rb +16 -0
- data/spec/spec_helper.rb +15 -0
- data/tarvit-helpers.gemspec +7 -5
- metadata +5 -3
- data/test/helper.rb +0 -34
- data/test/test_tarvit-helpers.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7376b259a47c39d29eace4552f9c006298f947e5
|
4
|
+
data.tar.gz: d6f92376e9b8d30883f6e9a0c64e0b1ff341d525
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f1118c0fca6bdd727ce0d3f2871d50a2ec18b39b5d92cc68e63de5dace6ef6689d0e31ce908038a17e668882a62aee4cc5bb10b37d7dc09000b968187c28f26
|
7
|
+
data.tar.gz: 9e33a903d8c40f2bfcfafc88d337986e52ada14189ca1027a0c5dc731b3a0aff58a9e007c9365ab4d75dc05d978b54d50c33d429b7418ed95288ae0a7ac912a9
|
data/Gemfile
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
source
|
2
|
-
# Add dependencies required to use your gem here.
|
3
|
-
# Example:
|
4
|
-
# gem "activesupport", ">= 2.3.5"
|
1
|
+
source 'http://rubygems.org'
|
5
2
|
|
6
|
-
# Add dependencies to develop your gem here.
|
7
|
-
# Include everything needed to run rake, tests, features, etc.
|
8
3
|
group :development do
|
9
|
-
gem
|
10
|
-
gem
|
11
|
-
gem
|
12
|
-
gem
|
13
|
-
gem
|
4
|
+
gem 'shoulda', '>= 0'
|
5
|
+
gem 'rdoc', '~> 3.12'
|
6
|
+
gem 'bundler', '~> 1.0'
|
7
|
+
gem 'jeweler', '~> 2.0.1'
|
8
|
+
gem 'simplecov', '>= 0'
|
9
|
+
end
|
10
|
+
|
11
|
+
group :test do
|
12
|
+
gem 'rspec'
|
13
|
+
gem 'pry'
|
14
14
|
end
|
data/README.rdoc
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module TarvitHelpers
|
2
|
+
class SimpleCrypt
|
3
|
+
require 'openssl'
|
4
|
+
require 'digest/sha1'
|
5
|
+
require 'base64'
|
6
|
+
|
7
|
+
TYPE = "aes-256-cbc"
|
8
|
+
|
9
|
+
def initialize(secret_key)
|
10
|
+
@ciper = OpenSSL::Cipher::Cipher.new(TYPE)
|
11
|
+
@secret_key = secret_key.to_s
|
12
|
+
end
|
13
|
+
|
14
|
+
def encrypt(string)
|
15
|
+
@ciper.encrypt
|
16
|
+
@ciper.key = Digest::SHA1.hexdigest(@secret_key)
|
17
|
+
res = @ciper.update(string)
|
18
|
+
res << @ciper.final
|
19
|
+
Base64.encode64(res)
|
20
|
+
end
|
21
|
+
|
22
|
+
def decrypt(code)
|
23
|
+
hash = Base64.decode64(code)
|
24
|
+
@ciper.decrypt
|
25
|
+
@ciper.key = Digest::SHA1.hexdigest(@secret_key)
|
26
|
+
d = @ciper.update(hash)
|
27
|
+
d << @ciper.final
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/tarvit-helpers.rb
CHANGED
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NonSharedAccessors do
|
4
|
+
|
5
|
+
context 'Native Class Accessor in Ruby' do
|
6
|
+
|
7
|
+
it 'should explain native behavior (shared class variable)' do
|
8
|
+
class A
|
9
|
+
cattr_accessor :value
|
10
|
+
end
|
11
|
+
|
12
|
+
class B < A
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
expect(A.value).to be_nil
|
17
|
+
expect(B.value).to be_nil
|
18
|
+
|
19
|
+
A.value = 2
|
20
|
+
|
21
|
+
expect(A.value).to eq(2)
|
22
|
+
expect(B.value).to eq(2)
|
23
|
+
|
24
|
+
B.value = 3
|
25
|
+
|
26
|
+
expect(A.value).to eq(3)
|
27
|
+
expect(B.value).to eq(3)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should behave as a separate accessor(separate class valiable)' do
|
32
|
+
|
33
|
+
class A
|
34
|
+
include NonSharedAccessors
|
35
|
+
non_shared_cattr_accessor :value
|
36
|
+
end
|
37
|
+
|
38
|
+
class B < A
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
expect(A.value).to be_nil
|
43
|
+
expect(B.value).to be_nil
|
44
|
+
|
45
|
+
A.value = 2
|
46
|
+
|
47
|
+
expect(A.value).to eq(2)
|
48
|
+
expect(B.value).to eq(nil)
|
49
|
+
|
50
|
+
B.value = 3
|
51
|
+
|
52
|
+
expect(A.value).to eq(2)
|
53
|
+
expect(B.value).to eq(3)
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe '' do
|
4
|
+
|
5
|
+
it 'should crypt/decrypt by secret key' do
|
6
|
+
key = 'very_secret-key'
|
7
|
+
@sc = SimpleCrypt.new(key)
|
8
|
+
|
9
|
+
original_word = 'WORD'
|
10
|
+
result = @sc.encrypt(original_word)
|
11
|
+
|
12
|
+
expect(result).to eq("w88LiGPM279AZCpOZvyF2w==\n")
|
13
|
+
expect(@sc.decrypt(result)).to eq(original_word)
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
Bundler.setup
|
3
|
+
|
4
|
+
# gems
|
5
|
+
require 'pry'
|
6
|
+
|
7
|
+
# files
|
8
|
+
require_relative '../lib/tarvit-helpers'
|
9
|
+
require_relative '../lib/modules/non_shared_accessors'
|
10
|
+
require_relative '../lib/modules/simple_crypt'
|
11
|
+
include TarvitHelpers
|
12
|
+
|
13
|
+
RSpec.configure do |config|
|
14
|
+
|
15
|
+
end
|
data/tarvit-helpers.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: tarvit-helpers 0.0.
|
5
|
+
# stub: tarvit-helpers 0.0.3 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "tarvit-helpers"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.3"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
@@ -26,10 +26,12 @@ Gem::Specification.new do |s|
|
|
26
26
|
"Rakefile",
|
27
27
|
"VERSION",
|
28
28
|
"lib/modules/non_shared_accessors.rb",
|
29
|
+
"lib/modules/simple_crypt.rb",
|
29
30
|
"lib/tarvit-helpers.rb",
|
30
|
-
"
|
31
|
-
"
|
32
|
-
"
|
31
|
+
"spec/modules/non_shared_accessors_spec.rb",
|
32
|
+
"spec/modules/simple_crypt.rb",
|
33
|
+
"spec/spec_helper.rb",
|
34
|
+
"tarvit-helpers.gemspec"
|
33
35
|
]
|
34
36
|
s.homepage = "http://github.com/tarvit/tarvit-helpers"
|
35
37
|
s.licenses = ["MIT"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tarvit-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitaly Tarasenko
|
@@ -95,10 +95,12 @@ files:
|
|
95
95
|
- Rakefile
|
96
96
|
- VERSION
|
97
97
|
- lib/modules/non_shared_accessors.rb
|
98
|
+
- lib/modules/simple_crypt.rb
|
98
99
|
- lib/tarvit-helpers.rb
|
100
|
+
- spec/modules/non_shared_accessors_spec.rb
|
101
|
+
- spec/modules/simple_crypt.rb
|
102
|
+
- spec/spec_helper.rb
|
99
103
|
- tarvit-helpers.gemspec
|
100
|
-
- test/helper.rb
|
101
|
-
- test/test_tarvit-helpers.rb
|
102
104
|
homepage: http://github.com/tarvit/tarvit-helpers
|
103
105
|
licenses:
|
104
106
|
- MIT
|
data/test/helper.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'simplecov'
|
2
|
-
|
3
|
-
module SimpleCov::Configuration
|
4
|
-
def clean_filters
|
5
|
-
@filters = []
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
SimpleCov.configure do
|
10
|
-
clean_filters
|
11
|
-
load_adapter 'test_frameworks'
|
12
|
-
end
|
13
|
-
|
14
|
-
ENV["COVERAGE"] && SimpleCov.start do
|
15
|
-
add_filter "/.rvm/"
|
16
|
-
end
|
17
|
-
require 'rubygems'
|
18
|
-
require 'bundler'
|
19
|
-
begin
|
20
|
-
Bundler.setup(:default, :development)
|
21
|
-
rescue Bundler::BundlerError => e
|
22
|
-
$stderr.puts e.message
|
23
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
24
|
-
exit e.status_code
|
25
|
-
end
|
26
|
-
require 'test/unit'
|
27
|
-
require 'shoulda'
|
28
|
-
|
29
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
30
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
31
|
-
require 'tarvit-helpers'
|
32
|
-
|
33
|
-
class Test::Unit::TestCase
|
34
|
-
end
|
data/test/test_tarvit-helpers.rb
DELETED