Skip to content
This repository has been archived by the owner on Sep 29, 2021. It is now read-only.

fix standard #16

Merged
merged 1 commit into from
Sep 17, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ cache:
services:
- redis-server
script:
- bundle exec rubocop
- bundle exec rspec spec
- bundle exec bundle audit check
- bundle exec brakeman -A -q --ensure-latest --no-pager
- bundle exec standardrb
74 changes: 37 additions & 37 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
source 'https://rubygems.org'
source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.3.8'
ruby "2.3.8"

gem 'rails', '~> 5.2.3'
gem 'active_model_serializers'
gem 'puma', '~> 3.11'
gem 'bootsnap', '>= 1.1.0', require: false
gem 'newrelic_rpm'
gem 'versionist'
gem 'rack-cors', require: 'rack/cors'
gem 'rollbar'
gem 'syslog-logger'
gem 'oj'
gem 'oj_mimic_json'
gem 'ddtrace'
gem "rails", "~> 5.2.3"
gem "active_model_serializers"
gem "puma", "~> 3.11"
gem "bootsnap", ">= 1.1.0", require: false
gem "newrelic_rpm"
gem "versionist"
gem "rack-cors", require: "rack/cors"
gem "rollbar"
gem "syslog-logger"
gem "oj"
gem "oj_mimic_json"
gem "ddtrace"

# rubyCAS
gem 'rubycas-client-rails'
gem "rubycas-client-rails"

gem 'cru-auth-lib', '~> 0.1.0'
gem "cru-auth-lib", "~> 0.1.0"

gem 'xml-simple', require: 'xmlsimple'
gem "xml-simple", require: "xmlsimple"

group :development, :test do
gem 'brakeman'
gem 'bundler-audit'
gem 'dotenv-rails'
gem 'guard-rubocop'
gem 'guard-rspec'
gem 'rspec-rails'
gem 'spring'
gem 'standard'
gem 'pry-rails'
gem 'awesome_print'
gem "brakeman"
gem "bundler-audit"
gem "dotenv-rails"
gem "guard-rubocop"
gem "guard-rspec"
gem "rspec-rails"
gem "spring"
gem "standard"
gem "pry-rails"
gem "awesome_print"
end

group :test do
gem 'webmock'
gem 'simplecov', require: false
gem 'factory_girl_rails'
gem 'shoulda', require: false
gem 'rubocop'
gem 'fakeredis', :require => 'fakeredis/rspec'
gem 'coveralls', require: false
gem "webmock"
gem "simplecov", require: false
gem "factory_girl_rails"
gem "shoulda", require: false
gem "rubocop"
gem "fakeredis", require: "fakeredis/rspec"
gem "coveralls", require: false
end
gem 'lograge'
gem 'ougai', '~> 1.7'
gem 'dogstatsd-ruby'
gem "lograge"
gem "ougai", "~> 1.7"
gem "dogstatsd-ruby"
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require_relative 'config/application'
require_relative "config/application"

Rails.application.load_tasks
4 changes: 2 additions & 2 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ class ApplicationController < ActionController::API
protected

def redis_ticket_key(ticket)
['rails_cas_auth_client', 'service_ticket', ticket].join(':')
["rails_cas_auth_client", "service_ticket", ticket].join(":")
end

def redis_pgt_iou_key(pgt_iou)
['rails_cas_auth_client', 'pgt_iou', pgt_iou].join(':')
["rails_cas_auth_client", "pgt_iou", pgt_iou].join(":")
end

def render_error(message, options = {})
Expand Down
16 changes: 9 additions & 7 deletions app/controllers/cas_controller.rb
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
class CasController < ApplicationController
def logout
render_error 'POST method not supported' and return unless logout_request?
render_error("POST method not supported") && return unless logout_request?
ticket = service_ticket
invalidate_ticket(ticket) if ticket
render status: :ok, plain: 'OK'
render status: :ok, plain: "OK"
end

def proxy_callback
CruAuthLib.redis_client.setex(
redis_pgt_iou_key(params[:pgtIou]), 30, params[:pgtId]
) unless params[:pgtId].blank? || params[:pgtIou].blank?
render status: :ok, plain: 'OK'
unless params[:pgtId].blank? || params[:pgtIou].blank?
CruAuthLib.redis_client.setex(
redis_pgt_iou_key(params[:pgtIou]), 30, params[:pgtId]
)
end
render status: :ok, plain: "OK"
end

private
Expand All @@ -22,7 +24,7 @@ def logout_request?

