object-send
Version, currently 0.3.13 versions
- 0.3.1latestAug 9, 2019
- 0.3.0not indexedAug 9, 2019
- 0.2.0not indexedAug 9, 2019
github.com/j8r/crystal-object-send
Interpret a String to an Object method call
14 stars
0 dependents
License: ISC
Installation
# Add this to your shard.yml
dependencies:
object-send:
github: j8r/crystal-object-send
version: ~> 0.3.1Then run:
shards installshard.yml
- Crystal
- no constraint declared
- License
- ISC
- Author
- Julien Reichardt <mi@jrei.ch>
Dependencies
This version declares no dependencies.
README
# Crystal Object#send
[](https://cloud.drone.io/j8r/crystal-object-send)
[](https://en.wikipedia.org/wiki/ISC_license)
Interpret a String to an Object method call.
Similar to the Ruby's `Object#send`.
Here macros and the `Crystal::Parser` are used to build a pseudo interpreter.
## Disclaimer
There are lots of limitations, this library is mainly an experiment.
Usually you better avoid using it and interpret the string on your own. It would be more performant and safer.
## Installation
Add the dependency to your `shard.yml`:
```yaml
dependencies:
object-send:
github: j8r/crystal-object-send
```
## Examples
```cr
"abc".send "chars" #=> ['a', 'b', 'c']
"abc".send "lchop('a')" #=> "bc"
"abc".send "insert 1, 'z'" #=> "azbc"
2.send("+ 3") #=> 5
var = "first 2"
[0, 1, 3].send(var) #=> [0, 1]
[0, 1, 2].send("[-1]?") #=> eq 2
[0, 1, 2].send("[..]") #=> eq [0, 1, 2]
```
See more in the [specs](spec/object_send_spec.cr)
## License
Copyright (c) 2019 Julien Reichardt - ISC License
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.3.1- Tagged
- Aug 9, 2019
- Commit
a72947b442dc- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/j8r/crystal-object-send
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 13, 2026
- Synced
- Aug 13, 2026
- Versions
- 3