lib/babelyoda.rb in babelyoda-2.0.5 vs lib/babelyoda.rb in babelyoda-2.0.6

- old
+ new

@@ -103,10 +103,28 @@ spec.engine.create(keyset_name) $logger.debug "Tanker: Created NEW keyset: #{keyset_name}" end end end + + desc "Drops remote keysets not found locally" + task :drop_orphan_keysets => :create_keysets do + $logger.info "Dropping orphan keysets..." + local_keysets = spec.strings_files.map do |filename| + strings = Babelyoda::Strings.new(filename, spec.development_language) + strings.name + end + count = 0 + spec.engine.list.each do |remote_keyset_name| + unless local_keysets.include?(remote_keyset_name) + $logger.debug "Dropping keyset: #{remote_keyset_name}" + spec.engine.drop_keyset!(remote_keyset_name) + count += 1 + end + end + $logger.info "Dropped keysets: #{count}" if count > 0 + end desc "Drops remote keys not found in local keysets" task :drop_orphan_keys => :create_keysets do $logger.info "Dropping orphan keys..." spec.strings_files.each do |filename| @@ -132,10 +150,10 @@ end end end desc "Pushes resources to the translators" - task :push => :drop_orphan_keys do + task :push => [:drop_orphan_keysets, :drop_orphan_keys] do $logger.info "Pushing local keys to the remote..." spec.strings_files.each do |filename| strings = Babelyoda::Strings.new(filename, spec.development_language).read! $logger.debug "Processing keyset: #{strings.name}" remote_keyset = spec.engine.load_keyset(strings.name, nil, :unapproved)