Sha256: 8eb39fd5e80e14c862d3bbcdea5e98a6d52883dc0ffff38eddb504d5d59ca1b4

Contents?: true

Size: 852 Bytes

Versions: 1

Compression:

Stored size: 852 Bytes

Contents

#
# AUTO GENERATED MODEL
# This model was auto generated by the CanvasSync Gem.
# You can customize it as needed, but make sure you test
# any changes you make to the auto generated methods.
#


class Role < ApplicationRecord
  validates :canvas_id, uniqueness: true, presence: true
  has_many :admins, foreign_key: :canvas_role_id, primary_key: :canvas_id

  def self.create_or_update(role_params)
    role = Role.find_or_initialize_by(canvas_id: role_params['id'])

    role.assign_attributes(label: role_params['label'],
                           base_role_type: role_params['base_role_type'],
                           account: role_params['account'],
                           permissions: role_params['permissions'],
                           workflow_state: role_params['workflow_state'])

    role.save! if role.changed?
    role
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
canvas_sync-0.10.0 spec/dummy/app/models/role.rb