Skip to content

Commit

Permalink
Merge pull request #140 from projecthydra/rubopopo
Browse files Browse the repository at this point in the history
  Rubopopo
  • Loading branch information
mjgiarlo committed Sep 28, 2016
2 parents 27325aa + abc2b14 commit 21d63f3
Show file tree
Hide file tree
Showing 42 changed files with 748 additions and 618 deletions.
16 changes: 16 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
inherit_from: .rubocop_todo.yml

AllCops:
Exclude:
- db/migrate/**
- db/schema.rb

Rails:
Enabled: true

# Configuration parameters: AllowURI, URISchemes.
Metrics/LineLength:
Max: 180

Style/NumericLiterals:
MinDigits: 7
149 changes: 149 additions & 0 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2016-09-28 11:47:17 -0700 using RuboCop version 0.42.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.

# Offense count: 1
Lint/Loop:
Exclude:
- 'lib/browse_everything/driver/google_drive.rb'

# Offense count: 10
Metrics/AbcSize:
Max: 32

# Offense count: 1
# Configuration parameters: CountComments.
Metrics/ClassLength:
Max: 101

# Offense count: 3
Metrics/CyclomaticComplexity:
Max: 7

# Offense count: 14
# Configuration parameters: CountComments.
Metrics/MethodLength:
Max: 26

# Offense count: 1
# Configuration parameters: CountKeywordArgs.
Metrics/ParameterLists:
Max: 7

# Offense count: 1
Metrics/PerceivedComplexity:
Max: 9

# Offense count: 1
Rails/OutputSafety:
Exclude:
- 'app/helpers/browse_everything_helper.rb'

# Offense count: 14
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: strict, flexible
Rails/TimeZone:
Exclude:
- 'lib/browse_everything/driver/box.rb'
- 'lib/browse_everything/driver/dropbox.rb'
- 'lib/browse_everything/driver/google_drive.rb'
- 'lib/browse_everything/driver/sky_drive.rb'
- 'lib/browse_everything/retriever.rb'
- 'spec/unit/browse_everything_helper_spec.rb'
- 'spec/unit/file_entry_spec.rb'
- 'spec/unit/retriever_spec.rb'
- 'spec/unit/sky_drive_spec.rb'
- 'spec/views/browse_everything/_file.html.erb_spec.rb'

# Offense count: 3
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: nested, compact
Style/ClassAndModuleChildren:
Exclude:
- 'lib/generators/browse_everything/assets_generator.rb'
- 'lib/generators/browse_everything/config_generator.rb'
- 'lib/generators/browse_everything/install_generator.rb'

# Offense count: 18
Style/Documentation:
Enabled: false

# Offense count: 1
# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts.
Style/FileName:
Exclude:
- 'lib/browse-everything.rb'

# Offense count: 5
# Configuration parameters: MinBodyLength.
Style/GuardClause:
Exclude:
- 'lib/browse_everything/driver/box.rb'
- 'lib/browse_everything/driver/dropbox.rb'
- 'lib/browse_everything/driver/file_system.rb'
- 'lib/browse_everything/driver/google_drive.rb'
- 'lib/browse_everything/driver/sky_drive.rb'

# Offense count: 1
Style/MultilineBlockChain:
Exclude:
- 'lib/browse_everything/driver/google_drive.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/MultilineBlockLayout:
Exclude:
- 'spec/unit/dropbox_spec.rb'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: symmetrical, new_line, same_line
Style/MultilineHashBraceLayout:
Exclude:
- 'spec/unit/sky_drive_spec.rb'

# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
# SupportedStyles: aligned, indented, indented_relative_to_receiver
Style/MultilineMethodCallIndentation:
Exclude:
- 'spec/unit/sky_drive_spec.rb'

# Offense count: 1
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
# NamePrefix: is_, has_, have_
# NamePrefixBlacklist: is_, has_, have_
# NameWhitelist: is_a?
Style/PredicateName:
Exclude:
- 'spec/**/*'
- 'app/helpers/browse_everything_helper.rb'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
Style/RegexpLiteral:
Exclude:
- 'lib/browse_everything/driver/box.rb'
- 'lib/browse_everything/driver/dropbox.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/RescueModifier:
Exclude:
- 'lib/browse_everything/driver/file_system.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: use_perl_names, use_english_names
Style/SpecialGlobalVars:
Exclude:
- 'browse-everything.gemspec'
4 changes: 2 additions & 2 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env rake
require "bundler/gem_tasks"
require 'bundler/gem_tasks'

