Popularity
2.0
Declining
Activity
0.0
Stable
10
1
0
Programming language: Crystal
License: MIT License
Tags:
Misc
Latest version: v0.1.0
CrSignals alternatives and similar shards
Based on the "Misc" category.
Alternatively, view CrSignals alternatives based on common mentions on social networks and blogs.
-
sentry
Build/Runs your crystal application, watches files, and rebuilds/restarts app on file changes -
immutable
Thread-safe, persistent, immutable collections for the Crystal language -
crystagiri
An Html parser library for Crystal (like Nokogiri for Ruby) -
crz
Functional programming library for https://github.com/crystal-lang/crystal -
crystal-web-framework-stars
โญ๏ธ Web frameworks for Crystal, most starred on Github -
crystal-futures
Future type implementation for Crystal language -
cron_scheduler
Simple job scheduler with crontab patterns for Crystal Language. -
inflector.cr
Inflector shard for Crystal. A port of ActiveSupport::Inflector -
aasm.cr
:arrows_clockwise: Easy to use finite state machine for Crystal classes -
kreal
Kreal is a model sharing & RPC library built on and works with Kemal seamlessly. -
retriable.cr
Retriable.cr is a simple DSL to retry failed code blocks -
ulid
Universally Unique Lexicographically Sortable Identifier (ULID) in Crystal -
CrSerializer
Extensible annotation based serialization/deserialization library -
circuit_breaker
Implementation of the circuit breaker pattern in crystal -
burocracia.cr
๐ Zero-dependency Crystal shard to validate, generate and format Brazilian burocracias (CPF, CNPJ, CEP) -
wikicr
Wiki in crystal, using Markdown and Git, inspired by dokuwiki. Last features to build are pretty hard, if you have some time to help... :) -
m3u8
Generate and parse m3u8 playlists for HTTP Live Streaming (HLS) in Crystal. -
message_verifier.cr
Rails compatible MessageVerifier for Crystal-lang apps -
defined
This shard provides facilities for checking whether a constant exists at compile time, and for a variety of different conditional compilation options. Code can be conditionally compiled based on the existence of a constant, version number constraints, or whether an environment variable is set truthy or not.
WorkOS - The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Promo
workos.com
Do you think we are missing an alternative of CrSignals or a related project?
README
CrSignals
CrSignals is a signals/slots library. You can define your signal/slot function, wire them and emit data.
Installation
- Add the dependency to your
shard.yml
:
dependencies:
CrSignals:
github: firejox/CrSignals
- Run
shards install
Usage
- Here is a basic example of CrSignals library.
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.
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
- Fork it (https://github.com/firejox/CrSignals/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Firejox - creator and maintainer