Sha256: 29d8b78f92019e3304072f485ab361ff83369d0514993a5216af33712616bd6e

Contents?: true

Size: 1.24 KB

Versions: 90

Compression:

Stored size: 1.24 KB

Contents

# ********** Copyright Viacom, Inc. Apache 2.0 **********

module RokuBuilder

  # Helper for extending for scripting
  class Scripter
    extend Plugin

    def self.commands
      {print: {source: true, stage: true}}
    end

    def self.parse_options(parser:, options:)
      parser.separator("Commands:")
      parser.on("--print ATTRIBUTE", "Print attribute for scripting") do |a|
        options[:print] = a.to_sym
      end
    end

    def initialize(config:)
      @config = config
    end

    def print(options:)
      manifest = Manifest.new(config: @config)

      case options[:print]
      when :root_dir
        printf "%s", @config.project[:directory]
      when :app_name
        printf "%s", @config.project[:app_name]
      when :title
        printf "%s", manifest.title
      when :build_version
        printf "%s", manifest.build_version
      when :app_version
        major = manifest.major_version
        minor = manifest.minor_version
        printf "%s.%s", major, minor
      else
        if manifest.send(options[:print])
          printf manifest.send(options[:print])
        else
          raise ExecutionError, "Unknown attribute: #{options[:print]}"
        end
      end
    end
  end

  RokuBuilder.register_plugin(Scripter)
end

Version data entries

90 entries across 90 versions & 1 rubygems

Version Path
roku_builder-4.30.0 lib/roku_builder/plugins/scripter.rb
roku_builder-4.29.9 lib/roku_builder/plugins/scripter.rb
roku_builder-4.29.8 lib/roku_builder/plugins/scripter.rb
roku_builder-4.29.7 lib/roku_builder/plugins/scripter.rb
roku_builder-4.29.6 lib/roku_builder/plugins/scripter.rb
roku_builder-4.29.4 lib/roku_builder/plugins/scripter.rb
roku_builder-4.29.2 lib/roku_builder/plugins/scripter.rb
roku_builder-4.29.1 lib/roku_builder/plugins/scripter.rb
roku_builder-4.28.0 lib/roku_builder/plugins/scripter.rb
roku_builder-4.27.2 lib/roku_builder/plugins/scripter.rb
roku_builder-4.27.1 lib/roku_builder/plugins/scripter.rb
roku_builder-4.27.0 lib/roku_builder/plugins/scripter.rb
roku_builder-4.26.2 lib/roku_builder/plugins/scripter.rb
roku_builder-4.26.1 lib/roku_builder/plugins/scripter.rb
roku_builder-4.26.0 lib/roku_builder/plugins/scripter.rb
roku_builder-4.25.6 lib/roku_builder/plugins/scripter.rb
roku_builder-4.25.5 lib/roku_builder/plugins/scripter.rb
roku_builder-4.25.4 lib/roku_builder/plugins/scripter.rb
roku_builder-4.25.3 lib/roku_builder/plugins/scripter.rb
roku_builder-4.25.1 lib/roku_builder/plugins/scripter.rb