Sha256: 59004679026f7acab57f57f39c9a2120d090326f2a4ac2258cff02fa3f040827

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

module Datagrid
  # Required to be ActiveModel compatible
  module ActiveModel
    # @!visibility private
    def self.included(base)
      base.extend         ClassMethods
      base.class_eval do
        begin
          require 'active_model/naming'
          extend ::ActiveModel::Naming
        rescue LoadError
        end
        begin
          require 'active_model/attributes_assignment'
          extend ::ActiveModel::AttributesAssignment
        rescue LoadError
        end
      end
    end

    module ClassMethods
      # @return [String] URL query parameter name of the grid class
      def param_name
        self.to_s.underscore.tr('/', '_')
      end
    end

    # @return [String] URL query parameter name of the grid class
    def param_name
      self.class.param_name
    end

    # @return [String] URL query parameter name of the grid class
    def param_key
      param_name
    end

    def to_key
      [self.class.param_name]
    end

    def persisted?
      false
    end

    def to_model
      self
    end

    def to_param
      self.param_name
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
datagrid-1.8.2 lib/datagrid/active_model.rb
datagrid-1.8.1 lib/datagrid/active_model.rb
datagrid-1.8.0 lib/datagrid/active_model.rb
datagrid-1.7.0 lib/datagrid/active_model.rb