Sha256: 0df5911a9e01f614c3ee8aa291acf690459ee724924f6e73086a178257cc8d34
Contents?: true
Size: 807 Bytes
Versions: 8
Compression:
Stored size: 807 Bytes
Contents
require 'active_support/concern' require 'active_support/all' module Praxis module Controller extend ::ActiveSupport::Concern # A Controller always requires the callbacks include Praxis::Callbacks included do attr_reader :request attr_accessor :response end module ClassMethods def implements(definition) define_singleton_method(:definition) do definition end definition.controller = self Application.instance.controllers << self end def id self.name.gsub('::'.freeze,'-'.freeze) end end def initialize(request, response=Responses::Ok.new) @request = request @response = response end def definition self.class.definition end end end
Version data entries
8 entries across 8 versions & 1 rubygems