Dir.glob('tasks/*.rake').each { |r| import r }

Expand All @@ -15,4 +15,4 @@ task :setup_test_server do
EngineCart.load_application!
end

task :default => [:ci]
task default: [:ci]
32 changes: 15 additions & 17 deletions app/controllers/browse_everything_controller.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
require File.expand_path('../../helpers/browse_everything_helper',__FILE__)
require File.expand_path('../../helpers/browse_everything_helper', __FILE__)

class BrowseEverythingController < ActionController::Base
layout 'browse_everything'
helper BrowseEverythingHelper

after_filter { session["#{provider_name}_token"] = provider.token unless provider.nil? }
after_action { session["#{provider_name}_token"] = provider.token unless provider.nil? }

def index
render :layout => !request.xhr?
render layout: !request.xhr?
end

def show
render :layout => !request.xhr?
render layout: !request.xhr?
end

def auth
Expand All @@ -20,30 +20,28 @@ def auth

def resolve
selected_files = params[:selected_files] || []
@links = selected_files.collect { |file|
p,f = file.split(/:/)
(url,extra) = browser.providers[p].link_for(f)
@links = selected_files.collect do |file|
p, f = file.split(/:/)
(url, extra) = browser.providers[p].link_for(f)
result = { url: url }
result.merge!(extra) unless extra.nil?
result
}
end
respond_to do |format|
format.html { render :layout => false }
format.json { render :json => @links }
format.html { render layout: false }
format.json { render json: @links }
end
end

private

def auth_link
@auth_link ||= if provider.present?
link, data = provider.auth_link
session["#{provider_name}_data"] = data
link = "#{link}&state=#{provider.key}" unless link.to_s.include?('state')
link
else
nil
end
link, data = provider.auth_link
session["#{provider_name}_data"] = data
link = "#{link}&state=#{provider.key}" unless link.to_s.include?('state')
link
end # else nil, implicitly
end

def browser
Expand Down
20 changes: 9 additions & 11 deletions app/helpers/bootstrap_version_helper.rb
Original file line number Diff line number Diff line change
@@ -1,35 +1,33 @@
module BootstrapVersionHelper

def bootstrap_three?
Bundler.environment.specs['bootstrap-sass'].first.version >= Gem::Version.new('3')
end

def bs2(if2)
bs2or3(if2,'')
bs2or3(if2, '')
end

def bs3(if3)
bs2or3('',if3)
bs2or3('', if3)
end

def bs2or3(if2,if3)
def bs2or3(if2, if3)
bootstrap_three? ? if3 : if2
end

def font_awesome_four?
Bundler.environment.specs['font-awesome-rails'].first.version >= Gem::Version.new('4')
end

def fa3(if3)
fa3or4(if3,'')
fa3or4(if3, '')
end

def fa4(if4)
fa3or4('',if4)
fa3or4('', if4)
end
def fa3or4(if3,if4)

def fa3or4(if3, if4)
font_awesome_four? ? if4 : if3
end

end
71 changes: 36 additions & 35 deletions browse-everything.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,46 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'browse_everything/version'

Gem::Specification.new do |spec|
spec.name = "browse-everything"
spec.name = 'browse-everything'
spec.version = BrowseEverything::VERSION
spec.authors = ["Carolyn Cole", "Jessie Keck", "Michael B. Klein", "Thomas Scherz", "Xiaoming Wang", "Jeremy Friesen"]
spec.email = ["cam156@psu.edu", "jkeck@stanford.edu", "mbklein@gmail.com", "scherztc@ucmail.uc.edu", "xw5d@virginia.edu", "jeremy.n.friesen@gmail.com"]
spec.description = %q{AJAX/Rails engine file browser for cloud storage services}
spec.summary = %q{AJAX/Rails engine file browser for cloud storage services}
spec.homepage = "https://github.com/projecthydra/browse-everything"
spec.license = "Apache 2"
spec.authors = ['Carolyn Cole', 'Jessie Keck', 'Michael B. Klein', 'Thomas Scherz', 'Xiaoming Wang', 'Jeremy Friesen']
spec.email = ['cam156@psu.edu', 'jkeck@stanford.edu', 'mbklein@gmail.com', 'scherztc@ucmail.uc.edu', 'xw5d@virginia.edu', 'jeremy.n.friesen@gmail.com']
spec.description = 'AJAX/Rails engine file browser for cloud storage services'
spec.summary = 'AJAX/Rails engine file browser for cloud storage services'
spec.homepage = 'https://github.com/projecthydra/browse-everything'
spec.license = 'Apache 2'

