lib/happy.rb in happy-0.1.0.pre13 vs lib/happy.rb in happy-0.1.0.pre14
- old
+ new
@@ -9,6 +9,26 @@
end
def self.env
ActiveSupport::StringInquirer.new(ENV['RACK_ENV'] || 'development')
end
+
+ # Creates a new Happy::Controller class, using the provided block as
+ # its routing block.
+ #
+ def self.route(&blk)
+ @last_controller_class_created = Class.new(Happy::Controller).tap do |klass|
+ klass.send(:define_method, :route, &blk)
+ end
+ end
+
+ # Run the provided block against Happy::Context. Use this to add new
+ # methods to the request context class.
+ #
+ def self.context(&blk)
+ Context.class_exec(&blk)
+ end
+
+ def self.call(env)
+ @last_controller_class_created.try(:call, env) or raise "Please use Happy.route to define some routes."
+ end
end