io.eezo.http.cli

Members list

Type members

Classlikes

object Commands

The http layer's commands, as library functions. The two rules of layer 1 (design/cli.md §4) apply: return values, never print; take what the command needs, not the process.

The http layer's commands, as library functions. The two rules of layer 1 (design/cli.md §4) apply: return values, never print; take what the command needs, not the process.

One command today. The database layer's are in io.eezo.db.cli.Commands, in the same shape, and the entry trait of each layer is the only front end that prints.

Attributes

Source
Commands.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Commands.type
final case class OrphanedPage(page: Action, pageRoute: String, target: Action, targetRoute: String)

io.eezo.http.Resource's Orphan, restated with cli owned visibility.

io.eezo.http.Resource's Orphan, restated with cli owned visibility.

Orphan itself is private[eezo], so a public result type cannot carry it; the fields are copied instead of the type being widened, because "a derived form page whose submit target is not mounted" is a warning eezo emits, not a vocabulary users build on.

Attributes

Source
Results.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Render

The text front end's rendering: result values in, String out, printing left to the caller.

The text front end's rendering: result values in, String out, printing left to the caller.

A separate object from Commands because it is one front end among several (RenderJson is the same shape over the same values), and because layer 1's rule is that nothing in Commands decides what a user sees.

Attributes

Source
Render.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Render.type
object RenderJson

The machine side of this layer's CLI: the same result values Render turns into text, as JSON. The format rules, and why the encoding is written by hand over Json rather than derived, are explained once on the db layer's RenderJson (io.eezo.db.cli.RenderJson) and hold here unchanged: a "command" discriminator on every object, and shapes that are a contract for tools.

The machine side of this layer's CLI: the same result values Render turns into text, as JSON. The format rules, and why the encoding is written by hand over Json rather than derived, are explained once on the db layer's RenderJson (io.eezo.db.cli.RenderJson) and hold here unchanged: a "command" discriminator on every object, and shapes that are a contract for tools.

Attributes

Source
RenderJson.scala
Supertypes
class Object
trait Matchable
class Any
Self type
RenderJson.type
final case class RouteListing(routes: Seq[Route], overridden: Seq[Route], shadowed: Seq[(Route, Route)], orphans: Seq[OrphanedPage])

The assembled table, with everything boot warns about: the derived routes handwritten ones replaced, the pairs where an earlier route swallows a later one, and the form pages whose submit target is not mounted.

The assembled table, with everything boot warns about: the derived routes handwritten ones replaced, the pairs where an earlier route swallows a later one, and the form pages whose submit target is not mounted.

Attributes

Source
Results.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all