spec.files = `git ls-files`.split($/)
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
spec.require_paths = ['lib']

spec.add_dependency "rails", ">= 3.1"
spec.add_dependency "google_drive"
spec.add_dependency "dropbox-sdk", ">= 1.6.2"
spec.add_dependency "skydrive"
spec.add_dependency "ruby-box"
spec.add_dependency "sass-rails"
spec.add_dependency "bootstrap-sass"
spec.add_dependency "font-awesome-rails"
spec.add_dependency "google-api-client", "~> 0.9"
spec.add_dependency "signet"
spec.add_dependency "httparty"
spec.add_development_dependency "rspec", "~> 3.0"
spec.add_development_dependency "rspec-rails"
spec.add_development_dependency "rspec-its"
spec.add_development_dependency "simplecov"
spec.add_development_dependency "bundler", "~> 1.3"
spec.add_development_dependency "pry"
spec.add_development_dependency "rake"
spec.add_development_dependency "webmock"
spec.add_development_dependency "vcr"
spec.add_development_dependency "sqlite3"
spec.add_development_dependency "factory_girl_rails"
spec.add_development_dependency "engine_cart", '~> 0.10'
spec.add_development_dependency "capybara"
spec.add_development_dependency "jasmine", '~> 2.3'
spec.add_development_dependency "coveralls"
spec.add_development_dependency "poltergeist", "~> 1.10"
spec.add_dependency 'rails', '>= 3.1'
spec.add_dependency 'google_drive'
spec.add_dependency 'dropbox-sdk', '>= 1.6.2'
spec.add_dependency 'skydrive'
spec.add_dependency 'ruby-box'
spec.add_dependency 'sass-rails'
spec.add_dependency 'bootstrap-sass'
spec.add_dependency 'font-awesome-rails'
spec.add_dependency 'google-api-client', '~> 0.9'
spec.add_dependency 'signet'
spec.add_dependency 'httparty'
spec.add_development_dependency 'rspec', '~> 3.0'
spec.add_development_dependency 'rspec-rails'
spec.add_development_dependency 'rspec-its'
spec.add_development_dependency 'rubocop'
spec.add_development_dependency 'simplecov'
spec.add_development_dependency 'bundler', '~> 1.3'
spec.add_development_dependency 'pry'
spec.add_development_dependency 'rake'
spec.add_development_dependency 'webmock'
spec.add_development_dependency 'vcr'
spec.add_development_dependency 'sqlite3'
spec.add_development_dependency 'factory_girl_rails'
spec.add_development_dependency 'engine_cart', '~> 0.10'
spec.add_development_dependency 'capybara'
spec.add_development_dependency 'jasmine', '~> 2.3'
spec.add_development_dependency 'coveralls'
spec.add_development_dependency 'poltergeist', '~> 1.10'
end
6 changes: 3 additions & 3 deletions config/routes.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BrowseEverything::Engine.routes.draw do
get "connect", to: 'browse_everything#auth', as: 'connector_response'
match "resolve", to: 'browse_everything#resolve', as: 'resolver', via: [:get, :post]
match ":provider(/*path)", to: 'browse_everything#show', as: 'contents', via: [:get, :post]
get 'connect', to: 'browse_everything#auth', as: 'connector_response'
match 'resolve', to: 'browse_everything#resolve', as: 'resolver', via: [:get, :post]
match ':provider(/*path)', to: 'browse_everything#show', as: 'contents', via: [:get, :post]
root to: 'browse_everything#index'
end
2 changes: 1 addition & 1 deletion lib/browse-everything.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
require 'bootstrap-sass'
require 'font-awesome-rails'
require 'browse_everything'
require 'browse_everything'
Loading

0 comments on commit 21d63f3

Please sign in to comment.