README.md in aaf-gumboot-1.0.0.pre.alpha.2 vs README.md in aaf-gumboot-1.1.0

- old
+ new

@@ -22,11 +22,11 @@ Gumboot sloshes through these **muddy** topics for AAF applications, bringing down swift justice where it finds problems. ![](http://i.imgur.com/XP4Yw6e.jpg) ``` -Copyright 2014-2015, Australian Access Federation +Copyright 2014-2017, Australian Access Federation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -44,11 +44,11 @@ 1. `rapidconnect.yml` Generate a secret to use with Rapid Connect with the following: - $> tr -dc '[[:alnum:][:punct:]]' < /dev/urandom | head -c32 ;echo + $> LC_CTYPE=C tr -dc '[[:alnum:][:punct:]]' < /dev/urandom | head -c32 ;echo Access [https://rapid.test.aaf.edu.au](https://rapid.test.aaf.edu.au) and register using your secret created above and the callback URL of `http://localhost:8080/auth/jwt` Upon successful registration you cannot simply use the URL Rapid Connect provides by team. Request one of the team change your registration to be of the type `AU Research`. They can then provide you the appropriate URL to enter below. @@ -98,43 +98,47 @@ ## Gems The way we build ruby applications has tried to be standardised as much as possible at a base layer. You're likely going to want all these Gems in your Gemfile for a Rails app or a considerable subset of them for a non Rails app. ```ruby -gem 'rails', '4.2.3' # Ensure latest release gem 'mysql2' +gem 'rails', '>= 5.0.0', '< 5.1' # Ensure latest release -gem 'valhammer' +gem 'aaf-secure_headers' +gem 'aaf-lipstick' gem 'accession' +gem 'valhammer' -gem 'puma', require: false gem 'god', require: false +gem 'puma', require: false -group :development, :test do - gem 'rspec-rails', '~> 3.3.0' - gem 'shoulda-matchers' +gem 'local_time' +gem 'rails_admin' +gem 'rails_admin_aaf_theme' + +group :development, :test do + gem 'aaf-gumboot' + gem 'bullet' + gem 'database_cleaner' gem 'factory_girl_rails' gem 'faker' - gem 'timecop' - gem 'database_cleaner' - - gem 'rubocop', require: false - gem 'simplecov', require: false - - gem 'capybara', require: false - gem 'poltergeist', require: false - gem 'phantomjs', require: 'phantomjs/poltergeist' - gem 'guard', require: false + gem 'guard-brakeman', require: false gem 'guard-bundler', require: false - gem 'guard-rubocop', require: false gem 'guard-rspec', require: false - gem 'guard-brakeman', require: false + gem 'guard-rubocop', require: false + gem 'pry' + gem 'rails-controller-testing' + gem 'rspec-rails', '~> 3.5.0.beta4' + gem 'rubocop', require: false + gem 'shoulda-matchers' + gem 'simplecov', require: false gem 'terminal-notifier-guard', require: false - - gem 'aaf-gumboot' + gem 'timecop' + gem 'web-console', '~> 2.0', require: false + gem 'webmock', require: false end ``` Execute: @@ -164,32 +168,12 @@ ### Rubocop Add a Rubocop config file `.rubocop.yml`: ``` -AllCops: - TargetRubyVersion: 2.3 - Exclude: - - db/schema.rb - -Rails: - Enabled: true - -Rails/Output: - Exclude: - - db/seeds.rb - -Style/Documentation: - Enabled: false - -Metrics/MethodLength: - Exclude: - - db/migrate/*.rb - -Metrics/AbcSize: - Exclude: - - db/migrate/*.rb +inherit_gem: + aaf-gumboot: aaf-rubocop.yml ``` ### Simplecov Add a simplecov config file `.simplecov`: @@ -244,10 +228,11 @@ #### Gemfile Add the following gem to your Gemfile in the default group: ``` ruby gem 'rapid-rack' +gem 'super-identity' ``` Execute: $ bundle @@ -275,10 +260,11 @@ # frozen_string_literal: true module Authentication class SubjectReceiver include RapidRack::DefaultReceiver include RapidRack::RedisRegistry + include SuperIdentity::Client def map_attributes(_env, attrs) {} end @@ -434,10 +420,12 @@ require 'rails_helper' require 'gumboot/shared_examples/database_schema' RSpec.describe 'Database Schema' do let(:connection) { ActiveRecord::Base.connection.raw_connection } + # Use the following (as an example) for column based exemptions + let(:collation_exemptions) { { table_name: %i[column_name] } } include_context 'Database Schema' end ``` @@ -759,10 +747,12 @@ **TODO** ## Controllers -AAF applications must utilise controllers which default to verifying authentication and access control on every request. This can be changed as implementations require to be publicly accessible for example but must be explicitly configured in code to make it clear to all. +AAF applications must utilise controllers which default to verifying authentication +and access control on every request. This can be changed as implementations require +to be publicly accessible for example but must be explicitly configured in code to make it clear to all. ##### Rails 4.x See `spec/dummy/app/controllers/application_controller.rb` for the implementation this example is based on ``` ruby