Skip to content

Commit 173ee4f

Browse files
committed
Code was re organised #11
1 parent f9f49d2 commit 173ee4f

27 files changed

+434
-44
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,4 @@ build/
4848
/log/
4949
/tmp
5050
*.log
51+
test.html.haml

Gemfile

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,20 @@ gem 'bootstrap-sass'
7070

7171
# The following gems for testing purpose in development and testing environment
7272
group :development, :test do
73-
# Rspec is used to write the test cases
73+
# Rspec is used to write the test cases
7474
gem 'rspec-rails'
75-
# Use factory girl to pass random data for test cases
75+
# Use factory girl to pass random data for test cases
7676
gem 'factory_girl_rails'
77-
# Use faker to generate fake strings and data
77+
# Use faker to generate fake strings and data
7878
gem 'faker'
79-
# Use to clean database after executing a test case
79+
# Use to clean database after executing a test case
8080
gem 'database_cleaner'
81-
# Use to track how much code has been tested
81+
# Use to track how much code has been tested
8282
gem 'simplecov'
83+
# Webmock to stub http requests
84+
gem 'webmock'
85+
# VCR to record the responses from web and replay them when needed
86+
gem 'vcr'
8387
end
8488

8589
gem 'simple_form'

Gemfile.lock

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ GEM
5858
execjs
5959
coffee-script-source (1.7.0)
6060
connection_pool (2.0.0)
61+
crack (0.4.2)
62+
safe_yaml (~> 1.0.0)
6163
database_cleaner (1.3.0)
6264
devise (3.2.4)
6365
bcrypt (~> 3.0)
@@ -210,6 +212,7 @@ GEM
210212
rspec-mocks (~> 3.0.0)
211213
rspec-support (~> 3.0.0)
212214
rspec-support (3.0.2)
215+
safe_yaml (1.0.3)
213216
sass (3.2.19)
214217
sass-rails (4.0.3)
215218
railties (>= 4.0.0, < 5.0)
@@ -270,8 +273,12 @@ GEM
270273
execjs (>= 0.3.0)
271274
json (>= 1.8.0)
272275
uuidtools (2.1.4)
276+
vcr (2.9.2)
273277
warden (1.2.3)
274278
rack (>= 1.0)
279+
webmock (1.18.0)
280+
addressable (>= 2.3.6)
281+
crack (>= 0.3.2)
275282

276283
PLATFORMS
277284
ruby
@@ -307,3 +314,5 @@ DEPENDENCIES
307314
therubyracer
308315
turbolinks
309316
uglifier (>= 1.3.0)
317+
vcr
318+
webmock
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Place all the behaviors and hooks related to the matching controller here.
2+
# All this logic will automatically be available in application.js.
3+
# You can use CoffeeScript in this file: http://coffeescript.org/
4+
xyz = ->
5+
alert "welcome"
6+
return

app/assets/stylesheets/bootstrap_config.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@import "bootstrap";
2+
23
body
34
{
45
padding-top: 80px;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// Place all the styles related to the spreadsheets controller here.
2+
// They will automatically be included in application.css.
3+
// You can use Sass (SCSS) here: http://sass-lang.com/

app/controllers/application_controller.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ class ApplicationController < ActionController::Base
22
# Prevent CSRF attacks by raising an exception.
33
# For APIs, you may want to use :null_session instead.
44
protect_from_forgery with: :exception
5-
65
end

app/controllers/callbacks_controller.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ def setSheet
5454
end
5555

5656
def insertEmailInDatabase(tkn)
57-
@tkn = tkn
58-
session = GoogleDrive.login_with_oauth(@tkn["access_token"])
59-
@ws = session.spreadsheet_by_key(@tkn['spreadsheet_id']).worksheets[0]
57+
@tkn = tkn
58+
session = GoogleDrive.login_with_oauth(@tkn["access_token"])
59+
@ws = session.spreadsheet_by_key(@tkn['spreadsheet_id']).worksheets[0]
6060

6161
rowcount = @ws.rows.count
6262

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
class SpreadsheetsController < ApplicationController
2+
include GoogleSpreadsheets
3+
4+
def index
5+
@spreadsheets = Spreadsheet.all.to_a
6+
end
7+
8+
def new
9+
@req = params
10+
=begin
11+
if params[:access_token]
12+
spreadsheet = Spreadsheet.where(access_token: params['access_token'])[0]
13+
else
14+
spreadsheet = Spreadsheet.new
15+
spreadsheet.add_tokens(request.env['omniauth.auth'].fetch('credentials'))
16+
end
17+
18+
if spreadsheet.save
19+
# Spreadsheets from google
20+
@spreadsheets = get_spreadsheets(spreadsheet)
21+
@token = spreadsheet.access_token
22+
@msg = 'work'
23+
else
24+
@msg = 'no work'
25+
# Handle if data does not get saved
26+
end
27+
=end
28+
end
29+
30+
def edit
31+
token = spreadsheet_params['token']
32+
spreadsheet = Spreadsheet.where(access_token: token)[0]
33+
spreadsheet.add_spreadsheet_credentials(spreadsheet_params)
34+
#binding.pry
35+
spreadsheet.save
36+
37+
@spreadsheets = Spreadsheet.all.to_a
38+
39+
render action: 'index'
40+
end
41+
42+
def update
43+
spreadsheet = Spreadsheet.find(params['id'])
44+
@worksheet = get_worksheets(spreadsheet)
45+
User.add_users_from_worksheet(@worksheet)
46+
redirect_to users_path
47+
end
48+
49+
def destroy
50+
Spreadsheet.find(params['id']).delete
51+
redirect_to spreadsheets_path
52+
end
53+
54+
def spreadsheet_params
55+
params.permit(:title, :id, :token)
56+
end
57+
end

app/helpers/spreadsheets_helper.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
module SpreadsheetsHelper
2+
end

0 commit comments

Comments
 (0)