Pigeon-Ruby/dist/pigeon.rb

65 lines
1.9 KiB
Ruby
Raw Normal View History

2019-09-25 01:31:32 +00:00
require "base64"
require "digest"
require "ed25519"
require "securerandom"
# Remove this when we launch or add ENVs:
require "pry"
2019-12-03 03:18:44 +00:00
module Pigeon
HEADER, FOOTER = ["@", ".ed25519"]
SEED_CONFIG_KEY = "SEED"
VERSION = "0.0.1"
TPL_DIR = "views"
PIGEON_DB_PATH = File.join("db.pigeon")
DEFAULT_BUNDLE_PATH = "./pigeon.bundle"
2019-12-03 03:18:44 +00:00
# MESSAGE TEMPLATE CONSTANTS:
HEADER_TPL = File.read(File.join(TPL_DIR, "1_header.erb")).sub("\n", "")
BODY_TPL = File.read(File.join(TPL_DIR, "2_body.erb")).sub("\n", "")
FOOTER_TPL = File.read(File.join(TPL_DIR, "3_footer.erb")).sub("\n", "")
COMPLETE_TPL = [HEADER_TPL, BODY_TPL, FOOTER_TPL].join("")
2019-12-11 03:52:43 +00:00
CURRENT_DRAFT = "HEAD.draft"
EMPTY_MESSAGE = "NONE"
OUTBOX_PATH = File.join(".pigeon", "user")
DRAFT_PLACEHOLDER = "DRAFT"
CR = "\n"
BUNDLE_MESSAGE_SEPARATOR = CR * 2
2019-12-03 03:18:44 +00:00
# /MESSAGE TEMPLATE CONSTANTS
# Internal namespaces for PStore keys:
ROOT_NS = ".pigeon"
CONF_NS = "conf"
BLOB_NS = "blobs"
PEER_NS = "peers"
USER_NS = "user"
BLCK_NS = "blocked"
2019-12-05 04:11:04 +00:00
MESG_NS = "messages"
DEPTH_INDEX_NS = "messages.by_depth"
2019-12-05 04:11:04 +00:00
2019-12-03 03:18:44 +00:00
# ^ Internal namespaces for PStore keys
2019-12-05 00:17:36 +00:00
BLOB_SIGIL = "&"
MESSAGE_SIGIL = "%"
2019-12-05 00:17:36 +00:00
IDENTITY_SIGIL = "@"
STRING_SIGIL = "\""
2019-12-03 03:18:44 +00:00
BLOB_FOOTER = ".sha256"
SIG_FOOTER = ".sig.ed25519"
2019-12-30 02:16:42 +00:00
# Error messages
PREV_REQUIRES_SAVE = "Can't fetch `prev` on unsaved messages"
NO_DRAFT_FOUND = "NO DRAFT FOUND"
STRING_KEYS_ONLY = "String keys only"
MISSING_BODY = "BODY CANT BE EMPTY"
2019-12-03 03:18:44 +00:00
end
2019-09-22 02:30:03 +00:00
require_relative File.join("pigeon", "key_pair.rb")
require_relative File.join("pigeon", "storage.rb")
require_relative File.join("pigeon", "draft_serializer.rb")
require_relative File.join("pigeon", "message_serializer.rb")
require_relative File.join("pigeon", "message.rb")
require_relative File.join("pigeon", "draft.rb")
2020-03-18 12:32:40 +00:00
require_relative File.join("pigeon", "lexer.rb")
require_relative File.join("pigeon", "bundle.rb")