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