Sha256: 8551d46e9b677243ee594af7861d1a6111b0f4db27aa4ca85683ae2e2e061d16

Contents?: true

Size: 930 Bytes

Versions: 8

Compression:

Stored size: 930 Bytes

Contents

module Netzke::ActiveRecord
  # Provides extensions to those ActiveRecord-based models that provide data to the "data accessor" widgets,
  # like GridPanel, FormPanel, etc
  module DataAccessor
    
    # Allow specify the netzke widget that requires this data. Virtual attributes may be using it to produce
    # widget-dependent result.
    def netzke_widget=(widget)
      @netzke_widget = widget
    end
    
    def netzke_widget
      @netzke_widget
    end
    
    # Transforms a record to array of values according to the passed columns.
    def to_array(columns, widget = nil)
      self.netzke_widget = widget
      res = []
      for c in columns
        nc = c.is_a?(Symbol) ? {:name => c} : c
        begin
          res << send(nc[:name]) unless nc[:excluded]
        rescue
          # So that we don't crash at a badly configured column
          res << "UNDEF"
        end
      end
      res
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
skozlov-netzke-basepack-0.5.1 lib/netzke/active_record/data_accessor.rb
skozlov-netzke-basepack-0.5.2 lib/netzke/active_record/data_accessor.rb
netzke-basepack-0.5.5.1 lib/netzke/active_record/data_accessor.rb
netzke-basepack-0.5.5 lib/netzke/active_record/data_accessor.rb
netzke-basepack-0.5.4 lib/netzke/active_record/data_accessor.rb
netzke-basepack-0.5.3 lib/netzke/active_record/data_accessor.rb
netzke-basepack-0.5.1 lib/netzke/active_record/data_accessor.rb
netzke-basepack-0.5.2 lib/netzke/active_record/data_accessor.rb