Sha256: b256a3678a1fcfa6b278de51f1ff9b9fc3d42c68435b5e5f7867c69953fb0233

Contents?: true

Size: 759 Bytes

Versions: 6

Compression:

Stored size: 759 Bytes

Contents

require 'apotomo/widget'
require 'apotomo/persistence'

module Apotomo
  class StatefulWidget < Widget
    include Persistence
    
    attr_accessor :version
    
    def initialize(*)
      super
      @version = 0
    end
    
    
    # Defines the instance vars that should <em>not</em> survive between requests, 
    # which means they're not frozen in Apotomo::StatefulWidget#freeze.
    def ivars_to_forget
      unfreezable_ivars
    end
    
    def unfreezable_ivars
      [:@childrenHash, :@children, :@parent, :@parent_controller, :@_request, :@_config, :@cell, :@invoke_block, :@rendered_children, :@page_updates, :@opts, :@params,
      :@suppress_javascript ### FIXME: implement with ActiveHelper and :locals.
      
      ]
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
apotomo-1.0.5 lib/apotomo/stateful_widget.rb
apotomo-1.0.4 lib/apotomo/stateful_widget.rb
apotomo-1.0.3 lib/apotomo/stateful_widget.rb
apotomo-1.0.2 lib/apotomo/stateful_widget.rb
apotomo-1.0.1 lib/apotomo/stateful_widget.rb
apotomo-1.0.0 lib/apotomo/stateful_widget.rb