Sha256: 0fd9b9d9bee4de72374892e4fc249b6e2d68716d623eb0c3b99d0b27d86afc8d

Contents?: true

Size: 1.21 KB

Versions: 6

Compression:

Stored size: 1.21 KB

Contents

module Godmin
  module Helpers
    module Tables
      def column_header(attribute)
        if @resource_class.column_names.include?(attribute.to_s)
          direction =
            if params[:order].present?
              if params[:order].match(/\A#{attribute.to_s}_(asc|desc)\z/)
                $1 == "desc" ? "asc" : "desc"
              elsif params[:order].match(/\A\w+_(asc|desc)\z/)
                $1
              end
            else
              "desc"
            end
          link_to @resource_class.human_attribute_name(attribute.to_s), url_for(params.merge(order: "#{attribute}_#{direction}"))
        else
          @resource_class.human_attribute_name(attribute.to_s)
        end
      end

      def column_value(resource, attribute)
        partial_override "#{controller_path}/columns/#{attribute}", resource: resource do
          column_value = resource.send(attribute)

          if column_value.is_a?(Date) || column_value.is_a?(Time)
            column_value = l(column_value, format: :long)
          end

          if column_value.is_a?(TrueClass) || column_value.is_a?(FalseClass)
            column_value = t(column_value.to_s)
          end

          column_value
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
godmin-1.1.0 lib/godmin/helpers/tables.rb
godmin-1.0.0 lib/godmin/helpers/tables.rb
godmin-0.12.4 lib/godmin/helpers/tables.rb
godmin-0.12.3 lib/godmin/helpers/tables.rb
godmin-0.12.2 lib/godmin/helpers/tables.rb
godmin-0.12.1 lib/godmin/helpers/tables.rb