Class: FlexCommerce::AssetFile

Inherits:
FlexCommerceApi::ApiBase show all
Defined in:
app/models/asset_file.rb

Overview

A flex commerce asset file model

This model provides access to the flex asset file

It is used much like an active record model.

Constant Summary

Constants inherited from FlexCommerceApi::BaseResource

FlexCommerceApi::BaseResource::PRIVATE_ATTRIBUTES, FlexCommerceApi::BaseResource::RELATED_META_RESOURCES

Class Method Summary collapse

Methods inherited from FlexCommerceApi::ApiBase

endpoint_version

Methods inherited from FlexCommerceApi::BaseResource

all, append_version, #as_json_api, capture_surrogate_keys, create!, endpoint_version, find, find_all, #freeze, #initialize, load, #meta_attribute, #method_missing, paginate, password, #public_attributes, reconfigure, reconfigure_all, reconfigure_api_base, reload_connection_if_required, #save!, username

Constructor Details

This class inherits a constructor from FlexCommerceApi::BaseResource

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class FlexCommerceApi::BaseResource

Class Method Details

.path(params, resource) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/models/asset_file.rb', line 12

def self.path(params, resource)
  internal_params = params.with_indifferent_access
  if !internal_params.key?("asset_folder_id") && !internal_params.key?("path") && resource && resource.relationships["asset_folder"]["links"]["related"]=~/^\/asset_folders/
    resource.relationships["asset_folder"]["links"]["related"].gsub(/\.json_api$/, '') + "/asset_files"
  elsif internal_params.key?("path") && internal_params["path"].key?("asset_folder_id") && internal_params["path"]["asset_folder_id"].is_a?(String)
    # As the asset_folder_id is going into the url, and the developer may sent it anything, then we should escape it
    new_params = internal_params.deep_dup
    new_params["path"]["asset_folder_id"] = URI.escape(new_params["path"]["asset_folder_id"])
    super(new_params, resource)
  else
    super
  end
end