class XcMetricsAggregator::Product

Public Class Methods

new(path) click to toggle source
# File lib/xc_metrics_aggregator/product.rb, line 26
def initialize(path)
  @path = path
end

Public Instance Methods

bundle_id() click to toggle source
# File lib/xc_metrics_aggregator/product.rb, line 18
def bundle_id
    Pathname.new(@path).basename.to_s
end
has_metrics?() click to toggle source
# File lib/xc_metrics_aggregator/product.rb, line 22
def has_metrics?
    File.exists?(metrics_dir)
end
metrics_dir() click to toggle source
# File lib/xc_metrics_aggregator/product.rb, line 10
def metrics_dir
  Pathname.new(File.join(@path, 'Metrics'))
end
metrics_file() click to toggle source
# File lib/xc_metrics_aggregator/product.rb, line 14
def metrics_file
    Pathname.new(File.join(metrics_dir, 'AppStore/Metrics.xcmetricsdata'))
end
open() { |load(file, symbolize_names: true)| ... } click to toggle source
# File lib/xc_metrics_aggregator/product.rb, line 30
def open
  FileNotFoundException.new("File not Found: #{metrics_file}") unless has_metrics?
  File.open(metrics_file) do |file|
    yield JSON.load(file, symbolize_names: true)
  end
end
try_to_open() { |load(file, symbolize_names: true)| ... } click to toggle source
# File lib/xc_metrics_aggregator/product.rb, line 38
def try_to_open
  return unless has_metrics?
  File.open(metrics_file) do |file|
    yield JSON.load(file, symbolize_names: true)
  end
end