class TYCiCore::Podfile
Constants
- PODFILE_TARGET_METHOD
Attributes
content[RW]
file[RW]
main_target[RW]
multi_target[RW]
targets[RW]
Public Class Methods
new(file='./Podfile')
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 28 def initialize(file='./Podfile') @file = file puts 'Can not find a Podfile'.red unless File.exist? @file @content = File.read @file @multi_target = is_multi_target @targets = targets @main_target = @targets[0][0] if (@targets.size > 0 && @targets[0].size > 0) end
Public Instance Methods
save()
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 71 def save puts "Podfile: #{@file} saved".green puts "Podfile content is: \n #{@content}".green fh = File.new(@file, "w") fh.puts @content fh.close end
source_add(source)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 49 def source_add(source) if source.nil? || source.empty? puts "source is empty".red elsif source_exist(source) puts "source #{source} alread exist".yellow else line = TYUtil::TYFile.line_contain_content(@content, "source") TYUtil::TYFile.add_to_line(@content, "source '#{source}'", line) end end
source_exist(source)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 45 def source_exist(source) TYUtil::TYFile.line_contain_content(@content, source) > 0 end
source_replace(replace_old, replace_new)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 41 def source_replace(replace_old, replace_new) @content.gsub!(/#{replace_old}/, replace_new) end
update(updates, deletes)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 60 def update(updates, deletes) puts "Podfile must contain at least one target".red unless @main_target if @multi_target update_pod_methods(updates, deletes) else update_single_target(updates, deletes) end end
Private Instance Methods
debug?(name)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 145 def debug?(name) @content.scan(/^[^#]\s*pod\s*'#{name}',(.*,)*\s*:configuration\s*=>\s*'Debug'/).size > 0 end
is_multi_target()
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 149 def is_multi_target @content.include? PODFILE_TARGET_METHOD end
update_delete_pods(deletes)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 108 def update_delete_pods(deletes) deletes.each do |delete| json = JSON.parse(JSON(delete)) name = json["name"] @content.gsub!(/^\s*pod\s*'#{name}'(.*)$/, "") end end
update_pod_methods(updates, deletes)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 83 def update_pod_methods(updates, deletes) update_pods(updates, deletes, "def #{PODFILE_TARGET_METHOD}") end
update_pods(updates, deletes, mark_label)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 91 def update_pods(updates, deletes, mark_label) append_modules = "#{mark_label}\n" append_modules = update_update_pods(updates, append_modules) if updates && updates.size > 0 # deletes.each do |delete| # json = JSON.parse(JSON(delete)) # name = json["name"] # @content.gsub!(/\s*pod\s*'#{name}(.*)'$/, "") # end update_delete_pods deletes if deletes && deletes.size > 0 @content.gsub!(/^#{mark_label}/, "#{append_modules}\n") @content.gsub!(/\n{2,}/, "\n") end
update_single_target(updates, deletes)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 87 def update_single_target(updates, deletes) update_pods(updates, deletes, "target '#{@main_target}' do") end
update_update_pods(updates, append_modules)
click to toggle source
# File lib/tuya/ci/core/podfile.rb, line 117 def update_update_pods(updates, append_modules) updates.each do |update| json = JSON.parse(JSON(update)) name = json["name"] version = json["version"] module_replace = "\n pod '#{name}', '#{version}'" if @content.scan(/^[^#]\s*pod\s*'#{name}'(.*)'$/).size == 0 puts "Module #{name} can not find".yellow append_modules << module_replace else puts "Module #{name} got it".green if debug? name puts "Module #{name} find debug parameter".green module_replace = "#{module_replace}, :configuration => 'Debug'" else puts "Module #{name} did not find debug".yellow end @content.gsub!(/^[^#]\s*pod\s*'#{name}'(.*)'$/, module_replace) end end append_modules end