lib/padrino-gen/padrino-tasks/mongomapper.rb in padrino-gen-0.11.0 vs lib/padrino-gen/padrino-tasks/mongomapper.rb in padrino-gen-0.11.1
- old
+ new
@@ -9,48 +9,46 @@
desc 'Drops all the collections for the database for the current Padrino.env'
task :drop => :environment do
MongoMapper.database.collections.select {|c| c.name !~ /system/ }.each(&:drop)
end
- if defined?(I18n)
- desc "Generates .yml files for I18n translations"
- task :translate => :environment do
- models = Dir["#{Padrino.root}/{app,}/models/**/*.rb"].map { |m| File.basename(m, ".rb") }
+ desc "Generates .yml files for I18n translations"
+ task :translate => :environment do
+ models = Dir["#{Padrino.root}/{app,}/models/**/*.rb"].map { |m| File.basename(m, ".rb") }
- models.each do |m|
- # Get the model class
- klass = m.camelize.constantize
+ models.each do |m|
+ # Get the model class
+ klass = m.camelize.constantize
- # Init the processing
- print "Processing #{m.humanize}: "
- FileUtils.mkdir_p("#{Padrino.root}/app/locale/models/#{m}")
- langs = Array(I18n.locale) # for now we use only one
+ # Init the processing
+ print "Processing #{m.humanize}: "
+ FileUtils.mkdir_p("#{Padrino.root}/app/locale/models/#{m}")
+ langs = Array(I18n.locale) # for now we use only one
- # Create models for it and en locales
- langs.each do |lang|
- filename = "#{Padrino.root}/app/locale/models/#{m}/#{lang}.yml"
- columns = klass.keys.values.map(&:name).reject { |name| name =~ /id/i }
- # If the lang file already exist we need to check it
- if File.exist?(filename)
- locale = File.open(filename).read
- columns.each do |c|
- locale += "\n #{c}: #{c.humanize}" unless locale.include?("#{c}:")
- end
- print "Lang #{lang.to_s.upcase} already exist ... "; $stdout.flush
- # Do some ere
- else
- locale = "#{lang}:" + "\n" +
- " models:" + "\n" +
- " #{m}:" + "\n" +
- " name: #{klass.human_name}" + "\n" +
- " attributes:" + "\n" +
- columns.map { |c| " #{c}: #{c.humanize}" }.join("\n")
- print "created a new for #{lang.to_s.upcase} Lang ... "; $stdout.flush
+ # Create models for it and en locales
+ langs.each do |lang|
+ filename = "#{Padrino.root}/app/locale/models/#{m}/#{lang}.yml"
+ columns = klass.keys.values.map(&:name).reject { |name| name =~ /id/i }
+ # If the lang file already exist we need to check it
+ if File.exist?(filename)
+ locale = File.open(filename).read
+ columns.each do |c|
+ locale += "\n #{c}: #{c.humanize}" unless locale.include?("#{c}:")
end
- File.open(filename, "w") { |f| f.puts locale }
+ print "Lang #{lang.to_s.upcase} already exist ... "; $stdout.flush
+ # Do some ere
+ else
+ locale = "#{lang}:" + "\n" +
+ " models:" + "\n" +
+ " #{m}:" + "\n" +
+ " name: #{klass.human_name}" + "\n" +
+ " attributes:" + "\n" +
+ columns.map { |c| " #{c}: #{c.humanize}" }.join("\n")
+ print "created a new for #{lang.to_s.upcase} Lang ... "; $stdout.flush
end
- puts
+ File.open(filename, "w") { |f| f.puts locale }
end
+ puts
end
end
end
task 'db:drop' => 'mm:drop'