davideccia/tic-tac

This is my package tic-tac

0.1.0 2025-03-13 20:58 UTC

This package is auto-updated.

Last update: 2025-03-13 21:22:55 UTC


README

Tic Tac

An expirations management tool for your Laravel models.

Warning

This package is still in development, usage in production is not recommended.

Installation

composer require davideccia/tic-tac

Usage

Model setup

Implement the Expirable interface in your model:

use Davideccia\TicTac\Contracts\Expirable;

class WhateverCanExpire extends Model implements Expirable
{
    // ...
}

Then add the InteractsWithExpirations trait to your model:

use Davideccia\TicTac\Contracts\Expirable;
use Davideccia\TicTac\Traits\InteractsWithExpirations;

class WhateverCanExpire extends Model implements Expirable
{
    use InteractsWithExpirations;
}

Adding expirations

You can use the helper

tic_tac()
    ->for($whateverCanExpire)
    ->dueDate(now()->addDays(14))
    ->alertDate(now()->addDays(7))
    ->save();

Or the TicTac facade:

TicTac::for($whateverCanExpire)
    ->dueDate(now()->addDays(14))
    ->alertDate(now()->addDays(7))
    ->save();