Module: Praxis::EndpointDefinition

Extended by:
ActiveSupport::Concern
Defined in:
lib/praxis/endpoint_definition.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

DEFAULT_RESOURCE_HREF_ACTION =
:show

Class Method Summary collapse

Class Method Details

.finalize!Object



60
61
62
63
64
65
66
# File 'lib/praxis/endpoint_definition.rb', line 60

def self.finalize!
  Application.instance.endpoint_definitions.each do |resource_definition|
    while (block = resource_definition.on_finalize.shift)
      block.call
    end
  end
end

.generate_defaults_block(version: nil) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/praxis/endpoint_definition.rb', line 41

def self.generate_defaults_block(version: nil)
  # Ensure we inherit any base params defined in the API definition for the passed in version
  base_attributes = if (base_params = ApiDefinition.instance.info(version).base_params)
                      base_params.attributes
                    else
                      {}
                    end

  proc do
    unless base_attributes.empty?
      params do
        base_attributes.each do |base_name, base_attribute|
          attribute base_name, base_attribute.type, **base_attribute.options
        end
      end
    end
  end
end