class PUNK::App
Constants
- INDEX
- PUBLIC
- PUNK_CONTENT_TYPE_LOOKUP
- REMOTE
Public Instance Methods
args()
click to toggle source
# File lib/punk/core/app.rb, line 117 def args params.transform_keys(&:to_sym) end
current_identity()
click to toggle source
# File lib/punk/core/app.rb, line 125 def current_identity @_current_session&.identity end
current_session()
click to toggle source
# File lib/punk/core/app.rb, line 121 def current_session @_current_session end
current_tenant()
click to toggle source
# File lib/punk/core/app.rb, line 133 def current_tenant @_current_tenant end
current_user()
click to toggle source
# File lib/punk/core/app.rb, line 129 def current_user @_current_session&.user end
perform(action_class, **kwargs)
click to toggle source
# File lib/punk/core/app.rb, line 137 def perform(action_class, **kwargs) raise InternalServerError, "Not an action: #{action_class}" unless action_class < Action render action_class.perform(**kwargs) end
present(view_class, **kwargs)
click to toggle source
# File lib/punk/core/app.rb, line 142 def present(view_class, **kwargs) raise InternalServerError, "Not a view: #{view_class}" unless view_class < View render view_class.present(**kwargs) end
render(view)
click to toggle source
# File lib/punk/core/app.rb, line 153 def render(view) raise InternalServerError, "Not a view: #{view}" unless view.is_a?(View) format = request.requested_type view.profile_info("render", format: format) do response.status = view.status if view.is_a?(Fail) response["Content-Type"] = PUNK_CONTENT_TYPE_LOOKUP[format] view.render(format) end end
require_anonymous!()
click to toggle source
# File lib/punk/core/app.rb, line 106 def require_anonymous! raise BadRequest, "Session already exists" if request.session.present? PUNK.logger.info "require_anonymous!" end
require_session!()
click to toggle source
# File lib/punk/core/app.rb, line 89 def require_session! begin @_current_session = Session[request.session["session_id"]] if @_current_session&.active? @_current_session.touch else clear_session @_current_session = nil end rescue => e exception(e) raise Unauthorized, e.message end raise Unauthorized, "Session does not exist" if @_current_session.nil? PUNK.logger.info "require_session!", {current_session: current_session.inspect, current_identity: current_identity.inspect, current_user: current_user.inspect}.inspect end
require_tenant!()
click to toggle source
# File lib/punk/core/app.rb, line 111 def require_tenant! raise Unauthorized, "Session does not exist" if @_current_session.nil? @_current_tenant = current_user.tenants_dataset[id: params[:tenant_id]] PUNK.logger.info "require_tenant!", {current_tenant: @_current_tenant.inspect}.inspect end