Class: ActionDispatch::Routing::Mapper

Inherits:
Object
  • Object
show all
Defined in:
lib/caprese/routing/caprese_resources.rb

Instance Method Summary collapse

Instance Method Details

#caprese_resources(*resources, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/caprese/routing/caprese_resources.rb', line 4

def caprese_resources(*resources, &block)
  options = resources.extract_options!

  resources.each do |r|
    resources r, only: [:index, :show, :create, :update, :destroy] do
      yield if block_given?

      member do
        get 'relationships/:relationship',
          to: "#{parent_resource.name}#get_relationship_definition",
          as: :relationship_definition

        match 'relationships/:relationship',
          to: "#{parent_resource.name}#update_relationship_definition",
          via: [:patch, :post, :delete]

        get ':relationship(/:relation_primary_key_value)',
          to: "#{parent_resource.name}#get_relationship_data",
          as: :relationship_data
      end
    end
  end
end