Sha256: 03b199d2ce4bb5356ba3eae7c313e0849cf26997807e673e754b423206f0c786

Contents?: true

Size: 1.19 KB

Versions: 8

Compression:

Stored size: 1.19 KB

Contents

# Card::Env can differ for each request; Wagn.config should not

class Card
  module Env
    class << self
      def reset args={}
        @@env = { :main_name => nil }
      
        if c = args[:controller]
          self[:controller] = c
          self[:session]    = c.request.session
          self[:params]     = c.request.params
          self[:ip]         = c.request.remote_ip
          self[:ajax]       = c.request.xhr? || c.request.params[:simulate_xhr]
          self[:host]       = Wagn.config.override_host     || c.request.env['HTTP_HOST']
          self[:protocol]   = Wagn.config.override_protocol || c.request.protocol
        
        end
      end
    
      def [] key
        @@env[key.to_sym]
      end
    
      def []= key, value
        @@env[key.to_sym] = value
      end
      

      def params
        self[:params] ||= {}
      end
      
      def session
        self[:session] ||= {}
      end
    
      def ajax?
        self[:ajax]
      end
    
      def method_missing method_id, *args
        case args.length
        when 0 ; self[ method_id ]
        when 1 ; self[ method_id ] = args[0]
        else   ; super
        end
      end
    

    end
  end  
  Env.reset
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
wagn-1.14.4 lib/card/env.rb
wagn-1.14.3 lib/card/env.rb
wagn-1.14.2 lib/card/env.rb
wagn-1.14.1 lib/card/env.rb
wagn-1.14.0 lib/card/env.rb
wagn-1.14.0.pre3 lib/card/env.rb
wagn-1.14.0.pre2 lib/card/env.rb
wagn-1.14.0.pre1 lib/card/env.rb