Module: Grape::ResourceDefinition::ClassMethods

Defined in:
lib/grape_resource_definition/resource_definition.rb

Instance Method Summary collapse

Instance Method Details

#define(name) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/grape_resource_definition/resource_definition.rb', line 13

def define(name)
  definitions = \
    Grape::ResourceDefinition.defined_resources["#{self::RESOURCE_DEFINITION}"]

  if definitions.nil?
    raise NoResourceDefinition, "No resource definition for #{self}"
  end

  if definitions[name].nil?
    raise NoResourceDefined, "':#{name}' is not defined for #{self}"
  end

  self.instance_eval &definitions[name]
end

#resource_define(name, &params_block) ⇒ Object



6
7
8
9
10
11
# File 'lib/grape_resource_definition/resource_definition.rb', line 6

def resource_define(name, &params_block)
  definitions = \
    Grape::ResourceDefinition.defined_resources["#{self}"]

  definitions[name] = params_block
end