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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ef0d5cc0f2b9a98587bea279b8808c2b2a0071a
4
- data.tar.gz: 702dc01e676d9d1840f9c64f18cc251f4b68c28a
3
+ metadata.gz: 4f0287ac575b622e6696ccae824b86d9a4caf4a7
4
+ data.tar.gz: 01a3d9528ae5d352e40a6abe12e09f7f7f978b64
5
5
  SHA512:
6
- metadata.gz: 529530cd099fab6a1e3b1c2223f3cd2e0a54178629cc16f4d66e351d387542b1a903af5784ad604c6c71a7ef159f5efc26b2272010dd83a7a48c8c6fc8c63495
7
- data.tar.gz: adf34e28bd552cc239eb7fb3710fa0fb49c66cca6dcf3563b02e068e43bf6ac7e5a6f0b0e6ea0c3ed055b6708a197f14b3e899c3868a5a8498a6aeaca0c83272
6
+ metadata.gz: 7ec5b9559e17c0f22d36d0902de4e1e1f9489b1444b9332ab8da372dd37870c47c509920a9e31647aa52a84210a0b0caafcd30256964743eb353cac893dbf9d3
7
+ data.tar.gz: bef91d08ac669a3ed8456717ff6b613010ef688081423bb7c9e0105fcdd089f7ee07a0238a989b3a6a5029e714c648700126ba60555e4d21f71cf0eadd695798
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
+ source 'http://rubygems.org'
2
+
1
3
  group :test do
2
4
  gem 'rspec'
3
5
  end
6
+
7
+ gem 'bitly', '~> 0.10.4 '
@@ -1,5 +1,3 @@
1
- Copyright (c) 2014 Volodymyr Shatsky
2
-
3
1
  MIT License
4
2
 
5
3
  Permission is hereby granted, free of charge, to any person obtaining
@@ -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
@@ -1,2 +1,3 @@
1
1
  require 'vigenere/version'
2
+ require 'vigenere/config/initializer'
2
3
  require 'vigenere/email_cipher'
@@ -0,0 +1,6 @@
1
+ require 'bitly'
2
+
3
+ Bitly.configure do |config|
4
+ config.api_version = 3
5
+ config.access_token = ENV['BITLY_TOKEN']
6
+ end
@@ -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 str
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[0, email_address.index('@')]
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)}@#{domain}"
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
@@ -1,3 +1,3 @@
1
1
  module VIGENERE
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -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.2
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-03-30 00:00:00.000000000 Z
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