Class: GrowsurfRuby::Resources::Campaign::Design

Inherits:
Object
  • Object
show all
Defined in:
lib/growsurf_ruby/resources/campaign/design.rb,
sig/growsurf_ruby/resources/campaign/design.rbs

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Design

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Design.

Parameters:



60
61
62
# File 'lib/growsurf_ruby/resources/campaign/design.rb', line 60

def initialize(client:)
  @client = client
end

Instance Method Details

#retrieve(id, request_options: {}) ⇒ Hash{Symbol=>Object}

Retrieves a program's design configuration — the same surface as the dashboard Program Editor's Design tab (window layout, header, share channels, signup form, portal/landing pages, theme styling, and summary/status sections).

This is a large, deeply nested object whose available fields depend on the program type. See the API reference for the full field list.

Parameters:

Returns:

  • (Hash{Symbol=>Object})


21
22
23
24
25
26
27
28
# File 'lib/growsurf_ruby/resources/campaign/design.rb', line 21

def retrieve(id, params = {})
  @client.request(
    method: :get,
    path: ["campaign/%1$s/design", id],
    model: GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown],
    options: params[:request_options]
  )
end

#update(id, body, request_options: {}) ⇒ Hash{Symbol=>Object}

Updates a program's design configuration. Only the fields you send are changed (a surgical merge; arrays such as signup.fields replace wholesale). Unknown fields, fields not available for the program type, and invalid values return a 400.

The request body is a partial CampaignDesign object — see the API reference for the full field list.

Parameters:

  • id (String)

    GrowSurf program ID.

  • body (Hash{Symbol=>Object})

    Partial design configuration to merge.

  • request_options (GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (Hash{Symbol=>Object})


47
48
49
50
51
52
53
54
55
# File 'lib/growsurf_ruby/resources/campaign/design.rb', line 47

def update(id, body, params = {})
  @client.request(
    method: :patch,
    path: ["campaign/%1$s/design", id],
    body: body,
    model: GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown],
    options: params[:request_options]
  )
end