Class: Aepic::Schema

Inherits:
Object
  • Object
show all
Defined in:
lib/aepic/schema.rb

Constant Summary collapse

METHODS =
{
  :index => :get,
  :show => :get,
  :update => [:put, :patch],
  :create => :post,
  :destroy => :delete,
  :edit => :get,
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.defaultObject



15
16
17
# File 'lib/aepic/schema.rb', line 15

def self.default
  @default ||= new
end

Instance Method Details

#<<(controller) ⇒ Object



33
34
35
# File 'lib/aepic/schema.rb', line 33

def <<(controller)
  controllers << controller
end

#controllersObject



29
30
31
# File 'lib/aepic/schema.rb', line 29

def controllers
  @controllers ||= Set.new
end

#method_for(action) ⇒ Object



37
38
39
# File 'lib/aepic/schema.rb', line 37

def method_for(action)
  METHODS[action.to_sym].to_s.upcase
end

#resourcesObject



19
20
21
22
23
24
25
26
27
# File 'lib/aepic/schema.rb', line 19

def resources
  @resources ||=
    controllers.inject do |resources, controller|
      if controller.action_methods.include?('index')
        resources << Resource.new()
      end
      resources
    end
end