Sha256: ed07d2fb5297ed178498f02267dc3831f43b1b85de43332fe70c751cb8520013

Contents?: true

Size: 1.31 KB

Versions: 5

Compression:

Stored size: 1.31 KB

Contents

# -*- encoding : utf-8 -*-
module RademadeAdmin
  module Routing
    module Mapper

      def admin_resources(*resources, &block)

        admin_resources = resources.dup
        options = admin_resources.extract_options!.dup

        admin_resources.each do |resource|
          resource_scope(:resources, Resource.new(resource, options)) do
            yield if block_given?

            parent_resource_actions = @scope[:scope_level_resource].actions

            collection do
              get :autocomplete if parent_resource_actions.include? :autocomplete
              patch :sort
            end

            new do
              get :form
            end if parent_resource_actions.include? :new

            member do
              get :form if parent_resource_actions.include? :edit

              scope 'related/:relation' do
                get '/' => :related, :as => :related
                get :autocomplete, :link_autocomplete
                post ':related_id' => :related_add, :as => :related_add
                delete ':related_id' => :related_destroy, :as => :related_destroy
              end

            end

            Model::Graph.instance.add_pair(@scope[:module], @scope[:controller], self.shallow?)

          end
        end

        resources(*resources, &block)

        self
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rademade_admin-0.2.2 lib/rademade_admin/routing/mapper.rb
rademade_admin-0.2.1 lib/rademade_admin/routing/mapper.rb
rademade_admin-0.2.0 lib/rademade_admin/routing/mapper.rb
rademade_admin-0.1.6 lib/rademade_admin/routing/mapper.rb
rademade_admin-0.1.5 lib/rademade_admin/routing/mapper.rb