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)