Sha256: d418092e0d7be8a1bf2ac31984ea817aeab1f28ca52b0db008ab65afae899d39

Contents?: true

Size: 1.47 KB

Versions: 13

Compression:

Stored size: 1.47 KB

Contents

module Neo4j
  module MetaModel
    class ModelsController < ApplicationController
      before_action :get_model
      before_action :get_meta_model
      before_action :get_record, only: [:show, :edit, :update]

      layout 'layouts/meta_model'
      def meta_index
        @hierarchy = Model.order(:class_name).hierarchically
      end

      def index
        @records = @model.all.to_a
        respond_to do |format|
          format.html
          format.json { render json: @records, root: :records }
        end
      end

      def show
      end

      def edit
      end

      def update
        @record.update_attributes(params[:data])

        redirect_to action: :show
      end

      def new
        @record = @model.new
      end

      def create
        record = @model.create(params[:data])

        redirect_to action: :show, id: record.id
      end

      def destroy
        @record.destroy

        redirect_to action: :index, model: params[:model]
      end

      private

      def get_record
        @record = @model.find(params[:id])
      end

      def get_meta_model
        @meta_model = Model.where(class_name: model_param_class_name).first if model_param_class_name
      end

      def get_model
        @model = "Neo4j::MetaModel::#{model_param_class_name}".constantize if model_param_class_name
      end

      def model_param_class_name
        if params[:model]
          @model_param_class_name ||= params[:model].classify
        end
      end
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
neo4j-meta_model-0.4.0 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.3.5 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.3.4 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.3.3 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.3.2 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.3.1 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.3.0 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.2.2 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.2.1 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.2.0 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.1.2 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.1.1 app/controllers/neo4j/meta_model/models_controller.rb
neo4j-meta_model-0.1.0 app/controllers/neo4j/meta_model/models_controller.rb