Sha256: f10b69a35bb9232d702a82095dab7006120100612dd4138ce47a95906e088b45
Contents?: true
Size: 896 Bytes
Versions: 2
Compression:
Stored size: 896 Bytes
Contents
# frozen_string_literal: true module CurrentSession # # session Method # class SessionMethod def self.new_class(methods) Class.new(self) do include methods end end def self.define(&block) Module.new do define_method(:find, &block) define_method(:create) {} define_method(:destroy) {} end end def initialize(request) @request = request end attr_reader :request # # @return User # def find fail NotImplementedError, "You must implement #{self.class}##{__method__}" end def create(user) fail NotImplementedError, "You must implement #{self.class}##{__method__}" end def destroy fail NotImplementedError, "You must implement #{self.class}##{__method__}" end def new_session_token SecureRandom.urlsafe_base64(128) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
current_session-0.1.8 | lib/current_session/session_method.rb |
current_session-0.1.7 | lib/current_session/session_method.rb |