class TuyaCIDSL::TuyaDSL
Attributes
strategy_auto[RW]
Public Class Methods
new()
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 11 def initialize @default_root_file = 'CIFile' @default_folder = 'CIMonitors' @files = [] @monitors = {} @strategy_auto = {} load_files end
Public Instance Methods
insert_strategy(strategy)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 32 def insert_strategy(strategy) unless strategy.class == Hash return end strategy.keys.each do |item| unless item.is_a?(Symbol) strategy[item.to_sym] = strategy[item] end end @strategy_auto = strategy end
load_monitors()
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 46 def load_monitors @files.each do |item| add_monitor item end # puts @monitors end
load_monitors_git(git)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 20 def load_monitors_git(git) git_downloader = TYCiCore::GitDownloader.new git git_downloader.download '.dsl_common' load_monitors_path git_downloader.folder_path end
load_monitors_path(path)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 26 def load_monitors_path(path) if File.exist? path @files += Dir["#{path}/**/*"].reject{|o|File.directory?(o)} end end
trigger_module_begin(options)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 53 def trigger_module_begin(options) trigger 'before_module_build', options end
trigger_module_end(options)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 57 def trigger_module_end(options) trigger 'after_module_build', options end
trigger_project_begin(options)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 69 def trigger_project_begin(options) trigger 'before_project_build', options end
trigger_project_end(options)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 77 def trigger_project_end(options) trigger 'after_project_build', options end
trigger_project_pod_update_end(options)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 73 def trigger_project_pod_update_end(options) trigger 'building_project_pod_update_end', options end
trigger_sdk_begin(options)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 61 def trigger_sdk_begin(options) trigger 'before_sdk_build', options end
trigger_sdk_end(options)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 65 def trigger_sdk_end(options) trigger 'after_sdk_build', options end
Private Instance Methods
add_monitor(file)
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 101 def add_monitor(file) analyzer = TuyaCIDSL::Analyzer.new file monitor = analyzer.p_monitor @monitors[file] = monitor end
load_files()
click to toggle source
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 94 def load_files @files << "./#{@default_root_file}" if File.exist? "./#{@default_root_file}" if File.exist? "./#{@default_folder}/" @files += Dir["./#{@default_folder}/**/*"].reject{|o|File.directory?(o)} end end
trigger(action, options)
click to toggle source
trigger 执行策略
# File lib/tuya/ci/DSL/tuya_dsl.rb, line 85 def trigger(action, options) # puts "trigger action: #{action} options: #{options}" @monitors.each_key do |key| item = @monitors[key] item.exe_action action, options, key end end