tarvit-helpers 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6a0689eff17cb747296cbc6aabac0de42c2d6115
4
- data.tar.gz: 28ac7328ed54ba691223d5bcffbb400a98186247
3
+ metadata.gz: 7376b259a47c39d29eace4552f9c006298f947e5
4
+ data.tar.gz: d6f92376e9b8d30883f6e9a0c64e0b1ff341d525
5
5
  SHA512:
6
- metadata.gz: b6059e3ed688aa294b00ee78fa705d9ee101ec803d165122312f71649823bf758cca977da62ff6c22ecdcf260d7fa658516e67c1ba37520c02d9e090cf781e75
7
- data.tar.gz: c3bc4add0489c7b6ea02407efc4b8def5d3440a5d1d53bd5d78df13fe9ba211d706f0b9e3b38f00591686a217e67dbd35920a3839b4411b35a1f390210c89ef3
6
+ metadata.gz: 9f1118c0fca6bdd727ce0d3f2871d50a2ec18b39b5d92cc68e63de5dace6ef6689d0e31ce908038a17e668882a62aee4cc5bb10b37d7dc09000b968187c28f26
7
+ data.tar.gz: 9e33a903d8c40f2bfcfafc88d337986e52ada14189ca1027a0c5dc731b3a0aff58a9e007c9365ab4d75dc05d978b54d50c33d429b7418ed95288ae0a7ac912a9
data/Gemfile CHANGED
@@ -1,14 +1,14 @@
1
- source "http://rubygems.org"
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 "shoulda", ">= 0"
10
- gem "rdoc", "~> 3.12"
11
- gem "bundler", "~> 1.0"
12
- gem "jeweler", "~> 2.0.1"
13
- gem "simplecov", ">= 0"
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
@@ -1,6 +1,6 @@
1
1
  = tarvit-helpers
2
2
 
3
- Description goes here.
3
+ Simple helpers for Ruby.
4
4
 
5
5
  == Contributing to tarvit-helpers
6
6
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
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
@@ -1,5 +1,6 @@
1
1
  module TarvitHelpers
2
2
 
3
3
  require 'modules/non_shared_accessors'
4
+ require 'modules/simple_crypt'
4
5
 
5
6
  end
@@ -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
@@ -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
@@ -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.2 ruby lib
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.2"
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
- "tarvit-helpers.gemspec",
31
- "test/helper.rb",
32
- "test/test_tarvit-helpers.rb"
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.2
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
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestTarvitHelpers < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end