diff options
| author | Teddy Wing | 2014-06-08 05:11:15 -0400 | 
|---|---|---|
| committer | Teddy Wing | 2014-06-08 05:11:15 -0400 | 
| commit | f50a3c27280f0f6b0460b4f0b998d2031f408478 (patch) | |
| tree | 9433bf3894071981cda91052b03604a28027e9e0 | |
| parent | 1a731248b0424281298ed07669b94abb9e25f17d (diff) | |
| parent | b84e54e053435f15f3cead2a2a48833f047bc233 (diff) | |
| download | sellevate-f50a3c27280f0f6b0460b4f0b998d2031f408478.tar.bz2 | |
Merge branch 'feature/contextio-auth' into develop
| -rw-r--r-- | app.rb | 13 | ||||
| -rw-r--r-- | fancy_bear/contextio.rb | 7 | ||||
| -rw-r--r-- | fancy_bear/contextio/auth.rb | 18 | ||||
| -rw-r--r-- | fancy_bear/contextio/config.rb | 6 | ||||
| -rw-r--r-- | fancy_bear/fancy_bear.rb | 4 | ||||
| -rw-r--r-- | views/auth_callback.erb | 1 | ||||
| -rw-r--r-- | views/index.erb | 7 | ||||
| -rw-r--r-- | views/layout.erb | 21 | 
8 files changed, 77 insertions, 0 deletions
| @@ -1,4 +1,5 @@  require 'sinatra' +require './fancy_bear/fancy_bear'  class App < Sinatra::Base    configure :production, :development do @@ -16,4 +17,16 @@ class App < Sinatra::Base    post '/sign-up' do      #    end +   +  get '/auth-begin' do +    contextio = FancyBear::ContextIO::Auth.new +     +    redirect_url = contextio.connect("#{request['REQUEST_URI']}/auth-callback") +     +    redirect to(redirect_url) +  end +   +  get '/auth-callback' do +    erb :auth_callback +  end  end diff --git a/fancy_bear/contextio.rb b/fancy_bear/contextio.rb new file mode 100644 index 0000000..88fc988 --- /dev/null +++ b/fancy_bear/contextio.rb @@ -0,0 +1,7 @@ +require_relative 'contextio/config' +require_relative 'contextio/auth' + +module FancyBear +  module ContextIO +  end +end diff --git a/fancy_bear/contextio/auth.rb b/fancy_bear/contextio/auth.rb new file mode 100644 index 0000000..174648a --- /dev/null +++ b/fancy_bear/contextio/auth.rb @@ -0,0 +1,18 @@ +require 'contextio' + +module FancyBear +  module ContextIO +     +    class Auth +      def initialize +        @contextio = ::ContextIO.new(API_KEY, API_SECRET) +      end +       +      def connect(callback_url) +        connection_token = @contextio.connect_tokens.create(callback_url) +        connection_token.browser_redirect_url +      end +    end +     +  end +end diff --git a/fancy_bear/contextio/config.rb b/fancy_bear/contextio/config.rb new file mode 100644 index 0000000..046848d --- /dev/null +++ b/fancy_bear/contextio/config.rb @@ -0,0 +1,6 @@ +module FancyBear +  module ContextIO +    API_KEY = ENV['CONTEXTIO_API_KEY'] +    API_SECRET = ENV['CONTEXTIO_API_SECRET'] +  end +end diff --git a/fancy_bear/fancy_bear.rb b/fancy_bear/fancy_bear.rb new file mode 100644 index 0000000..81feb4f --- /dev/null +++ b/fancy_bear/fancy_bear.rb @@ -0,0 +1,4 @@ +require_relative 'contextio' + +module FancyBear +end diff --git a/views/auth_callback.erb b/views/auth_callback.erb new file mode 100644 index 0000000..123c701 --- /dev/null +++ b/views/auth_callback.erb @@ -0,0 +1 @@ +Your Gmail account has been connected. diff --git a/views/index.erb b/views/index.erb index e69de29..dc2c780 100644 --- a/views/index.erb +++ b/views/index.erb @@ -0,0 +1,7 @@ +<div> +	<a href="/auth-begin" class="btn btn-primary">Connect Your Gmail Account</a> +</div> + +<div> +	<img src="http://i.imgur.com/NlIehmF.png" alt="" /> +</div> diff --git a/views/layout.erb b/views/layout.erb new file mode 100644 index 0000000..72e7e4c --- /dev/null +++ b/views/layout.erb @@ -0,0 +1,21 @@ +<!doctype html> +<html lang="en"> +<head> +	<meta charset="utf-8"> +	<title>Fancy Bear</title> +	<meta name="description" content=""> + +	<meta name="viewport" content="width=device-width"> +	 +	<style type="text/css"> +		html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0} +		 +	</style> +</head> +<body> +	<div role="main"> +		<%= yield %> +	</div> +</body> +</html> + | 
