email-vigenere 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 +4 -4
- data/Gemfile +4 -0
- data/LICENSE.txt +0 -2
- data/circle.yml +16 -0
- data/lib/vigenere.rb +1 -0
- data/lib/vigenere/config/initializer.rb +6 -0
- data/lib/vigenere/email_cipher.rb +19 -6
- data/lib/vigenere/version.rb +1 -1
- data/vigenere.gemspec +2 -0
- metadata +19 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f0287ac575b622e6696ccae824b86d9a4caf4a7
|
4
|
+
data.tar.gz: 01a3d9528ae5d352e40a6abe12e09f7f7f978b64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ec5b9559e17c0f22d36d0902de4e1e1f9489b1444b9332ab8da372dd37870c47c509920a9e31647aa52a84210a0b0caafcd30256964743eb353cac893dbf9d3
|
7
|
+
data.tar.gz: bef91d08ac669a3ed8456717ff6b613010ef688081423bb7c9e0105fcdd089f7ee07a0238a989b3a6a5029e714c648700126ba60555e4d21f71cf0eadd695798
|
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
data/circle.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
### CircleCi configuration file https://circleci.com/docs/configuration
|
2
|
+
|
3
|
+
## Customize the test machine
|
4
|
+
machine:
|
5
|
+
ruby:
|
6
|
+
version: ruby-2.1.2
|
7
|
+
general:
|
8
|
+
artifacts:
|
9
|
+
- "log/test.log"
|
10
|
+
|
11
|
+
dependencies:
|
12
|
+
override:
|
13
|
+
- bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --no-deployment
|
14
|
+
test:
|
15
|
+
override:
|
16
|
+
- bundle exec rspec spec
|
data/lib/vigenere.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'bitly'
|
2
|
+
|
1
3
|
module VIGENERE
|
2
4
|
class EmailCipher
|
3
5
|
def initialize(args = {})
|
@@ -5,7 +7,6 @@ module VIGENERE
|
|
5
7
|
|
6
8
|
# TODO: Add any characters that need to work here
|
7
9
|
@alphabet.concat(('a'..'z').to_a)
|
8
|
-
@alphabet.concat(('A'..'Z').to_a)
|
9
10
|
@alphabet.concat(('0'..'9').to_a)
|
10
11
|
@alphabet.concat(['&','*','+','-','/','=','?','^','_','`','~','.'])
|
11
12
|
@key = args[:key]
|
@@ -94,16 +95,15 @@ module VIGENERE
|
|
94
95
|
alpha_decode decoded
|
95
96
|
end
|
96
97
|
|
97
|
-
def split_addresses
|
98
|
+
def split_addresses(str)
|
98
99
|
from = str[0, str.index('_')]
|
99
100
|
to = str[str.index('_')+1, str.length]
|
100
101
|
|
101
102
|
addresses = { from: from, to: to }
|
102
103
|
end
|
103
104
|
|
104
|
-
def parse email_address
|
105
|
-
encoded_addresses_string = email_address
|
106
|
-
|
105
|
+
def parse( email_address )
|
106
|
+
encoded_addresses_string = expand_bitly(email_address)
|
107
107
|
encoded_addresses = split_addresses encoded_addresses_string
|
108
108
|
|
109
109
|
from_addr = decode(encoded_addresses[:from])
|
@@ -112,8 +112,21 @@ module VIGENERE
|
|
112
112
|
{from: from_addr, to: to_addr}
|
113
113
|
end
|
114
114
|
|
115
|
+
def expand_bitly(email)
|
116
|
+
bitly_shortcut = email.gsub!(/(fb_user_|@gofundbase.com)/, '')
|
117
|
+
long_url = Bitly.client.expand("http://bit.ly/#{bitly_shortcut}").long_url
|
118
|
+
long_url.gsub!(/(\/|\.|http:)/,'')
|
119
|
+
end
|
120
|
+
|
121
|
+
def create_bitly(str)
|
122
|
+
str = "http://#{str}".scan(/.{1,24}/).join('.')
|
123
|
+
Bitly.client.shorten(str).user_hash
|
124
|
+
end
|
125
|
+
|
115
126
|
def create_email_address(from, to, domain)
|
116
|
-
"#{encode(from)}_#{encode(to)}
|
127
|
+
encrypted_email = "#{encode(from)}_#{encode(to)}"
|
128
|
+
bitly_shortcut = create_bitly(encrypted_email)
|
129
|
+
"fb_user_#{bitly_shortcut}@#{domain}"
|
117
130
|
end
|
118
131
|
end
|
119
132
|
end
|
data/lib/vigenere/version.rb
CHANGED
data/vigenere.gemspec
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require 'vigenere/version'
|
5
|
+
require 'vigenere/config/initializer'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
8
|
spec.name = 'email-vigenere'
|
@@ -17,4 +18,5 @@ Gem::Specification.new do |spec|
|
|
17
18
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
20
|
spec.require_paths = ['lib']
|
21
|
+
spec.add_dependency 'bitly', '~> 0.10.4'
|
20
22
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email-vigenere
|
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
|
- Fundbase
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
12
|
-
dependencies:
|
11
|
+
date: 2015-04-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bitly
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.10.4
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.10.4
|
13
27
|
description: Easily Encode/Decode text with Vigenere Cipher
|
14
28
|
email:
|
15
29
|
- support@fundbase.com
|
@@ -23,7 +37,9 @@ files:
|
|
23
37
|
- Gemfile
|
24
38
|
- LICENSE.txt
|
25
39
|
- README.md
|
40
|
+
- circle.yml
|
26
41
|
- lib/vigenere.rb
|
42
|
+
- lib/vigenere/config/initializer.rb
|
27
43
|
- lib/vigenere/email_cipher.rb
|
28
44
|
- lib/vigenere/version.rb
|
29
45
|
- spec/email_cipher_spec.rb
|