class Scimitar::Engine

Public Class Methods

add_custom_resource(resource) click to toggle source

Can be used to add a new resource type which is not provided by the gem. For example:

module Scim
  module Resources
    class ShinyResource < Scimitar::Resources::Base
      set_schema Scim::Schema::Shiny

      def self.endpoint
        "/Shinies"
      end
    end
  end
end

Scimitar::Engine.add_custom_resource Scim::Resources::ShinyResource
# File lib/scimitar/engine.rb, line 32
def self.add_custom_resource(resource)
  custom_resources << resource
end
custom_resources() click to toggle source

Returns the list of custom resources, if any.

# File lib/scimitar/engine.rb, line 45
def self.custom_resources
  @custom_resources ||= []
end
default_resources() click to toggle source

Returns the default resources added in this gem:

  • Scimitar::Resources::User

  • Scimitar::Resources::Group

# File lib/scimitar/engine.rb, line 54
def self.default_resources
  [ Resources::User, Resources::Group ]
end
reset_custom_resources() click to toggle source

Resets the resource list to default. This is really only intended for use during testing, to avoid one test polluting another.

# File lib/scimitar/engine.rb, line 39
def self.reset_custom_resources
  @custom_resources = []
end
resources() click to toggle source
# File lib/scimitar/engine.rb, line 11
def self.resources
  default_resources + custom_resources
end
schemas() click to toggle source
# File lib/scimitar/engine.rb, line 58
def self.schemas
  resources.map(&:schemas).flatten.uniq.map(&:new)
end