crystal_plus
Crystal Plus
An extension of the Crystal standard library.
Installation
Add this to your application's shard.yml
:
dependencies:
crystal_plus:
github: mosop/crystal_plus
NamedTuple
#to_h?
def test_to_h(**options)
options.to_h
end
test_to_h # compile error
require "cyrstal_plus/named_tuple/#to_h?"
def test_to_h?(**options)
options.to_h?
end
test_to_h? # => nil
#merge
require "cyrstal_plus/named_tuple/#merge"
def merge(tuple, **options)
tuple.merge(options)
end
def reverse_merge(tuple, **options)
options.merge(tuple)
end
smile = {face: ":)"}
frown = {face: ":("}
other = {other: ":P"}
merge(smile).should # => {face: ":)"}
merge(smile, **frown) # => {face: ":("}
merge(smile, **other) # => ArgumentError
reverse_merge(smile) # => ArgumentError
Contributing
- Fork it ( https://github.com/mosop/crystal_plus/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
- mosop - creator, maintainer