Class: Apiwork::Introspection::Dump::Resource
- Inherits:
-
Object
- Object
- Apiwork::Introspection::Dump::Resource
- Defined in:
- lib/apiwork/introspection/dump/resource.rb
Instance Method Summary collapse
-
#initialize(resource, api_class, parent_identifiers: [], parent_param: nil, parent_path: nil, parent_singular: false) ⇒ Resource
constructor
A new instance of Resource.
- #to_h ⇒ Object
Constructor Details
#initialize(resource, api_class, parent_identifiers: [], parent_param: nil, parent_path: nil, parent_singular: false) ⇒ Resource
Returns a new instance of Resource.
7 8 9 10 11 12 13 14 |
# File 'lib/apiwork/introspection/dump/resource.rb', line 7 def initialize(resource, api_class, parent_identifiers: [], parent_param: nil, parent_path: nil, parent_singular: false) @resource = resource @api_class = api_class @parent_identifiers = parent_identifiers @parent_param = parent_param @parent_path = parent_path @parent_singular = parent_singular end |
Instance Method Details
#to_h ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/apiwork/introspection/dump/resource.rb', line 16 def to_h formatted_segment = @api_class.transform_path( @resource.path || (@resource.singular ? @resource.name.to_s.singularize : @resource.name.to_s), ) resource_path = build_resource_path(formatted_segment) contract_class = resolve_contract_class { actions: build_actions(contract_class, resource_path), identifier: @resource.name.to_s, parent_identifiers: @parent_identifiers, path: resource_path, resources: build_nested_resources(resource_path), scope: contract_class&.scope_prefix&.to_s, } end |