Sha256: c3dc5a9c0833a30d94d645c232f61f98229e334e2378495fdfc81240590fa49a

Contents?: true

Size: 862 Bytes

Versions: 6

Compression:

Stored size: 862 Bytes

Contents

# typed: true
# frozen_string_literal: true

begin
  require "active_record"
rescue LoadError
  return
end

module Tapioca
  module Dsl
    module Compilers
      module Extensions
        module ActiveRecord
          attr_reader :__tapioca_delegated_types

          def delegated_type(role, types:, **options)
            @__tapioca_delegated_types ||= {}
            @__tapioca_delegated_types[role] = { types: types, options: options }

            super
          end

          attr_reader :__tapioca_secure_tokens

          def has_secure_token(attribute = :token, length: ::ActiveRecord::SecureToken::MINIMUM_TOKEN_LENGTH)
            @__tapioca_secure_tokens ||= []
            @__tapioca_secure_tokens << attribute

            super
          end

          ::ActiveRecord::Base.singleton_class.prepend(self)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
tapioca-0.11.4 lib/tapioca/dsl/extensions/active_record.rb
tapioca-0.11.3 lib/tapioca/dsl/extensions/active_record.rb
tapioca-0.11.2 lib/tapioca/dsl/extensions/active_record.rb
devcycle-ruby-server-sdk-2.0.0 vendor/bundle/ruby/3.0.0/gems/tapioca-0.11.1/lib/tapioca/dsl/extensions/active_record.rb
tapioca-0.11.1 lib/tapioca/dsl/extensions/active_record.rb
tapioca-0.11.0 lib/tapioca/dsl/extensions/active_record.rb