email-vigenere 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 +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
|