CrSignals
Version, currently 0.1.01 version
- 0.1.0latestDec 27, 2019
github.com/firejox/CrSignals
A signals/slots library in Crystal
10 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
CrSignals:
github: firejox/CrSignals
version: ~> 0.1.0Then run:
shards installshard.yml
- Crystal
0.31.1- License
- MIT
- Author
- Firejox <firejox@gmail.com>
Dependencies
This version declares no dependencies.
README
# CrSignals 
CrSignals is a signals/slots library. You can define your signal/slot function, wire them and emit data.
## Installation
1. Add the dependency to your `shard.yml`:
```yaml
dependencies:
CrSignals:
github: firejox/CrSignals
```
2. Run `shards install`
## Usage
* Here is a basic example of CrSignals library.
```crystal
require "CrSignals"
class Foo
include CrSignals::Generator
property x : Int32 = 0
cr_signal value_change(Int32)
def set_x(v : Int32)
if @x != v
@x = v
value_change(v)
end
end
end
a = Foo.new
b = Foo.new
a.connect_value_change(->b.set_x(Int32))
a.set_x(3)
puts b.x # => 3
a.disconnect_value_change(->b.set_x(Int32))
a.set_x(4)
puts b.x # => 3
```
* If you operate with incorrect type, it will report a compile error.
```crystal
require "CrSignals"
class Foo
include CrSignals::Generator
property x : Int32 = 0
cr_signal value_change(Int32)
def set_x(v : Float64); end
end
a = Foo.new
b = Foo.new
a.connect_value_change(->b.set_x(Float64)) # compile error
```
## Contributing
1. Fork it (<https://github.com/firejox/CrSignals/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
## Contributors
- [Firejox](https://github.com/firejox) - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.1.0- Tagged
- Dec 27, 2019
- Commit
93f456ea6e50- Crystal
0.31.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/firejox/CrSignals
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 1