module OO::LicenseCheckers

Public Class Methods

included(base) click to toggle source
# File lib/oo/license_checkers.rb, line 3
def self.included(base)
  base.class_eval do
    helper_method(:licensed?) if defined?(Rails)

    def licensed?(attrs = {})
      user = attrs.fetch(:user, license_checkers_default_user)
      key = attrs.fetch(:to, license_checkers_default_key)
      user.licensed?(to: key)
    end

    def check_license!(attrs = {})
      user = attrs.fetch(:user, license_checkers_default_user)
      key = attrs.fetch(:to, license_checkers_default_key)
      license_missing_reaction.call(key, user) unless licensed?(user: user,
                                                                to: key)
    end

    private

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

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

    def license_missing_reaction
      OO.configuration.license_missing_reaction
    end
  end
end

Public Instance Methods

check_license!(attrs = {}) click to toggle source
# File lib/oo/license_checkers.rb, line 13
def check_license!(attrs = {})
  user = attrs.fetch(:user, license_checkers_default_user)
  key = attrs.fetch(:to, license_checkers_default_key)
  license_missing_reaction.call(key, user) unless licensed?(user: user,
                                                            to: key)
end
license_checkers_default_key() click to toggle source
# File lib/oo/license_checkers.rb, line 26
def license_checkers_default_key
  OO.configuration.license_checkers_default_key.call(self)
end
license_checkers_default_user() click to toggle source
# File lib/oo/license_checkers.rb, line 22
def license_checkers_default_user
  OO.configuration.license_checkers_default_user.call(self)
end
license_missing_reaction() click to toggle source
# File lib/oo/license_checkers.rb, line 30
def license_missing_reaction
  OO.configuration.license_missing_reaction
end
licensed?(attrs = {}) click to toggle source
# File lib/oo/license_checkers.rb, line 7
def licensed?(attrs = {})
  user = attrs.fetch(:user, license_checkers_default_user)
  key = attrs.fetch(:to, license_checkers_default_key)
  user.licensed?(to: key)
end