def service_ticket
xml = XmlSimple.xml_in(params[:logoutRequest])
xml['SessionIndex'][0]
xml["SessionIndex"][0]
rescue
nil
end
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/monitors_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ class MonitorsController < ApplicationController
newrelic_ignore

def lb
render status: :ok, plain: 'OK'
render status: :ok, plain: "OK"
end
end
10 changes: 5 additions & 5 deletions app/controllers/v1/tokens_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ class TokensController < ApplicationController
before_action :authenticate_request, except: [:new]

def new
render_error "You must pass in a service ticket ('st' parameter)" and return if params[:st].blank?
render_error("You must pass in a service ticket ('st' parameter)") && return if params[:st].blank?

st = validate_service_ticket(params[:st])
render_error 'Invalid service ticket' and return unless st.is_valid?
render_error("Invalid service ticket") && return unless st.is_valid?

access_token = generate_access_token(st)
store_service_ticket(st, access_token)
Expand All @@ -17,7 +17,7 @@ def new

def destroy
CruAuthLib::AccessToken.del(@access_token.token)
render status: :ok, plain: 'OK'
render status: :ok, plain: "OK"
end

protected
Expand All @@ -34,8 +34,8 @@ def validate_service_ticket(ticket)

# Generate Access Token
def generate_access_token(st)
map = { guid: 'ssoGuid', email: 'email', key_guid: 'theKeyGuid',
relay_guid: '', first_name: 'firstName', last_name: 'lastName' }
map = {guid: "ssoGuid", email: "email", key_guid: "theKeyGuid",
relay_guid: "", first_name: "firstName", last_name: "lastName",}
attributes = {}
map.each do |k, v|
attributes[k] = st.extra_attributes[v] if st.extra_attributes.key?(v)
Expand Down
2 changes: 1 addition & 1 deletion config.ru
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# This file is used by Rack-based servers to start the application.

require_relative 'config/environment'
require_relative "config/environment"

run Rails.application
16 changes: 8 additions & 8 deletions config/application.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
require_relative 'boot'
require_relative "boot"

# require "rails/all"
require 'active_model/railtie'
require "active_model/railtie"
# require 'active_job/railtie'
# require 'active_record/railtie'
require 'action_controller/railtie'
require "action_controller/railtie"
# require 'action_mailer/railtie'
# require 'action_view/railtie'
# require 'sprockets/railtie'
Expand All @@ -13,11 +13,11 @@
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)

require_relative '../lib/log/logger'
require_relative "../lib/log/logger"
module CasAuthenticatedApi
class Application < Rails::Application
# Enable ougai
config.logger = Log::Logger.new(Rails.root.join('log', 'datadog.log'))
config.logger = Log::Logger.new(Rails.root.join("log", "datadog.log"))
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 5.2

Expand All @@ -32,8 +32,8 @@ class Application < Rails::Application

config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*',
origins "*"
resource "*",
headers: :any,
methods: [:get, :post, :delete, :put, :patch, :options, :head],
max_age: 0
Expand All @@ -43,7 +43,7 @@ class Application < Rails::Application
config.log_formatter = ::Logger::Formatter.new

# RubyCAS config
config.rubycas.cas_base_url = ENV.fetch('CAS_BASE_URL')
config.rubycas.cas_base_url = ENV.fetch("CAS_BASE_URL")
config.rubycas.logger = Rails.logger

# Settings in config/environments/* take precedence over those specified here.
Expand Down
6 changes: 3 additions & 3 deletions config/boot.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)

require 'bundler/setup' # Set up gems listed in the Gemfile.
require 'bootsnap/setup' # Speed up boot time by caching expensive operations.
require "bundler/setup" # Set up gems listed in the Gemfile.
require "bootsnap/setup" # Speed up boot time by caching expensive operations.
2 changes: 1 addition & 1 deletion config/environment.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Load the Rails application.
require_relative 'application'
require_relative "application"

# Initialize the Rails application.
Rails.application.initialize!
4 changes: 2 additions & 2 deletions config/environments/development.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@

# Enable/disable caching. By default caching is disabled.
# Run rails dev:cache to toggle caching.
if Rails.root.join('tmp', 'caching-dev.txt').exist?
if Rails.root.join("tmp", "caching-dev.txt").exist?
config.action_controller.perform_caching = true

