class Locca::Locca

Public Instance Methods

audit(project) click to toggle source
# File lib/locca.rb, line 62
def audit(project)
    if not project
        raise 'Can\'t initialize Locca with nil project'
    end

    action = AuditAction.new(project, project.collection_builder(), project.collections_generator())
    failed_audit_results = action.execute()

    failed_audit_results.each do |audit_result|
        puts()
        puts(">>> #{project.name}/#{audit_result.lang}/#{audit_result.collection_name}")
        unless audit_result.missing_keys.empty?
            puts("Missing Keys:")
            audit_result.missing_keys.each do |key|
                puts("- #{key}")
            end
        end

        unless audit_result.extra_keys.empty?
            puts("Extra Keys:")
            audit_result.extra_keys.each do |key|
                puts("- #{key}")
            end
        end

        unless audit_result.untranslated_keys.empty?
            puts("Untranslated:")
            audit_result.untranslated_keys.each do |key|
                puts("- #{key}")
            end
        end
    end

    return failed_audit_results.empty?
end
build(project) click to toggle source
# File lib/locca.rb, line 98
def build(project)
    if not project
        raise 'Can\'t initialize Locca with nil project'
    end

    build_action(project).execute()
end
build_action(project) click to toggle source
# File lib/locca.rb, line 140
def build_action(project)
    return BuildAction.new(project, project.collection_builder(), project.collection_writer(), project.collections_generator(), collection_merger())
end
collection_merger() click to toggle source
# File lib/locca.rb, line 150
def collection_merger()
    return CollectionMerger.new()
end
fetch(project) click to toggle source
# File lib/locca.rb, line 119
def fetch(project)
    if not project
        raise 'Can\'t initialize Locca with nil project'
    end
    
    one_sky_action(project).fetch()
end
merge(src_file, dst_file) click to toggle source
# File lib/locca.rb, line 106
def merge(src_file, dst_file)
    action = MergeAction.new(src_file, dst_file, collection_builder(), collection_writer(), collection_merger())
    action.execute()
end
one_sky_action(project) click to toggle source
# File lib/locca.rb, line 144
def one_sky_action(project)
    onesky = Onesky.new(project.config_value_for_key('onesky_project_id'), project.config_value_for_key('onesky_public_key'), project.config_value_for_key('onesky_secret_key'))

    return OneskySyncAction.new(project, onesky, project.collection_builder(), project.collection_writer(), project.collections_generator(), collection_merger())
end
sync(project, prune_missing_strings = false) click to toggle source
# File lib/locca.rb, line 111
def sync(project, prune_missing_strings = false)
    if not project
        raise 'Can\'t initialize Locca with nil project'
    end
    
    one_sky_action(project).sync(prune_missing_strings)
end
translate(project, lang = nil) click to toggle source
# File lib/locca.rb, line 127
def translate(project, lang = nil)
    if not project
        raise 'Can\'t initialize Locca with nil project'
    end

    if not lang
        lang = project.base_lang
    end

    action = TranslateAction.new(project, lang, project.collection_builder(), project.collection_writer(), collection_merger())
    action.execute()
end