Sha256: 0123761dd9a432c9642008fa8a0088705baac74168dc4594afcbcce5248c266d

Contents?: true

Size: 949 Bytes

Versions: 1

Compression:

Stored size: 949 Bytes

Contents

module Doorkeeper
  module Orm
    module Sequel
      module SequelCompat
        extend ActiveSupport::Concern

        # ActiveRecord methods used by Doorkeeper outside the ORM.
        # Should be extracted at the architectural level.
        included do
          plugin :active_model

          self.raise_on_save_failure = false

          def update_attribute(column, value)
            self[column] = value
            save(columns: [column.to_sym], validate: false)
          end

          def update_attributes(*args)
            update(*args)
          end

          def save!(*)
            save(raise_on_failure: true)
          end

          def transaction(opts = {}, &block)
            db.transaction(opts, &block)
          end
        end

        module ClassMethods
          def create!(values = {}, &block)
            new(values, &block).save(raise_on_failure: true)
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
doorkeeper-sequel-1.2.1 lib/doorkeeper/orm/sequel/models/concerns/sequel_compat.rb