Sha256: 1f555a9f305fd0903590199af0572db29facfee3bf97ada680d13f3a8e022279

Contents?: true

Size: 1.26 KB

Versions: 22

Compression:

Stored size: 1.26 KB

Contents

require "active_support/core_ext/hash"
require "active_support/core_ext/object"
require "json"
require "rack/utils" # Rack::Utils.parse_nested_query

# Controller public methods get turned into Lambda functions.
class Jets::Controller
  class Base < Jets::Lambda::Functions
    include Layout
    include Callbacks
    include Rendering
    include Params

    def self.process(event, context={}, meth)
      t1 = Time.now
      Jets.logger.info "Processing by #{self}##{meth}"

      controller = new(event, context, meth)

      Jets.logger.info "  Event: #{event.inspect}"
      Jets.logger.info "  Parameters: #{controller.params(true).to_h.inspect}"

      controller.run_before_actions
      controller.send(meth)
      resp = controller.ensure_render
      controller.run_after_actions

      time = Time.now - t1
      Jets.logger.info "Completed Status Code #{resp["statusCode"]} in #{time}s"

      resp
    end

    delegate :headers, to: :request
    attr_reader :request
    def initialize(event, context={}, meth)
      super
      @request = Request.new(event)
    end

    class_attribute :internal_controller
    def self.internal(value=nil)
      if !value.nil?
        self.internal_controller = value
      else
        self.internal_controller
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
jets-0.8.0 lib/jets/controller/base.rb
jets-0.7.1 lib/jets/controller/base.rb
jets-0.7.0 lib/jets/controller/base.rb
jets-0.6.9 lib/jets/controller/base.rb
jets-0.6.8 lib/jets/controller/base.rb
jets-0.6.7 lib/jets/controller/base.rb
jets-0.6.6 lib/jets/controller/base.rb
jets-0.6.5 lib/jets/controller/base.rb
jets-0.6.4 lib/jets/controller/base.rb
jets-0.6.3 lib/jets/controller/base.rb
jets-0.6.2 lib/jets/controller/base.rb
jets-0.6.1 lib/jets/controller/base.rb
jets-0.6.0 lib/jets/controller/base.rb
jets-0.5.8 lib/jets/controller/base.rb
jets-0.5.7 lib/jets/controller/base.rb
jets-0.5.6 lib/jets/controller/base.rb
jets-0.5.5 lib/jets/controller/base.rb
jets-0.5.4 lib/jets/controller/base.rb
jets-0.5.3 lib/jets/controller/base.rb
jets-0.5.2 lib/jets/controller/base.rb