Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mamantoha/shards_spec
A shard.yml parser for the Crystal language
https://github.com/mamantoha/shards_spec
crystal hacktoberfest parser shards yaml
Last synced: 2 days ago
JSON representation
A shard.yml parser for the Crystal language
- Host: GitHub
- URL: https://github.com/mamantoha/shards_spec
- Owner: mamantoha
- License: mit
- Created: 2021-01-28T17:42:54.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-08-21T08:43:26.000Z (over 1 year ago)
- Last Synced: 2024-12-17T12:51:01.414Z (about 2 months ago)
- Topics: crystal, hacktoberfest, parser, shards, yaml
- Language: Crystal
- Homepage:
- Size: 22.5 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Shards::Spec
![Crystal CI](https://github.com/mamantoha/shards_spec/workflows/Crystal%20CI/badge.svg?branch=main)
[![GitHub release](https://img.shields.io/github/release/mamantoha/shards_spec.svg)](https://github.com/mamantoha/shards_spec/releases)A `shard.yml` parser for the Crystal language.
This library was extracted from [shards](https://github.com/crystal-lang/shards) version `0.10.0`.
## Installation
1. Add the dependency to your `shard.yml`:
```yaml
dependencies:
shards_spec:
github: mamantoha/shards_spec
```2. Run `shards install`
## Usage
```crystal
require "shards_spec"str = <<-YAML
name: crest
version: 0.26.6authors:
- Anton Maminovdescription: |
HTTP and REST client for Crystalcrystal: ">= 0.36.0"
dependencies:
http-client-digest_auth:
github: mamantoha/http-client-digest_auth
version: ~> 0.6.0
http_proxy:
github: mamantoha/http_proxy
version: ~> 0.8.0development_dependencies:
kemal:
github: kemalcr/kemal
version: ~> 0.27.0
ameba:
github: crystal-ameba/amebalicense: MIT
YAMLspec = ShardsSpec::Spec.from_yaml(str)
spec.name
# crestputs spec.description
# HTTP and REST client for Crystalputs spec.crystal
# >= 0.36.0spec.version
# 0.26.6spec.dependencies.each do |dependency|
"#{dependency.name} | #{dependency.version}"
end
# http-client-digest_auth | ~> 0.6.0
# http_proxy | ~> 0.8.0spec.development_dependencies.each do |dependency|
"#{dependency.name} | #{dependency.version}"
end
# kemal | ~> 0.27.0
# ameba | *spec.authors.each do |author|
"#{author.name} | #{author.email}"
end
# => Anton Maminov | [email protected]spec.license
# => MIT
```## Contributing
1. Fork it ()
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
- [Anton Maminov](https://github.com/mamantoha) - creator and maintainer