config.cache_store = :memory_store
config.public_file_server.headers = {
'Cache-Control' => "public, max-age=#{2.days.to_i}"
"Cache-Control" => "public, max-age=#{2.days.to_i}",
}
else
config.action_controller.perform_caching = false
Expand Down
14 changes: 7 additions & 7 deletions config/environments/production.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
config.eager_load = true

# Full error reports are disabled and caching is turned on.
config.consider_all_requests_local = false
config.consider_all_requests_local = false
config.action_controller.perform_caching = true

# Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
Expand All @@ -20,7 +20,7 @@

# Disable serving static files from the `/public` folder by default since
# Apache or NGINX already handles this.
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?

# Compress JavaScripts and CSS.
# config.assets.js_compressor = :uglifier
Expand Down Expand Up @@ -50,8 +50,8 @@
config.force_ssl = true
config.ssl_options = {
redirect: {
exclude: ->(request) { request.fullpath == '/monitors/lb' }
}
exclude: ->(request) { request.fullpath == "/monitors/lb" },
},
}

# Use the lowest log level to ensure availability of diagnostic information
Expand Down Expand Up @@ -88,10 +88,10 @@
# require 'syslog/logger'
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')

if ENV['RAILS_LOG_TO_STDOUT'].present?
logger = ActiveSupport::Logger.new(STDOUT)
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
config.logger = ActiveSupport::TaggedLogging.new(logger)
end

# Do not dump schema after migrations.
Expand Down
4 changes: 2 additions & 2 deletions config/environments/test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
# Configure public file server for tests with Cache-Control for performance.
config.public_file_server.enabled = true
config.public_file_server.headers = {
'Cache-Control' => "public, max-age=#{1.hour.to_i}"
"Cache-Control" => "public, max-age=#{1.hour.to_i}",
}

# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.consider_all_requests_local = true
config.action_controller.perform_caching = false

# Raise exceptions instead of rendering exception templates.
Expand Down
4 changes: 2 additions & 2 deletions config/initializers/cru_auth_lib.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require 'cru_auth_lib'
require "cru_auth_lib"

CruAuthLib.configure do |config|
config.redis_host = ENV.fetch('REDIS_PORT_6379_TCP_ADDR_SESSION')
config.redis_host = ENV.fetch("REDIS_PORT_6379_TCP_ADDR_SESSION")
end
28 changes: 14 additions & 14 deletions config/initializers/datadog_trace.rb
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
Datadog.configure do |c|
# Tracer
c.tracer hostname: ENV['DATADOG_HOST'],
port: ENV['DATADOG_PORT'],
tags: { app: ENV['PROJECT_NAME'] },
c.tracer hostname: ENV["DATADOG_HOST"],
port: ENV["DATADOG_PORT"],
tags: {app: ENV["PROJECT_NAME"]},
debug: false,
enabled: (ENV['DATADOG_TRACE'].to_s == 'true'),
enabled: (ENV["DATADOG_TRACE"].to_s == "true"),
env: Rails.env

# Rails
c.use :rails,
service_name: ENV['PROJECT_NAME'],
controller_service: "#{ENV['PROJECT_NAME']}-controller",
cache_service: "#{ENV['PROJECT_NAME']}-cache",
database_service: "#{ENV['PROJECT_NAME']}-db"
service_name: ENV["PROJECT_NAME"],
controller_service: "#{ENV["PROJECT_NAME"]}-controller",
cache_service: "#{ENV["PROJECT_NAME"]}-cache",
database_service: "#{ENV["PROJECT_NAME"]}-db"

# Redis
c.use :redis, service_name: "#{ENV['PROJECT_NAME']}-redis"
c.use :redis, service_name: "#{ENV["PROJECT_NAME"]}-redis"

# Sidekiq
c.use :sidekiq, service_name: "#{ENV['PROJECT_NAME']}-sidekiq"
c.use :sidekiq, service_name: "#{ENV["PROJECT_NAME"]}-sidekiq"

# Net::HTTP
c.use :http, service_name: "#{ENV['PROJECT_NAME']}-http"
c.use :http, service_name: "#{ENV["PROJECT_NAME"]}-http"
end

# skipping the health check: if it returns true, the trace is dropped
Datadog::Pipeline.before_flush(Datadog::Pipeline::SpanFilter.new do |span|
span.name == 'rack.request' && span.get_tag('http.url') == '/monitors/lb'
end)
Datadog::Pipeline.before_flush(Datadog::Pipeline::SpanFilter.new { |span|
span.name == "rack.request" && span.get_tag("http.url") == "/monitors/lb"
})
Loading