Sha256: 91efdaea236af3d843f3c665372e2f876200353a0af792dd377c08df3619df46

Contents?: true

Size: 934 Bytes

Versions: 1

Compression:

Stored size: 934 Bytes

Contents

class Card
  # Card::Env is a module for containing the variable details of the environment
  # in which Card operates.
  #
  # Env can differ for each request; Card.config should not.
  module Env
    extend LocationHistory
    extend SlotOptions
    extend Support
    extend Serializable
    extend Serialization

    class << self
      attr_accessor :controller, :main_name, :params
      attr_writer :session

      def request
        controller&.request
      end

      def session
        @session ||= request&.session || {}
      end

      def reset controller=nil
        @controller = controller
        @params = controller&.params || {}
        @session = @success = @serialized = @slot_opts = nil
      end

      def success cardname=nil
        @success ||= Env::Success.new(cardname, params[:success])
      end

      def localhost?
        host&.match?(/^localhost/)
      end
    end
  end
end

Card::Env.reset

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
card-1.104.2 lib/card/env.rb