From cc12b91d53857529f0a9a290e1d68ff2739f44c4 Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Sat, 18 Apr 2020 13:18:00 -0500 Subject: [PATCH] v0.0.4 doc updates --- .gitignore | 1 + README.md | 15 ++++++++------- bin/pigeon-cli | 3 ++- pigeon-0.0.4.gem | Bin 12800 -> 12800 bytes 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index f28a92d..e4e35ce 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ coverage/ doc/ *scratchpad* pigeon.bundle +*.gem diff --git a/README.md b/README.md index 32422a1..550bdfc 100644 --- a/README.md +++ b/README.md @@ -6,23 +6,24 @@ This is a WIP [Pigeon Protocol] client written in Ruby. # Installation -This is a pre-release skeleton project. There is no gem yet. The gem will be released after we are fully compliant with the spec and have high test coverage stats. +We are not yet on Rubygems. The gem will be released after we are fully compliant with the spec and have high test coverage stats. In the meantime: ``` git clone https://tildegit.org/PigeonProtocolConsortium/pigeon_ruby.git cd pigeon_ruby -bundle install -./pigeon-cli # Should work. Raise issue if not. +gem build pigeon.gemspec +gem install pigeon-0.0.4.gem +pigeon-cli identity new # Should work. Raise issue if not. +pigeon-cli status +pigeon-cli help ``` # Usage: CLI -We provide a CLI wrapper as `pigeon-cli`. -Help is provided by running `./pigeon-cli`. - -See `kitchen_sink.sh` for an example of all commands. +See `pigeon-cli help` for documentation. +See `kitchen_sink.sh` examples. # Usage: Ruby Lib diff --git a/bin/pigeon-cli b/bin/pigeon-cli index 5651ecc..9b8844f 100755 --- a/bin/pigeon-cli +++ b/bin/pigeon-cli @@ -7,7 +7,8 @@ def db if File.file?(Pigeon::PIGEON_DB_PATH) $db ||= Pigeon::Database.new else - raise "ERROR: You need to create a database file first." + STDERR.puts("You must first run `pigeon-cli identity new`.") + exit 1 end end diff --git a/pigeon-0.0.4.gem b/pigeon-0.0.4.gem index 30f6aac4830aef94d38ed3828ee9f1f0533185f4..1f4a9bbfac2dcbfa899d0d3fd88665ec6a9d2da2 100644 GIT binary patch delta 8999 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 BpymJo delta 9002 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 DTf?dW