Alumna
--- Solving a circular dependency --- RuleContext needs App and Service as types, but App/Service need Rule. Forward-declare them so context can compile.
Constants
VERSION = "0.5.9"
Class methods
cors(origins : Array(String) = ["*"], methods : Array(String) = ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"] of ::String, headers : Array(String) = ["Content-Type", "Authorization", "Accept"] of ::String, credentials : Bool = false, max_age : Int32 = 86400) : Rule
Sourcerate_limit(limit : Int32 = 100, window_seconds : Int32 = 60, key : Proc(RuleContext, String) = ->(ctx : RuleContext) do
ctx.remote_ip
end) : Rule
SourceInjects the current UTC timestamp into the specified fields of ctx.data.
Designed to be used with explicit method scopes (e.g., on: :create or on: :write).
DX Helper: Auto-cast common types to their AnyData equivalents
to_any(v : AnyData) : AnyData
Sourcevalidate(schema : Schema) : Rule
SourceMacros
hash
Helper macro to cleanly instantiate a Hash(String, AnyData)
without the of String => AnyData generic friction.
Nested types
- Alumna::AnyData
- Alumna::App
- Alumna::FieldDescriptor
- Alumna::FieldError
- Alumna::FieldType
- Alumna::Formats
- Alumna::Http
- Alumna::HttpOverrides
- Alumna::IndexDef
- Alumna::JsonHelper
- Alumna::MemoryAdapter
- Alumna::Orchestrator
- Alumna::Query
- Alumna::Rule
- Alumna::RuleContext
- Alumna::RulePhase
- Alumna::Ruleable
- Alumna::Schema
- Alumna::Service
- Alumna::ServiceError
- Alumna::ServiceMethod
- Alumna::ServiceResult
- Alumna::StoreType
- Alumna::Storeable
- Alumna::Testing
- Alumna::Unprovided