Sha256: 9136d93523fb4c42677de07e2c9e10766c53c96ead6b47ce70d520f2965a8d7f

Contents?: true

Size: 738 Bytes

Versions: 9

Compression:

Stored size: 738 Bytes

Contents

# frozen_string_literal: true

module Orthoses
  module ActiveRecord
    # def has_secure_token(attribute = :token, length: MINIMUM_TOKEN_LENGTH)
    class SecureToken
      def initialize(loader)
        @loader = loader
      end

      def call
        has_secure_token = CallTracer::Lazy.new
        store = has_secure_token.trace('ActiveRecord::SecureToken::ClassMethods#has_secure_token') do
          @loader.call
        end

        has_secure_token.captures.each do |capture|
          base_name = Utils.module_name(capture.method.receiver) or next
          attribute = capture.argument[:attribute]

          store[base_name] << "def regenerate_#{attribute}: () -> bool"
        end

        store
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
orthoses-rails-1.8.1 lib/orthoses/active_record/secure_token.rb
orthoses-rails-1.8.0 lib/orthoses/active_record/secure_token.rb
orthoses-rails-1.7.0 lib/orthoses/active_record/secure_token.rb
orthoses-rails-1.6.0 lib/orthoses/active_record/secure_token.rb
orthoses-rails-1.5.0 lib/orthoses/active_record/secure_token.rb
orthoses-rails-1.4.0 lib/orthoses/active_record/secure_token.rb
orthoses-rails-1.3.0 lib/orthoses/active_record/secure_token.rb
orthoses-rails-1.2.0 lib/orthoses/active_record/secure_token.rb
orthoses-rails-1.1.0 lib/orthoses/active_record/secure_token.rb