Module: StrawberryAPI::Client::ArchiveStrategies

Included in:
StrawberryAPI::Client
Defined in:
lib/strawberry_api/client/archive_strategies.rb

Instance Method Summary collapse

Instance Method Details

#archive_strategiesArray<StrawberryAPI::ArchiveStrategy>

Fetches all archive strategies

Returns:



10
11
12
13
14
# File 'lib/strawberry_api/client/archive_strategies.rb', line 10

def archive_strategies
  get("/archive_strategies").parse['array']&.map do |archive_strategy|
    ArchiveStrategy.new(archive_strategy)
  end
end

#archive_strategies_configurationHash

Featches archive strategies configuration

Returns:

  • (Hash)

    The fetched archive strategies configuration



81
82
83
# File 'lib/strawberry_api/client/archive_strategies.rb', line 81

def archive_strategies_configuration
  get("/archive_strategies/configuration").parse['hash']
end

#archive_strategy(id:) ⇒ StrawberryAPI::ArchiveStrategy

Fetches an archive strategy

Parameters:

  • id (Integer)

    Id of the archive strategy to retrieve

Returns:



22
23
24
25
# File 'lib/strawberry_api/client/archive_strategies.rb', line 22

def archive_strategy(id:)
  data = get("/archive_strategies/#{id}").parse['archivestrategy']
  data.nil? ? nil : ArchiveStrategy.new(data)
end

#create_archive_strategy(name:, destination:, format: 'plain', admin_only: true, includes: 'none', transmission_check: 'fingerprint', enabled: true, strategy_type: 'native') ⇒ StrawberryAPI::ArchiveStrategy

Creates an archive strategy

Parameters:

  • name (String)
  • destination (String)
  • [String] (Hash)

    a customizable set of options

  • [Boolean] (Hash)

    a customizable set of options

Returns:



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/strawberry_api/client/archive_strategies.rb', line 40

def create_archive_strategy(name:, destination:, format: 'plain', admin_only: true, includes: 'none', transmission_check: 'fingerprint', enabled: true, strategy_type: 'native')
  body = {
    name: name,
    destination: destination,
    format: format,
    admin_only: admin_only,
    includes: includes,
    transmission_check: transmission_check,
    enabled: enabled,
    strategy_type: strategy_type
  }.to_json
  
  data = post("/archive_strategies", body: body).parse['archivestrategy']
  data.nil? ? nil : ArchiveStrategy.new(data)
end

#update_archive_strategy(id:, **options) ⇒ StrawberryAPI::ArchiveStrategy

Updates an archive strategy

Parameters:

  • id (Integer)

    Id of the user to update

  • options (Hash)

    a customizable set of options

Options Hash (**options):

  • name (String)
  • destination (String)
  • format (String)
  • admin_only (String)
  • enabled (String)
  • includes (String)
  • transmission_check (String)

Returns:



69
70
71
72
73
74
# File 'lib/strawberry_api/client/archive_strategies.rb', line 69

def update_archive_strategy(id:, **options)
  body = args.to_json
  
  data = put("/archive_strategies/#{id}", body: body).parse['archivestrategy']
  data.nil? ? nil : ArchiveStrategy.new(data)
end