class Objc2swiftAssistant::Assistant
Attributes
config[RW]
config_file_path[RW]
configuration[RW]
dest_root[RW]
log_level_name[RW]
recognizers[RW]
source_root[RW]
structure_option[RW]
Public Class Methods
new( source, dest, config_file, log_level_name, structure_option)
click to toggle source
# File lib/assistant.rb, line 29 def initialize( source, dest, config_file, log_level_name, structure_option) @source_root = source @dest_root = dest @config_file_path = config_file.nil? ? nil : Pathname.new( config_file ) @log_level_name = log_level_name @structure_option = structure_option @recognizers = [ CategoryDeclarationRecognizer.new(), CategoryImplRecognizer.new(), ProtocolRecognizer.new(), #EnumRecognizer.new(), ImplementationRecognizer.new(), InterfaceRecognizer.new(), MethodRecognizer.new(), PropertyDeclarationRecognizer.new(), AtDirectiveRecognizer.new() #PragmaMarkRecognizer.new() ] end
Public Instance Methods
generate( dry_run )
click to toggle source
# File lib/assistant.rb, line 55 def generate( dry_run ) unless @config_file_path.nil? log_stage_start( 'Reading Configuration File' ) end @recognizers.each do | recognizer | recognizer.configuration = @configuration end source_file_set = ObjCFileSet.new( @source_root, @recognizers, configuration:@configuration) log_stage_start( 'Scanning Objective-C Source Files' ) source_file_set.scan log_stage_start( 'Recognizing code fragmants' ) source_file_set.recognize_code_fragments log_stage_start( 'Converting to Swift' ) source_file_set.prepare_conversion source_file_set.generate_swift_file_set( @dest_root, dry_run ) source_file_set.dump( '', ' ', @configuration.dump_only_errors ) if @configuration.dump_source # TODO # source_file_set.generate_swift_files(dry_run) # # generator = SwiftFileGenerator( @dest_root, source_file_set ) # generator.map_sources_to_destinations # if writeCode # # else # generator.concat_source_files() end
log_stage_start( text )
click to toggle source
# File lib/assistant.rb, line 104 def log_stage_start( text ) return unless @verbose @configuration.log_verbose( "\n---------------------------------------- #{text} ----------------------------------------\n\n" ) end
read_config_file()
click to toggle source
# File lib/assistant.rb, line 92 def read_config_file if @config_file_path.nil? @configuration = ObjC2SwiftConfiguration.new( {}, @log_level_name, @structure_option ) else file_data = @config_file_path.read config_hash = JSON.parse(file_data) @configuration = ObjC2SwiftConfiguration.new( config_hash, @log_level_name, @structure_option ) end @configuration.load_configuration end
update()
click to toggle source
# File lib/assistant.rb, line 49 def update source_file_set = ObjCFileSet.new( @source_root, @config_hash ) source_file_set.scan end