Sha256: 8731ace82b0de27d72124c860789b3ea6cf5d740a14aad11420a3d61f2a96fef

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

# -*- encoding : utf-8 -*-
module RademadeAdmin
  module Model
    module DataAdapter

      def initialize(model)
        @model = model
      end

      def relations
        @model.relations
      end

      def reflect_on_association(name)
        nil
      end

      def many_relation?(field)
        false
      end

      def association_foreign_key(relation)
        nil
      end

      def fields
        []
      end

      def has_field?(field)
        false
      end

      def foreign_key?(field)
        false
      end

      def has_many
        @has_many_relations ||= relations_with_types has_many_relations
      end

      def has_one
        @has_one_relations ||= relations_with_types has_one_relations
      end

      protected

      def relations_with_types(types)
        @model.reflect_on_all_associations(types).map do |relation|
          relation[:class_name] || relation[:name].to_s.capitalize
        end
      end

      def has_many_relations
        []
      end

      def has_one_relations
        []
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rademade_admin-0.0.3 lib/rademade_admin/model/data_adapter.rb
rademade_admin-0.0.2 lib/rademade_admin/model/data_adapter.rb