lucille
Version, currently 1.1.128 versions
- 1.6.0latestSep 23, 2026
- 1.5.1Sep 2, 2026
- 1.5.0not indexedSep 2, 2026
- 1.4.1Jun 5, 2025
- 1.4.0not indexedAug 9, 2026
- 1.3.1not indexedAug 9, 2026
- 1.3.0not indexedAug 9, 2026
- 1.2.2not indexedAug 9, 2026
- 1.2.1not indexedAug 9, 2026
- 1.2.0not indexedAug 9, 2026
- 1.1.3not indexedAug 9, 2026
- 1.1.2not indexedAug 9, 2026
- 1.1.1not indexedAug 9, 2026
- 1.1.0not indexedAug 9, 2026
- 1.0.1not indexedAug 9, 2026
- 1.0.0not indexedAug 9, 2026
- 0.11.1not indexedAug 9, 2026
- 0.11.0not indexedAug 9, 2026
- 0.10.0not indexedAug 9, 2026
- 0.9.0not indexedAug 9, 2026
- 0.8.0not indexedAug 9, 2026
- 0.7.0not indexedAug 9, 2026
- 0.6.0not indexedAug 9, 2026
- 0.5.0not indexedAug 9, 2026
- 0.4.0not indexedAug 9, 2026
- 0.3.0not indexedAug 9, 2026
- 0.2.0not indexedAug 9, 2026
- 0.1.0not indexedAug 9, 2026
github.com/GrottoPress/lucille
Utilities for Lucky framework
Nothing has been indexed for 1.1.1 yet. The tag is recorded, its shard.yml has not been read, so the manifest and dependency list below are empty because they are unknown rather than because they are absent.
Installation
# Add this to your shard.yml
dependencies:
lucille:
github: GrottoPress/lucille
version: ~> 1.1.1Then run:
shards installshard.yml
No shard.yml has been indexed for 1.1.1. You can read it on the repository.
Dependencies
Unknown: the shard.yml for this version has not been read yet.
README
This README is the one indexed from the repository at its latest ref, not from the tag for this version.
Lucille
Lucille is a collection of utilities for Lucky framework. It includes many custom validations for Avram operations, and several helper types and methods for use in app development and specs.
Installation
-
Add the dependency to your
shard.yml:dependencies: lucille: github: GrottoPress/lucille -
Run
shards update -
Require Lucille in your app:
# ... require "lucille" # <= Or you may require only the components you need: # <= `require "lucille/avram"` # <= `require "lucille/carbon"` # <= `require "lucille/lucky"` # For specs: # # require "lucille/spec" # # Or require only the components you need: # # require "lucille/spec/avram" # require "lucille/spec/carbon" # require "lucille/spec/lucky" # ...
Utilities
Avram
-
Macros
string_enum: Creates an Avram adapter that saves enums to the database asString
-
Validations
.validate_email.validate_domain.validate_domain_label.validate_foreign_key.validate_http_url.validate_ip.validate_ip4.validate_ip6.validate_name.validate_negative_number.validate_not_pwned.validate_positive_number.validate_slug.validate_url.validate_unicode_name.validate_username
-
Models (Data)
Lucille::JSONLucille::StatusColumnsLucille::SuccessStatusColumns
-
Models (Domain)
RecordStatusSuccessStatus
-
Operations
Lucille::ActivateLucille::DeactivateLucille::SetUserIdFromUserLucille::UserFromUserIdLucille::ValidateStatusLucille::ValidateUserExists
-
Queries
Lucille::StatusQueryLucille::SuccessStatusQuery
-
Criteria
String::Lucky::Criteria#search
Carbon
-
Mixins
MailHelpers: Includes helpers for working with Carbon mails
Lucky
-
Actions
Lucille::ActionHelpers
-
Annotations
Memoize: Invokes Lucky's.memoizemacro
-
Serializers
Lucille::Serializer: It's amodule, so you can create serializer withstructs.
-
Query Filters
Lucille::QueryFilter: Allows filtering queries based on request parameters
-
Response Filters
Lucille::ResponseFilter: Enables GraphQL-like filtering of responses based on request parameters
-
Preloaders
Lucille::Preloader: Allows preloading associations based on request parameters
Spec
-
Avram
#have_error: Spec expectation that asserts the validity of an attribute#fake_params: Creates params
-
Carbon
DevDeliverLaterStrategy: Delivers mail immediately, in the current fiber.
-
Lucky
#fake_file: Creates an uploaded file#fake_form: Create form params#fake_json: Creates JSON params#fake_multipart: Creates multipart params
I18n
Lucille uses Rex for i18n. See https://github.com/GrottoPress/rex.
Use the following as a guide to set up translations:
en:
operation:
error:
active_at_required: Active time is required
inactive_at_earlier: Inactive time cannot be earlier than active time
user_not_found: User does not exist
Development
Create a .env file:
DATABASE_URL='postgres://postgres:password@localhost:5432/lucille_spec'
Update the file with your own details. Then run tests with crystal spec.
Contributing
- Fork it
- Switch to the
masterbranch:git checkout master - Create your feature branch:
git checkout -b my-new-feature - Make your changes, updating changelog and documentation as appropriate.
- Commit your changes:
git commit - Push to the branch:
git push origin my-new-feature - Submit a new Pull Request against the
GrottoPress:masterbranch.
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
1.1.1- Tagged
- Aug 9, 2026
- Commit
5df601f66295- Indexed
- not yet
Dependents
Repository
github.com/GrottoPress/lucille
Metadata
- Created
- Aug 12, 2026
- Updated
- Sep 24, 2026
- Synced
- Sep 24, 2026
- Versions
- 28