class Flow::Build::Service::Parser

Attributes

object[R]
scripts[RW]

Public Class Methods

new(object) click to toggle source

flow-api Project object

# File lib/flow/build/service/parser.rb, line 23
def initialize(object)
  @object  = object
  @scripts = {}

  apply
end

Public Instance Methods

apply() click to toggle source
# File lib/flow/build/service/parser.rb, line 37
def apply
  object.versions.each_with_index do |version, index|
    scripts[index] = [
      header,
      set_env,
      generate_git_script,
      generate_language_script(version),
      footer
    ].join("\n")
  end
end
flow_cmd(sh, options) click to toggle source

options = { echo: false, time: false, retry: false, time: false }

# File lib/flow/build/service/parser.rb, line 31
def flow_cmd(sh, options)
  sh = "flow_cmd " + sh.shellescape
  options.each { |k, v| sh += " --#{k}" if v }
  sh
end
generate_git_script() click to toggle source
# File lib/flow/build/service/parser.rb, line 61
def generate_git_script
  Git.new(
    git_url:   object.git_url,
    ssh_key:   object.private_key,
    repo_dir:  object.repo_dir,
    repo_name: object.repo_name,
    branch:    object.branch
  ).apply
end
generate_language_script(version) click to toggle source
# File lib/flow/build/service/parser.rb, line 71
def generate_language_script(version)
  case object.language
  when 'ruby'
    ruby_apply(version)
  when 'android'
    # Android
  when 'objective_c'
    # Ios
  when 'nodejs'
    nodejs_apply(version)
    # Nodejs
  end
end
header() click to toggle source
# File lib/flow/build/service/parser.rb, line 49
def header
  File.read(File.expand_path('../parser/templates/header.sh', __FILE__))
end
set_env() click to toggle source
# File lib/flow/build/service/parser.rb, line 57
def set_env
  Env.new(object.envs).apply
end