Module: Kabk
- Defined in:
- lib/kabk.rb,
lib/kabk/field.rb,
lib/kabk/errors.rb,
lib/kabk/version.rb,
lib/kabk/registry.rb,
lib/kabk/resource.rb,
lib/kabk/validator.rb,
lib/kabk/concurrency.rb,
lib/kabk/rest_engine.rb,
lib/kabk/query_builder.rb,
lib/kabk/export_handler.rb,
lib/kabk/upload_handler.rb,
lib/kabk/schema_renderer.rb,
lib/kabk/resource_builder.rb,
lib/kabk/auth/jwt_strategy.rb,
lib/kabk/relation_hydrator.rb
Overview
Kabk module namespace
Defined Under Namespace
Modules: Auth Classes: ApiError, Concurrency, ConcurrencyConflictError, Error, ExportHandler, Field, ForbiddenError, InvalidFieldError, InvalidOldPasswordError, NotFoundError, QueryBuilder, Registry, RelationHydrator, Resource, ResourceBuilder, RestEngine, SchemaRenderer, UnauthorizedError, UploadHandler, ValidationError, Validator
Constant Summary collapse
- VERSION =
"0.1.1"
Class Method Summary collapse
-
.register(name:, table:) { ... } ⇒ Object
Register a new model as a resource.
Class Method Details
.register(name:, table:) { ... } ⇒ Object
Register a new model as a resource
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/kabk.rb', line 26 def self.register(name:, table:, &block) resource = Resource.new(name: name, model_class: table) builder = ResourceBuilder.new(resource) builder.instance_eval(&block) if block_given? # Fallbacks per protocol resource.plural_name ||= "#{name}s" resource.title ||= resource.plural_name.capitalize resource.icon ||= "Database" resource.api_path ||= "/api/admin/#{resource.plural_name}" Registry.instance.register(resource) resource end |