Class: Plamo::App

Inherits:
Object
  • Object
show all
Defined in:
ext/plamo/plamo_app.c

Instance Method Summary collapse

Constructor Details

#initializeObject



25
26
27
28
# File 'ext/plamo/plamo_app.c', line 25

static VALUE initialize(VALUE self) {
  DATA_PTR(self) = plamo_app_new();
  return self;
}

Instance Method Details

#execute(rb_plamo_request) ⇒ Object



39
40
41
42
43
44
45
46
# File 'ext/plamo/plamo_app.c', line 39

static VALUE execute(VALUE self, VALUE rb_plamo_request) {
  PlamoApp *plamo_app;
  TypedData_Get_Struct(self, PlamoApp, &rb_plamo_app_type, plamo_app);
  PlamoRequest *plamo_request;
  TypedData_Get_Struct(self, PlamoRequest, &rb_plamo_request_type, plamo_request);
  VALUE rb_plamo_response = TypedData_Wrap_Struct(rb_cPlamoResponse, &rb_plamo_response_type, plamo_app_execute(plamo_app, plamo_request));
  return rb_plamo_response;
}

#push_middleware(rb_plamo_middleware) ⇒ Object



30
31
32
33
34
35
36
37
# File 'ext/plamo/plamo_app.c', line 30

static VALUE push_middleware(VALUE self, VALUE rb_plamo_middleware) {
  PlamoApp *plamo_app;
  TypedData_Get_Struct(self, PlamoApp, &rb_plamo_app_type, plamo_app);
  PlamoMiddleware *plamo_middleware;
  TypedData_Get_Struct(rb_plamo_middleware, PlamoMiddleware, &rb_plamo_middleware_type, plamo_middleware);
  plamo_app_add_middleware(plamo_app, plamo_middleware);
  return Qnil;
}