Class: ReactorSDK::Endpoints::Revisions

Inherits:
BaseEndpoint show all
Defined in:
lib/reactor_sdk/endpoints/revisions.rb

Instance Method Summary collapse

Methods inherited from BaseEndpoint

#initialize

Constructor Details

This class inherits a constructor from ReactorSDK::Endpoints::BaseEndpoint

Instance Method Details

#find(revision_id) ⇒ ReactorSDK::Resources::Revision

Retrieves a single generic revision by its Adobe ID.

Returns the full revision including the entity snapshot — the complete attributes of the revisioned resource at this point in time. This is the primary method for fetching data needed to build a diff.

Calls GET /revisions/:id which returns the revision data alongside the full resource in the included array.

Note: this method expects a ‘revisions` resource ID (for example, an ID surfaced by a `latest_revision` relationship). It does not accept rule, data element, or extension IDs from the resource-scoped `/revisions` list endpoints.

Parameters:

  • revision_id (String)

    Adobe revision ID (format: “RE” + hex string)

Returns:

Raises:



51
52
53
54
# File 'lib/reactor_sdk/endpoints/revisions.rb', line 51

def find(revision_id)
  response = @connection.get("/revisions/#{revision_id}")
  @parser.parse(response['data'], Resources::Revision, response: response)
end

#list_for_data_element(data_element_id) ⇒ Array<ReactorSDK::Resources::DataElement>

Lists all revisions for a given data element, newest first.

Returns versioned data element resources, newest first. Follows pagination automatically — returns all revisions.

Parameters:

  • data_element_id (String)

    Adobe data element ID (format: “DE” + hex string)

Returns:

Raises:



81
82
83
84
# File 'lib/reactor_sdk/endpoints/revisions.rb', line 81

def list_for_data_element(data_element_id)
  records = @paginator.all("/data_elements/#{data_element_id}/revisions")
  @parser.parse_many(records, Resources::DataElement)
end

#list_for_extension(extension_id) ⇒ Array<ReactorSDK::Resources::Extension>

Lists all revisions for a given extension, newest first.

Returns versioned extension resources, newest first. Follows pagination automatically — returns all revisions.

Parameters:

  • extension_id (String)

    Adobe extension ID (format: “EX” + hex string)

Returns:

Raises:



96
97
98
99
# File 'lib/reactor_sdk/endpoints/revisions.rb', line 96

def list_for_extension(extension_id)
  records = @paginator.all("/extensions/#{extension_id}/revisions")
  @parser.parse_many(records, Resources::Extension)
end

#list_for_rule(rule_id) ⇒ Array<ReactorSDK::Resources::Rule>

Lists all revisions for a given rule, newest first.

Returns versioned rule resources, newest first. Follows pagination automatically — returns all revisions.

Parameters:

  • rule_id (String)

    Adobe rule ID (format: “RL” + hex string)

Returns:

Raises:



66
67
68
69
# File 'lib/reactor_sdk/endpoints/revisions.rb', line 66

def list_for_rule(rule_id)
  records = @paginator.all("/rules/#{rule_id}/revisions")
  @parser.parse_many(records, Resources::Rule)
end