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 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