Skip to content
Open
Show file tree
Hide file tree
Changes from 8 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
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
language: ruby
cache: bundler
rvm:
- 3.1
- 3.0
- 2.7
- 2.6
gemfile:
- Gemfile
- gemfiles/rails_5.gemfile
- gemfiles/rails_6.gemfile
- gemfiles/rails_6.1.gemfile
- gemfiles/rails_7.gemfile

before_script:
- bin/rails db:migrate RAILS_ENV=test
before_install:
Expand Down
4 changes: 4 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@ end
appraise "rails-6.1" do
gem "rails", "~> 6.1"
end

appraise "rails-7" do
gem "rails", "~> 7.0"
end
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ gemspec
# Git. Remember to move these dependencies to your gemspec before releasing
# your gem to rubygems.org.

gem "rails", "~> 6.1", ">= 6.0"
gem "rails", ">= 6.1"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

gem 'pry', group: [:development, :test]
10 changes: 7 additions & 3 deletions app/controllers/scim_rails/scim_users_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ def create
end

def show
user = @company.public_send(ScimRails.config.scim_users_scope).find(params[:id])
user = find_user
json_scim_response(object: user)
end

def put_update
user = @company.public_send(ScimRails.config.scim_users_scope).find(params[:id])
user = find_user
update_status(user) unless put_active_param.nil?
user.update!(permitted_user_params)
json_scim_response(object: user)
Expand All @@ -57,13 +57,17 @@ def put_update
# TODO: PATCH will only deprovision or reprovision users.
# This will work just fine for Okta but is not SCIM compliant.
def patch_update
user = @company.public_send(ScimRails.config.scim_users_scope).find(params[:id])
user = find_user
update_status(user)
json_scim_response(object: user)
end

private

def find_user
@company.public_send(ScimRails.config.scim_users_scope).find(params[:id])
end

def permitted_user_params
ScimRails.config.mutable_user_attributes.each.with_object({}) do |attribute, hash|
hash[attribute] = find_value_for(attribute)
Expand Down
8 changes: 8 additions & 0 deletions gemfiles/rails_7.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "rails", "~> 7.0"
gem "pry", group: [:development, :test]

gemspec path: "../"
2 changes: 1 addition & 1 deletion lib/scim_rails/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module ScimRails
VERSION = "0.4.0"
VERSION = "0.4.1"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

end
6 changes: 3 additions & 3 deletions scim_rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ Gem::Specification.new do |s|

s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.md"]

s.required_ruby_version = "~> 2.4"
s.add_dependency "rails", ">= 5.0", "< 6.2"
s.required_ruby_version = ">= 2.4"
s.add_dependency "rails", ">= 6.0", "<= 7.1"
s.add_runtime_dependency "jwt", ">= 1.5"
s.test_files = Dir["spec/**/*"]

s.add_development_dependency "appraisal"
s.add_development_dependency "bundler", "~> 2.0"
s.add_development_dependency "factory_bot_rails"
s.add_development_dependency "rake", "~> 13.0"
s.add_development_dependency "rspec-rails", "~> 5.0"
s.add_development_dependency "rspec-rails", "~> 6.0"
s.add_development_dependency "sqlite3", "~> 1.3", "< 1.5"
end
2 changes: 1 addition & 1 deletion spec/dummy/config/initializers/assets.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Be sure to restart your server when you modify this file.

# Version of your assets, change this if you want to expire all your assets.
Rails.application.config.assets.version = '1.0'
#Rails.application.config.assets.version = '1.0'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Layout/LeadingCommentSpace: Missing space after #.


# Add additional assets to the asset load path
# Rails.application.config.assets.paths << Emoji.images_path
Expand Down
30 changes: 15 additions & 15 deletions spec/dummy/db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,32 @@
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
# This file is the source Rails uses to define your schema when running `bin/rails
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Metrics/LineLength: Line is too long. [82/80]

# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Metrics/LineLength: Line is too long. [84/80]

# be faster and is potentially less error prone than running all of your
# migrations from scratch. Old migrations may fail to apply correctly if those
# migrations use external dependencies or application code.
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20181206184313) do
ActiveRecord::Schema.define(version: 2018_12_06_184313) do
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/NumericLiterals: Use underscores(_) as decimal mark and separate every 3 digits with them.


create_table "companies", force: :cascade do |t|
t.string "name", null: false
t.string "subdomain", null: false
t.string "api_token", null: false
t.string "name", null: false
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

t.string "subdomain", null: false
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

t.string "api_token", null: false
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end

create_table "users", force: :cascade do |t|
t.string "first_name", null: false
t.string "last_name", null: false
t.string "email", null: false
t.integer "company_id"
t.string "first_name", null: false
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

t.string "last_name", null: false
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

t.string "email", null: false
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

t.integer "company_id"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

t.datetime "archived_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.datetime "created_at", null: false
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

t.datetime "updated_at", null: false
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

end

end