module OO::LicenceCheckers

Public Class Methods

included(base) click to toggle source
# File lib/oo/licence_checkers.rb, line 3
def self.included(base)
  base.class_eval do
    def licensed?(attrs = {})
      user = attrs.fetch(:user, licence_checkers_default_user)
      key = attrs.fetch(:to, licence_checkers_default_key)
      user.licensed?(to: key)
    end

    def check_licence!(attrs = {})
      user = attrs.fetch(:user, licence_checkers_default_user)
      key = attrs.fetch(:to, licence_checkers_default_key)
      licence_missing_reaction.call(key, user) unless licensed?(user: user,
                                                                to: key)
    end

    private

    def licence_checkers_default_user
      OO.configuration.licence_checkers_default_user.call(self)
    end

    def licence_checkers_default_key
      OO.configuration.licence_checkers_default_key.call(self)
    end

    def licence_missing_reaction
      OO.configuration.licence_missing_reaction
    end
  end
end

Public Instance Methods

check_licence!(attrs = {}) click to toggle source
# File lib/oo/licence_checkers.rb, line 11
def check_licence!(attrs = {})
  user = attrs.fetch(:user, licence_checkers_default_user)
  key = attrs.fetch(:to, licence_checkers_default_key)
  licence_missing_reaction.call(key, user) unless licensed?(user: user,
                                                            to: key)
end
licence_checkers_default_key() click to toggle source
# File lib/oo/licence_checkers.rb, line 24
def licence_checkers_default_key
  OO.configuration.licence_checkers_default_key.call(self)
end
licence_checkers_default_user() click to toggle source
# File lib/oo/licence_checkers.rb, line 20
def licence_checkers_default_user
  OO.configuration.licence_checkers_default_user.call(self)
end
licence_missing_reaction() click to toggle source
# File lib/oo/licence_checkers.rb, line 28
def licence_missing_reaction
  OO.configuration.licence_missing_reaction
end
licensed?(attrs = {}) click to toggle source
# File lib/oo/licence_checkers.rb, line 5
def licensed?(attrs = {})
  user = attrs.fetch(:user, licence_checkers_default_user)
  key = attrs.fetch(:to, licence_checkers_default_key)
  user.licensed?(to: key)
end