Sha256: 64a8c1d7bc0a6a0f3c02499ed4256bc76fd5792ccea5564e94c3890e81d4a468

Contents?: true

Size: 907 Bytes

Versions: 8

Compression:

Stored size: 907 Bytes

Contents

module Datagrid

  # Required to be ActiveModel compatible
  module ActiveModel
  
    def self.included(base)
      base.extend         ClassMethods
      base.class_eval do
        begin
          require 'active_model/naming'
          extend ::ActiveModel::Naming
        rescue LoadError
        end
      end
      base.send :include, InstanceMethods
    end # self.included
  
    module ClassMethods
  
      def param_name
        self.to_s.underscore.split('/').last
      end


    end # ClassMethods
  
    module InstanceMethods
  
      def param_name
        self.class.param_name
      end

      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 # InstanceMethods
  
  end
    
  
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
datagrid-0.5.3 lib/datagrid/active_model.rb
datagrid-0.5.2 lib/datagrid/active_model.rb
datagrid-0.5.1 lib/datagrid/active_model.rb
datagrid-0.5.0 lib/datagrid/active_model.rb
datagrid-0.4.1 lib/datagrid/active_model.rb
datagrid-0.4.0 lib/datagrid/active_model.rb
datagrid-0.3.6 lib/datagrid/active_model.rb
datagrid-0.3.5 lib/datagrid/active_model.rb