github.com/nicolab/crystal-prop

Properties utilities for Crystal lang (improved getter, IoC, factory, ...).

6 stars
2 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  prop:
    github: nicolab/crystal-prop
    version: ~> 0.7.1

Then run:

shards install

shard.yml

Crystal
>= 0.36.1
License
MIT
Author
Nicolas Talle
Target
  • prop from src/prop.cr

Dependencies

Development Dependencies

  • ameba~> 0.14.2github: crystal-ameba/amebadev
  • testify~> 1.0.1github: Nicolab/crystal-testifydev

README

Prop

CI Status GitHub release Docs

Properties utilities for Crystal lang.

Mixin module that should be included in a class or a struct. This module improves the std's accessor macros (getter, getter!, getter?, property, ...). It provide a kind of IoC (Inversion Of Control).

Installation

  1. Add the dependency to your shard.yml:
   dependencies:
     prop:
       github: nicolab/crystal-prop
  1. Run shards install

Usage

📘 API doc.

If you are looking for a validator to validate data before instantiating a class or a struct, you may be interested by validator. This validator shard uses Prop internally to define and handle validation rules on each instance variable.

Development

Install dev dependencies:

shards install

Run:

crystal spec

Clean before commit:

crystal tool format
./bin/ameba

Contributing

  1. Fork it (https://github.com/Nicolab/crystal-prop/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

LICENSE

MIT (c) 2021, Nicolas Talle.

Author

Nicolas Tallefourtane - Nicolab.net
Nicolas Talle
Make a donation via Paypal