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