Class: RokuBuilder::Scripter

Inherits:
Object
  • Object
show all
Defined in:
lib/roku_builder/scripter.rb

Overview

Helper for extending for scripting

Class Method Summary collapse

Class Method Details

Prints attributes from config or project to allow scripting

Parameters:

  • attribute (Symbol)

    attribute to print

  • configs (Hash)

    Parsed config hash



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/roku_builder/scripter.rb', line 11

def self.print(attribute:, configs:)
  attributes = [
    :title, :build_version, :app_version, :root_dir
  ]

  unless attributes.include? attribute
    return BAD_PRINT_ATTRIBUTE
  end

  read_config = {root_dir: configs[:project_config][:directory]}

  case attribute
  when :root_dir
    printf "%s", configs[:project_config][:directory]
  when :title
    printf "%s", ManifestManager.read_manifest(**read_config)[:title]
  when :build_version
    printf "%s", ManifestManager.read_manifest(**read_config)[:build_version]
  when :app_version
    major = ManifestManager.read_manifest(**read_config)[:major_version]
    minor = ManifestManager.read_manifest(**read_config)[:minor_version]
    printf "%s.%s", major, minor
  end
  SUCCESS
end