Class: Fabricio::Service::BuildService

Inherits:
Object
  • Object
show all
Defined in:
lib/fabricio/services/build_service.rb

Overview

Service responsible for fetching different Build information

Instance Method Summary collapse

Constructor Details

#initialize(session, network_client) ⇒ Fabricio::Service::BuildService

Initializes a new BuildService object.



15
16
17
18
19
20
# File 'lib/fabricio/services/build_service.rb', line 15

def initialize(session, network_client)
  @session = session

  @request_model_factory = Fabricio::Networking::BuildRequestModelFactory.new
  @network_client = network_client
end

Instance Method Details

#all(app_id) ⇒ Array<Fabricio::Model::Build>

Obtains the list of all application builds

Parameters:

  • app_id (String)

    Application identifier

Returns:



26
27
28
29
30
31
32
# File 'lib/fabricio/services/build_service.rb', line 26

def all(app_id)
  request_model = @request_model_factory.all_builds_request_model(@session, app_id)
  response = @network_client.perform_request(request_model)
  JSON.parse(response.body)['instances'].map do |hash|
    Fabricio::Model::Build.new(hash)
  end
end

#get(app_id, version, build_number) ⇒ Fabricio::Model::Build

Obtains a specific build for a specific application

Parameters:

  • app_id (String)

    Application identifier

  • version (String)

    Build version. E.g. ‘4.0.1’.

  • build_number (String)

    Build number. E.g. ‘39’.

Returns:



40
41
42
43
44
# File 'lib/fabricio/services/build_service.rb', line 40

def get(app_id, version, build_number)
  request_model = @request_model_factory.get_build_request_model(@session, app_id, version, build_number)
  response = @network_client.perform_request(request_model)
  Fabricio::Model::Build.new(JSON.parse(response.body)['instances'].first)
end

#top_versions(app_id, start_time, end_time) ⇒ Array<String>

Obtains an array of top versions for a given app

Parameters:

  • app_id (String)

    Application identifier

  • start_time (String)

    Timestamp of the start date

  • end_time (String)

    Timestamp of the end date

Returns:

  • (Array<String>)


52
53
54
55
56
# File 'lib/fabricio/services/build_service.rb', line 52

def top_versions(app_id, start_time, end_time)
  request_model = @request_model_factory.top_versions_request_model(@session, app_id, start_time, end_time)
  response = @network_client.perform_request(request_model)
  JSON.parse(response.body)['builds']
end