Module: Crystal
- Defined in:
- lib/crystal/core/config.rb,
lib/crystal/core/remote.rb,
lib/crystal/core/router.rb,
lib/crystal/core/crystal.rb,
lib/crystal/rack/adapter.rb,
lib/crystal/rack/support.rb,
lib/crystal/rack/rack_app.rb
Defined Under Namespace
Modules: Remote
Classes: Adapter, Config, NotFound, RackApp, Request, Response, Router
Constant Summary
collapse
- VERSION =
'0.0.1'
Class Method Summary
collapse
Class Method Details
.build_common_app(builder) ⇒ Object
.call(request, response, params) ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/crystal/core/crystal.rb', line 23
def call request, response, params
klass, method = router.select_class request
method ||= config.default_method
raise "The remote class #{klass} must be a Crystal::Remote!" unless klass.is? Crystal::Remote
raise "No method '#{method}' for remote class #{klass}!" unless klass.instance_methods.include? method
raise "You try to call protected method '#{method}' for remote class '#{klass}'!" unless klass.public_instance_methods.include? method
Micon.activate :request, {} do
Micon[:request], Micon[:response], Micon[:params] = request, response, params
controller = klass.new
Micon[:controller] = controller
controller.send method
end
end
|
.load_environment ⇒ Object
9
10
11
|
# File 'lib/crystal/core/crystal.rb', line 9
def load_environment
$LOAD_PATH << config.root unless $LOAD_PATH.include? config.root
end
|