diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 2d622f5..a349ff5 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -9,16 +9,19 @@ jobs: deploy_docs: runs-on: ubuntu-latest container: - image: crystallang/crystal + image: crystallang/crystal:latest-alpine steps: + - name: Install Build Dependencies + run: apk add --update rsync - uses: actions/checkout@v2 - name: Install Dependencies run: shards install --production - name: Build run: crystal docs lib/athena-config/src/athena-config.cr src/athena-serializer.cr - name: Deploy - uses: JamesIves/github-pages-deploy-action@2.0.3 - env: + uses: JamesIves/github-pages-deploy-action@3.6.1 + with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} BRANCH: gh-pages FOLDER: docs + SINGLE_COMMIT: true diff --git a/shard.yml b/shard.yml index c1362cd..656c5b4 100644 --- a/shard.yml +++ b/shard.yml @@ -1,6 +1,6 @@ name: athena-serializer -version: 0.2.0 +version: 0.2.1 crystal: 0.35.0 diff --git a/src/any.cr b/src/any.cr index e1ed38d..72f7dd8 100644 --- a/src/any.cr +++ b/src/any.cr @@ -14,7 +14,7 @@ module Athena::Serializer::Any abstract def as_a abstract def as_a? abstract def is_nil? : Bool - abstract def dig(key, *keys) + abstract def dig(key_or_index : String | Int, *keys) abstract def raw end diff --git a/src/navigators/deserialization_navigator.cr b/src/navigators/deserialization_navigator.cr index ec30cd2..b4a5be2 100644 --- a/src/navigators/deserialization_navigator.cr +++ b/src/navigators/deserialization_navigator.cr @@ -1,5 +1,5 @@ module Athena::Serializer::Navigators::DeserializationNavigatorInterface - abstract def accept(type, data : ASR::Any) + abstract def accept(type : T.class, data : ASR::Any) forall T end struct Athena::Serializer::Navigators::DeserializationNavigator