Module: Tina4
- Defined in:
- lib/tina4.rb,
lib/tina4/api.rb,
lib/tina4/cli.rb,
lib/tina4/env.rb,
lib/tina4/orm.rb,
lib/tina4/auth.rb,
lib/tina4/crud.rb,
lib/tina4/wsdl.rb,
lib/tina4/debug.rb,
lib/tina4/queue.rb,
lib/tina4/router.rb,
lib/tina4/request.rb,
lib/tina4/session.rb,
lib/tina4/swagger.rb,
lib/tina4/testing.rb,
lib/tina4/version.rb,
lib/tina4/database.rb,
lib/tina4/rack_app.rb,
lib/tina4/response.rb,
lib/tina4/template.rb,
lib/tina4/migration.rb,
lib/tina4/webserver.rb,
lib/tina4/websocket.rb,
lib/tina4/dev_reload.rb,
lib/tina4/middleware.rb,
lib/tina4/field_types.rb,
lib/tina4/localization.rb,
lib/tina4/scss_compiler.rb,
lib/tina4/database_result.rb,
lib/tina4/drivers/mssql_driver.rb,
lib/tina4/drivers/mysql_driver.rb,
lib/tina4/drivers/sqlite_driver.rb,
lib/tina4/drivers/firebird_driver.rb,
lib/tina4/drivers/postgres_driver.rb,
lib/tina4/queue_backends/lite_backend.rb,
lib/tina4/queue_backends/kafka_backend.rb,
lib/tina4/session_handlers/file_handler.rb,
lib/tina4/session_handlers/mongo_handler.rb,
lib/tina4/session_handlers/redis_handler.rb,
lib/tina4/queue_backends/rabbitmq_backend.rb
Defined Under Namespace
Modules: Auth, Crud, Debug, DevReload, Drivers, Env, FieldTypes, Localization, QueueBackends, Router, ScssCompiler, SessionHandlers, Swagger, Template, Testing, WSDL
Classes: API, APIResponse, CLI, Consumer, Database, DatabaseResult, LazySession, Middleware, Migration, ORM, Producer, QueueMessage, RackApp, Request, Response, Route, Session, WebServer, WebSocket, WebSocketConnection
Constant Summary
collapse
- BANNER =
<<~'BANNER'
████████╗██╗███╗ ██╗ █████╗ ██╗ ██╗
╚══██╔══╝██║████╗ ██║██╔══██╗██║ ██║
██║ ██║██╔██╗ ██║███████║███████║
██║ ██║██║╚██╗██║██╔══██║╚════██║
██║ ██║██║ ╚████║██║ ██║ ██║
╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝
BANNER
- VERSION =
"0.2.0"
Class Attribute Summary collapse
Class Method Summary
collapse
-
.after(pattern = nil, &block) ⇒ Object
-
.any(path, auth: false, swagger_meta: {}, &block) ⇒ Object
-
.before(pattern = nil, &block) ⇒ Object
-
.delete(path, auth: :default, swagger_meta: {}, &block) ⇒ Object
-
.describe(name, &block) ⇒ Object
-
.get(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
DSL methods for route registration GET is public by default (matching tina4_python behavior) POST/PUT/PATCH/DELETE are secured by default — use auth: false to make public.
-
.group(prefix, auth: nil, &block) ⇒ Object
-
.initialize!(root_dir = Dir.pwd) ⇒ Object
-
.options(path, &block) ⇒ Object
-
.patch(path, auth: :default, swagger_meta: {}, &block) ⇒ Object
-
.post(path, auth: :default, swagger_meta: {}, &block) ⇒ Object
-
.print_banner ⇒ Object
-
.put(path, auth: :default, swagger_meta: {}, &block) ⇒ Object
-
.secure_delete(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
-
.secure_get(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
Explicit secure variants (always secured, regardless of HTTP method).
-
.secure_patch(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
-
.secure_post(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
-
.secure_put(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
-
.t(key, **options) ⇒ Object
-
.template_global(key, value) ⇒ Object
Class Attribute Details
.database ⇒ Object
Returns the value of attribute database.
54
55
56
|
# File 'lib/tina4.rb', line 54
def database
@database
end
|
.root_dir ⇒ Object
Returns the value of attribute root_dir.
54
55
56
|
# File 'lib/tina4.rb', line 54
def root_dir
@root_dir
end
|
Class Method Details
.after(pattern = nil, &block) ⇒ Object
167
168
169
|
# File 'lib/tina4.rb', line 167
def after(pattern = nil, &block)
Tina4::Middleware.after(pattern, &block)
end
|
.any(path, auth: false, swagger_meta: {}, &block) ⇒ Object
120
121
122
123
124
125
|
# File 'lib/tina4.rb', line 120
def any(path, auth: false, swagger_meta: {}, &block)
auth_handler = resolve_auth(auth)
%w[GET POST PUT PATCH DELETE].each do |method|
Tina4::Router.add_route(method, path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
end
|
.before(pattern = nil, &block) ⇒ Object
163
164
165
|
# File 'lib/tina4.rb', line 163
def before(pattern = nil, &block)
Tina4::Middleware.before(pattern, &block)
end
|
.delete(path, auth: :default, swagger_meta: {}, &block) ⇒ Object
115
116
117
118
|
# File 'lib/tina4.rb', line 115
def delete(path, auth: :default, swagger_meta: {}, &block)
auth_handler = resolve_auth(auth)
Tina4::Router.add_route("DELETE", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.describe(name, &block) ⇒ Object
177
178
179
|
# File 'lib/tina4.rb', line 177
def describe(name, &block)
Tina4::Testing.describe(name, &block)
end
|
.get(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
DSL methods for route registration GET is public by default (matching tina4_python behavior) POST/PUT/PATCH/DELETE are secured by default — use auth: false to make public
95
96
97
98
|
# File 'lib/tina4.rb', line 95
def get(path, auth: nil, swagger_meta: {}, &block)
auth_handler = auth == false ? nil : auth
Tina4::Router.add_route("GET", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.group(prefix, auth: nil, &block) ⇒ Object
158
159
160
|
# File 'lib/tina4.rb', line 158
def group(prefix, auth: nil, &block)
Tina4::Router.group(prefix, auth_handler: auth, &block)
end
|
.initialize!(root_dir = Dir.pwd) ⇒ Object
.options(path, &block) ⇒ Object
127
128
129
|
# File 'lib/tina4.rb', line 127
def options(path, &block)
Tina4::Router.add_route("OPTIONS", path, block)
end
|
.patch(path, auth: :default, swagger_meta: {}, &block) ⇒ Object
110
111
112
113
|
# File 'lib/tina4.rb', line 110
def patch(path, auth: :default, swagger_meta: {}, &block)
auth_handler = resolve_auth(auth)
Tina4::Router.add_route("PATCH", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.post(path, auth: :default, swagger_meta: {}, &block) ⇒ Object
100
101
102
103
|
# File 'lib/tina4.rb', line 100
def post(path, auth: :default, swagger_meta: {}, &block)
auth_handler = resolve_auth(auth)
Tina4::Router.add_route("POST", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.print_banner ⇒ Object
56
57
58
59
60
61
62
|
# File 'lib/tina4.rb', line 56
def print_banner
puts "\e[35m#{BANNER}\e[0m"
puts " \e[35mTina4 Ruby v#{VERSION} - This is not a framework\e[0m"
puts ""
rescue
puts "\e[35mTINA4 Ruby v#{VERSION}\e[0m"
end
|
.put(path, auth: :default, swagger_meta: {}, &block) ⇒ Object
105
106
107
108
|
# File 'lib/tina4.rb', line 105
def put(path, auth: :default, swagger_meta: {}, &block)
auth_handler = resolve_auth(auth)
Tina4::Router.add_route("PUT", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.secure_delete(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
152
153
154
155
|
# File 'lib/tina4.rb', line 152
def secure_delete(path, auth: nil, swagger_meta: {}, &block)
auth_handler = auth || Tina4::Auth.default_secure_auth
Tina4::Router.add_route("DELETE", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.secure_get(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
Explicit secure variants (always secured, regardless of HTTP method)
132
133
134
135
|
# File 'lib/tina4.rb', line 132
def secure_get(path, auth: nil, swagger_meta: {}, &block)
auth_handler = auth || Tina4::Auth.default_secure_auth
Tina4::Router.add_route("GET", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.secure_patch(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
147
148
149
150
|
# File 'lib/tina4.rb', line 147
def secure_patch(path, auth: nil, swagger_meta: {}, &block)
auth_handler = auth || Tina4::Auth.default_secure_auth
Tina4::Router.add_route("PATCH", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.secure_post(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
137
138
139
140
|
# File 'lib/tina4.rb', line 137
def secure_post(path, auth: nil, swagger_meta: {}, &block)
auth_handler = auth || Tina4::Auth.default_secure_auth
Tina4::Router.add_route("POST", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.secure_put(path, auth: nil, swagger_meta: {}, &block) ⇒ Object
142
143
144
145
|
# File 'lib/tina4.rb', line 142
def secure_put(path, auth: nil, swagger_meta: {}, &block)
auth_handler = auth || Tina4::Auth.default_secure_auth
Tina4::Router.add_route("PUT", path, block, auth_handler: auth_handler, swagger_meta: swagger_meta)
end
|
.t(key, **options) ⇒ Object
182
183
184
|
# File 'lib/tina4.rb', line 182
def t(key, **options)
Tina4::Localization.t(key, **options)
end
|
.template_global(key, value) ⇒ Object
172
173
174
|
# File 'lib/tina4.rb', line 172
def template_global(key, value)
Tina4::Template.add_global(key, value)
end
|