Module: RequestGlobal
- Defined in:
- lib/request_global.rb,
lib/request_global/railtie.rb,
lib/request_global/version.rb,
lib/request_global/middleware.rb,
ext/request_global/request_global.c
Defined Under Namespace
Classes: Middleware, Railtie
Constant Summary collapse
- VERSION =
"0.1.1"
Class Method Summary collapse
-
.[](key) ⇒ Object
Return the value for the given key from storage for current request.
-
.[]=(key, value) ⇒ Object
Assign the value with the key to storage for current request.
-
.begin! ⇒ nil
Set up storage for current request.
-
.clear! ⇒ nil
Removes all key-value pairs from storage for current request.
-
.clear_all! ⇒ nil
Removes all storages from container.
-
.delete(key) ⇒ Object
Delete the key-value pair for the given key and return the value from storage for current request.
-
.end! ⇒ nil
Destroy information of current request and storage for current request.
-
.fetch(key) ⇒ Object
Return the value for the given key from storage for current request.
-
.get_current_request ⇒ Object
Get current request id.
-
.set_current_request(request) ⇒ Object
Set current request id.
-
.storage ⇒ Hash
Get storage for current request.
-
.store(key, value) ⇒ Object
Assign the value with the key to storage for current request.
Class Method Details
.fetch(key) ⇒ Object .[](key) ⇒ Object
Return the value for the given key from storage for current request.
136 137 138 139 140 |
# File 'ext/request_global/request_global.c', line 136
static VALUE
request_global_fetch(VALUE self, VALUE key) {
check_condition(self);
return rb_hash_aref(request_global_current_storage(self), key);
}
|
.store(key, value) ⇒ Object .[]=(key) ⇒ Object
Assign the value with the key to storage for current request.
149 150 151 152 153 |
# File 'ext/request_global/request_global.c', line 149
static VALUE
request_global_store(VALUE self, VALUE key, VALUE value) {
check_condition(self);
return rb_hash_aset(request_global_current_storage(self), key, value);
}
|
.begin! ⇒ nil
Set up storage for current request.
57 58 59 60 61 62 63 |
# File 'ext/request_global/request_global.c', line 57 static VALUE request_global_begin(VALUE self) { check_condition(self); Check_Type(rb_hash_aref(class_variable_storages(self), class_variable_current_request(self)), T_NIL); rb_hash_aset(class_variable_storages(self), class_variable_current_request(self), rb_hash_new()); return Qnil; } |
.clear! ⇒ nil
Removes all key-value pairs from storage for current request.
71 72 73 74 75 76 |
# File 'ext/request_global/request_global.c', line 71 static VALUE request_global_clear(VALUE self) { check_condition(self); rb_hash_clear(request_global_current_storage(self)); return Qnil; } |
.clear_all! ⇒ nil
Removes all storages from container.
84 85 86 87 88 89 |
# File 'ext/request_global/request_global.c', line 84 static VALUE request_global_clear_all(VALUE self) { rb_hash_clear(class_variable_storages(self)); request_global_set_current_request(self, Qnil); return Qnil; } |
.delete(key) ⇒ Object
Delete the key-value pair for the given key and return the value from storage for current request.
123 124 125 126 127 |
# File 'ext/request_global/request_global.c', line 123
static VALUE
request_global_delete(VALUE self, VALUE key) {
check_condition(self);
return rb_hash_delete(request_global_current_storage(self), key);
}
|
.end! ⇒ nil
Destroy information of current request and storage for current request.
97 98 99 100 101 102 103 |
# File 'ext/request_global/request_global.c', line 97 static VALUE request_global_end(VALUE self) { check_condition(self); rb_hash_delete(class_variable_storages(self), class_variable_current_request(self)); request_global_set_current_request(self, Qnil); return Qnil; } |
.fetch(key) ⇒ Object .[](key) ⇒ Object
Return the value for the given key from storage for current request.
136 137 138 139 140 |
# File 'ext/request_global/request_global.c', line 136
static VALUE
request_global_fetch(VALUE self, VALUE key) {
check_condition(self);
return rb_hash_aref(request_global_current_storage(self), key);
}
|
.get_current_request ⇒ Object
Get current request id.
46 47 48 49 |
# File 'ext/request_global/request_global.c', line 46 static VALUE request_global_get_current_request(VALUE self) { return class_variable_current_request(self); } |
.set_current_request(request) ⇒ Object
Set current request id.
34 35 36 37 38 |
# File 'ext/request_global/request_global.c', line 34
static VALUE
request_global_set_current_request(VALUE self, VALUE request) {
rb_cv_set(self, "@@current_request", request);
return class_variable_current_request(self);
}
|
.storage ⇒ Hash
Get storage for current request.
111 112 113 114 115 |
# File 'ext/request_global/request_global.c', line 111 static VALUE request_global_storage(VALUE self) { check_condition(self); return request_global_current_storage(self); } |
.store(key, value) ⇒ Object .[]=(key) ⇒ Object
Assign the value with the key to storage for current request.
149 150 151 152 153 |
# File 'ext/request_global/request_global.c', line 149
static VALUE
request_global_store(VALUE self, VALUE key, VALUE value) {
check_condition(self);
return rb_hash_aset(request_global_current_storage(self), key, value);
}
|