Class: Spaceship::ConnectAPI::AppPreviewSet

Inherits:
Object
  • Object
show all
Includes:
Model
Defined in:
spaceship/lib/spaceship/connect_api/models/app_preview_set.rb

Defined Under Namespace

Modules: PreviewType

Instance Attribute Summary collapse

Attributes included from Model

#id, #reverse_attr_map

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Model

#attr_mapping, included, #initialize, #reverse_attr_mapping, #to_json, #update_attributes

Instance Attribute Details

#app_previewsObject

Returns the value of attribute app_previews.



11
12
13
# File 'spaceship/lib/spaceship/connect_api/models/app_preview_set.rb', line 11

def app_previews
  @app_previews
end

#preview_typeObject

Returns the value of attribute preview_type.



9
10
11
# File 'spaceship/lib/spaceship/connect_api/models/app_preview_set.rb', line 9

def preview_type
  @preview_type
end

Class Method Details

.all(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object

API



61
62
63
64
65
# File 'spaceship/lib/spaceship/connect_api/models/app_preview_set.rb', line 61

def self.all(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
  client ||= Spaceship::ConnectAPI
  resp = client.get_app_preview_sets(filter: filter, includes: includes, limit: limit, sort: sort)
  return resp.to_models
end

.get(client: nil, app_preview_set_id: nil, includes: "appPreviews") ⇒ Object



67
68
69
70
# File 'spaceship/lib/spaceship/connect_api/models/app_preview_set.rb', line 67

def self.get(client: nil, app_preview_set_id: nil, includes: "appPreviews")
  client ||= Spaceship::ConnectAPI
  return client.get_app_preview_set(app_preview_set_id: app_preview_set_id, filter: nil, includes: includes, limit: nil, sort: nil).first
end

.typeObject



53
54
55
# File 'spaceship/lib/spaceship/connect_api/models/app_preview_set.rb', line 53

def self.type
  return "appPreviewSets"
end

Instance Method Details

#delete!(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) ⇒ Object



72
73
74
75
# File 'spaceship/lib/spaceship/connect_api/models/app_preview_set.rb', line 72

def delete!(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
  client ||= Spaceship::ConnectAPI
  return client.delete_app_preview_set(app_preview_set_id: id)
end

#reorder_previews(client: nil, app_preview_ids: nil) ⇒ Object



101
102
103
104
105
106
# File 'spaceship/lib/spaceship/connect_api/models/app_preview_set.rb', line 101

def reorder_previews(client: nil, app_preview_ids: nil)
  client ||= Spaceship::ConnectAPI
  client.patch_app_preview_set_previews(app_preview_set_id: id, app_preview_ids: app_preview_ids)

  return client.get_app_preview_set(app_preview_set_id: id, includes: "appPreviews").first
end

#upload_preview(client: nil, path: nil, wait_for_processing: true, position: nil, frame_time_code: nil) ⇒ Object



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'spaceship/lib/spaceship/connect_api/models/app_preview_set.rb', line 77

def upload_preview(client: nil, path: nil, wait_for_processing: true, position: nil, frame_time_code: nil)
  client ||= Spaceship::ConnectAPI
  # Upload preview
  preview = Spaceship::ConnectAPI::AppPreview.create(client: client, app_preview_set_id: id, path: path, wait_for_processing: wait_for_processing, frame_time_code: frame_time_code)

  # Reposition (if specified)
  unless position.nil?
    # Get all app preview ids
    set = AppPreviewSet.get(app_preview_set_id: id)
    app_preview_ids = set.app_previews.map(&:id)

    # Remove new uploaded preview
    app_preview_ids.delete(preview.id)

    # Insert preview at specified position
    app_preview_ids = app_preview_ids.insert(position, preview.id).compact

    # Reorder previews
    reorder_previews(app_preview_ids: app_preview_ids)
  end

  return preview
end