Go to file
Netscape Navigator f94200750b Add example bundle 2020-03-16 08:07:03 -05:00
dist Add `message find` and `message find-all` (local user only - find-all for peers 🔜) 2020-03-15 13:51:20 -05:00
spec Fix CLI. Add trailing CR to bundles 2020-03-15 12:32:41 -05:00
views Remove superfluous whitespace. Add scratchpad* to ignore. 2020-03-09 08:07:55 -05:00
.gitignore We have BUNDLE CREATION 🎉 🎉 🎉 2020-03-15 11:51:13 -05:00
.rspec Coo... coo... 2019-09-21 21:30:03 -05:00
Gemfile === BEGIN FILESYSTEM REMOVAL === 2019-11-26 19:46:50 -06:00
Gemfile.lock === BEGIN FILESYSTEM REMOVAL === 2019-11-26 19:46:50 -06:00
README.md Add `message find` and `message find-all` (local user only - find-all for peers 🔜) 2020-03-15 13:51:20 -05:00
TODO.md Update spec, begin message implementation 2019-10-12 14:43:27 -05:00
example.bundle Add example bundle 2020-03-16 08:07:03 -05:00
logo.png Add logo 2019-10-09 19:32:54 -05:00
pigeon-cli Add `message find` and `message find-all` (local user only - find-all for peers 🔜) 2020-03-15 13:51:20 -05:00
scratch_pad Fix CLI. Add trailing CR to bundles 2020-03-15 12:32:41 -05:00
scratchpad.jpg Cleanup and test scripts. TODO: Why does blocking not delete previous peers? 2019-09-24 20:19:25 -05:00
scratchpad.sh Add `message find` and `message find-all` (local user only - find-all for peers 🔜) 2020-03-15 13:51:20 -05:00
second_test Fix CLI. Add trailing CR to bundles 2020-03-15 12:32:41 -05:00

README.md

Pigeon Ruby

A WIP pigeon protocol client.

How to Use

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.

To get started, clone this repo and run ./pigeon-cli in place of pigeon.

Eg: pigeon identity show becomes ./pigeon-cli show.

Current Status

  • pigeon identity new
  • pigeon identity show
  • pigeon status
  • pigeon blob set
  • pigeon blob get
  • pigeon peer add
  • pigeon peer remove
  • pigeon peer block
  • pigeon peer all
  • 100% coverage
  • Convert ".sig.ed25519" literals to constants
  • Rename numerous "pigeon message ..." commands to "pigeon draft ..."
  • pigeon draft create
  • pigeon draft append
  • pigeon draft current
  • pigeon draft save
  • pigeon bundle create
  • Use JSON.stringify() for string keys (instead of inspect)
  • Move literals into Pigeon module as constants, again.
  • pigeon message find
  • pigeon message find-all for local feed.
  • pigeon message find-all for peer feed. I will need to add index for author => message_count
  • refactor Bundle.create to use message find-all.
  • pigeon bundle consume
  • add parsers and validators for all CLI inputs
  • Ensure all disks writes perform verification!
  • Remove all .current "singletons" / hacks
  • 100% documentation
  • Validate inputs for Draft#[]=.
  • Update spec to look like this
  • Reduce whole darn repo into single module to aide portability. Maybe a second ::Support module is OK.
  • Add Lipmaa links like the Bamboo folks do.
  • Publish a RubyGem
  • Performance benchmarks
  • Performance tuning (DO THIS LAST!)

Idea Bin

  • Map/reduce plugin support for custom indices?
  • Ability to add a blob in one swoop using File objects and Message#[]=, maybe?