Sha256: 6fa2512268303c0c8d77fd88e9836e6d99f84d84225b5228456b9c3b4eb0831e

Contents?: true

Size: 1.1 KB

Versions: 15

Compression:

Stored size: 1.1 KB

Contents

module ActiveList
  module Definition
    class AbstractColumn
      attr_reader :table, :name, :id, :options

      def initialize(table, name, options = {})
        @table   = table
        @name    = name.to_sym
        @options = options
        @hidden  = !!@options.delete(:hidden)
        @id = 'c' + @table.new_column_id # ActiveList.new_uid
      end

      def header_code
        raise NotImplementedError, "#{self.class.name}#header_code is not implemented."
      end

      def hidden?
        @hidden
      end

      def sortable?
        false
      end

      def exportable?
        false
      end

      def computable?
        false
      end

      # Unique identifier of the column in the application
      def unique_id
        "#{@table.name}-#{@name}"
      end

      # Uncommon but simple identifier for CSS class uses
      def short_id
        @id
      end

      alias sort_id name

      def check_options!(options, *keys)
        for key in options.keys
          raise ArgumentError, "Key :#{key} is unexpected. (Expecting: #{keys.to_sentence})"
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
active_list-7.1.0 lib/active_list/definition/abstract_column.rb
active_list-7.0.0 lib/active_list/definition/abstract_column.rb
active_list-6.10.0 lib/active_list/definition/abstract_column.rb
active_list-6.9.4 lib/active_list/definition/abstract_column.rb
active_list-6.9.3 lib/active_list/definition/abstract_column.rb
active_list-6.9.2 lib/active_list/definition/abstract_column.rb
active_list-6.9.1 lib/active_list/definition/abstract_column.rb
active_list-6.9.0 lib/active_list/definition/abstract_column.rb
active_list-6.8.3 lib/active_list/definition/abstract_column.rb
active_list-6.8.2 lib/active_list/definition/abstract_column.rb
active_list-6.8.1 lib/active_list/definition/abstract_column.rb
active_list-6.8.0 lib/active_list/definition/abstract_column.rb
active_list-6.7.6 lib/active_list/definition/abstract_column.rb
active_list-6.7.5 lib/active_list/definition/abstract_column.rb
active_list-6.7.4 lib/active_list/definition/abstract_column.rb