Sha256: a463529bc55373796081e7915994f962a95f388cc6dfe52999d6476ca4ab45df

Contents?: true

Size: 665 Bytes

Versions: 9

Compression:

Stored size: 665 Bytes

Contents

module Hirb::Views::Rails #:nodoc:
  def active_record__base_view(obj)
    {:fields=>get_active_record_fields(obj)}
  end

  def get_active_record_fields(obj)
    fields = obj.class.column_names.map {|e| e.to_sym }
    # if query used select
    if obj.attributes.keys.compact.sort != obj.class.column_names.sort
      selected_columns = obj.attributes.keys.compact
      sorted_columns = obj.class.column_names.dup.delete_if {|e| !selected_columns.include?(e) }
      sorted_columns += (selected_columns - sorted_columns)
      fields = sorted_columns.map {|e| e.to_sym}
    end
    fields
  end
end

Hirb::DynamicView.add Hirb::Views::Rails, :helper=>:auto_table

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
hirber-0.8.7 lib/hirb/views/rails.rb
hirber-0.8.6 lib/hirb/views/rails.rb
hirber-0.8.5 lib/hirb/views/rails.rb
hirber-0.8.4 lib/hirb/views/rails.rb
hirber-0.8.2 lib/hirb/views/rails.rb
hirber-0.8.1 lib/hirb/views/rails.rb
hirber-0.8.0 lib/hirb/views/rails.rb
hirb-0.7.3 lib/hirb/views/rails.rb
hirb-0.7.2 lib/hirb/views/rails.rb