Sha256: 8a897de33c350fa27ba46ac4a414f0e81dfa3c079142d965291a931459ece8c4
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
module Crystal VERSION = '0.0.1' class << self inject \ :config => Crystal::Config, :router => Crystal::Router def load_environment $LOAD_PATH << config.root unless $LOAD_PATH.include? config.root end def build_common_app builder Crystal::Adapter.build_common_app builder end def run app = Crystal::Adapter.parse_config load_environment Crystal::Adapter.run app end 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
crystal-0.0.10 | lib/crystal/core/crystal.rb |