makeloc 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3c3297d64350000d25e07ec808effc15b32ce49
4
- data.tar.gz: 6228dc7c55ea3b39b010c1127de101ecf6acfd6d
3
+ metadata.gz: e3d4e4f0024656f307a78ca6f2666e6c393dc05d
4
+ data.tar.gz: 00f1cb02e417f676c20b02ac87334711841a10a9
5
5
  SHA512:
6
- metadata.gz: a1fe14e2fda18c9c551a562b6d84cc005916a2787ef50c698a26613a5ddcd8290f168c5dca00717f0aa6f70bf4175a67e5057291825939e64dc2670e77e7acf0
7
- data.tar.gz: f522bb692318cd4102469e7e84a7ca9cf3f3a3b3081e46990f4d5fc4d077e5055340693307348efa233ebf945a5ff5e8f890d180a880d5fc890a5f1c46276289
6
+ metadata.gz: 5cf55090558bb393400048527940adb4e7aca1c1241b3b2d33edd13db4e697b92a2a2b0037d568f12f848323fbb8c236dc5997f0cdc3bff3e46e3c095fa682d8
7
+ data.tar.gz: 883bedc6f342a923d02a9b7e230a4ecb7f1e07b9211b7273b7f3237e298bd316ab813b1039a3c8794d58035d93e0dfec8839d5c22f626accf317e5bac9d36260
data/README.md CHANGED
@@ -12,8 +12,9 @@ Makeloc, given a reference filepath (formatted as `path/to/file/context.referenc
12
12
  ## Usage
13
13
  Makeloc is a generator. The following will create, or update if it exists, the file `config/locales/activerecord.it.yml`
14
14
 
15
- rails g makeloc:do it config/locales/activerecord.en.yml
15
+ rails g makeloc:do it config/locales/activerecord.en.yml [--strict]
16
16
 
17
+ with option --strict it overwrites (if already present) the generated locale file deleting its original extra translations
17
18
 
18
19
  ## Test
19
20
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.2.0
@@ -37,29 +37,47 @@ class Hash
37
37
  end
38
38
  end
39
39
 
40
- def at(path)
40
+ def at(path,opts={})
41
41
  array_path = path.to_s.split('.')
42
42
  current_key = array_path.shift
43
+ # raise ArgumentError, "wrong key " unless self.keys.include?(current_key)
44
+ raise ArgumentError, "wrong opts" unless (opts.empty? or opts[:set])
43
45
  if array_path.empty?
44
- self[current_key]
46
+ case opts[:set]
47
+ when :delete
48
+ self.delete(current_key)
49
+ when nil
50
+ self[current_key]
51
+ else
52
+ self[current_key] = opts[:set]
53
+ end
45
54
  else
46
- self[current_key].at(array_path.join('.'))
55
+ self[current_key] and self[current_key].at(array_path.join('.'),opts)
47
56
  end
48
57
  end
49
58
 
59
+ def delete_at(path)
60
+ at(path, :set => :delete)
61
+ end
62
+
50
63
  end
51
64
 
52
- # hash = { a: 1, b: { d: 2, e: [3, 4] }, c: {f: 0, g: 3} }
65
+ # # hash = { a: 1, b: { d: 2, e: [3, 4] }, c: {f: 0, g: 3} }
53
66
  # hash = {"date"=>{"abbr_day_names"=>["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], "abbr_month_names"=>[nil, "Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], "day_names"=>["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], "formats"=>{"default"=>"%d-%m-%Y", "long"=>"%d %B %Y", "short"=>"%d %b"}, "month_names"=>[nil, "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], "order"=>[:day, :month, :year]}, "datetime"=>{"distance_in_words"=>{"about_x_hours"=>{"one"=>"circa un'ora", "other"=>"circa %{count} ore"}, "about_x_months"=>{"one"=>"circa un mese", "other"=>"circa %{count} mesi"}, "about_x_years"=>{"one"=>"circa un anno", "other"=>"circa %{count} anni"}, "almost_x_years"=>{"one"=>"circa 1 anno", "other"=>"circa %{count} anni"}, "half_a_minute"=>"mezzo minuto", "less_than_x_minutes"=>{"one"=>"meno di un minuto", "other"=>"meno di %{count} minuti"}, "less_than_x_seconds"=>{"one"=>"meno di un secondo", "other"=>"meno di %{count} secondi"}, "over_x_years"=>{"one"=>"oltre un anno", "other"=>"oltre %{count} anni"}, "x_days"=>{"one"=>"1 giorno", "other"=>"%{count} giorni"}, "x_minutes"=>{"one"=>"1 minuto", "other"=>"%{count} minuti"}, "x_months"=>{"one"=>"1 mese", "other"=>"%{count} mesi"}, "x_seconds"=>{"one"=>"1 secondo", "other"=>"%{count} secondi"}}, "prompts"=>{"day"=>"Giorno", "hour"=>"Ora", "minute"=>"Minuto", "month"=>"Mese", "second"=>"Secondi", "year"=>"Anno"}}, "errors"=>{"format"=>"%{attribute} %{message}", "messages"=>{"accepted"=>"deve essere accettata", "blank"=>"non può essere lasciato in bianco", "confirmation"=>"non coincide con la conferma", "empty"=>"non può essere vuoto", "equal_to"=>"deve essere uguale a %{count}", "even"=>"deve essere pari", "exclusion"=>"è riservato", "greater_than"=>"deve essere superiore a %{count}", "greater_than_or_equal_to"=>"deve essere superiore o uguale a %{count}", "inclusion"=>"non è incluso nella lista", "invalid"=>"non è valido", "less_than"=>"deve essere meno di %{count}", "less_than_or_equal_to"=>"deve essere meno o uguale a %{count}", "not_a_number"=>"non è un numero", "not_an_integer"=>"non è un intero", "odd"=>"deve essere dispari", "record_invalid"=>"Validazione fallita: %{errors}", "taken"=>"è già in uso", "too_long"=>{"one"=>"è troppo lungo (il massimo è 1 carattere)", "other"=>"è troppo lungo (il massimo è %{count} caratteri)"}, "too_short"=>{"one"=>"è troppo corto (il minimo è 1 carattere)", "other"=>"è troppo corto (il minimo è %{count} caratteri)"}, "wrong_length"=>{"one"=>"è della lunghezza sbagliata (deve essere di 1 carattere)", "other"=>"è della lunghezza sbagliata (deve essere di %{count} caratteri)"}}, "template"=>{"body"=>"Per favore ricontrolla i seguenti campi:", "header"=>{"one"=>"Non posso salvare questo %{model}: 1 errore", "other"=>"Non posso salvare questo %{model}: %{count} errori."}}}, "helpers"=>{"select"=>{"prompt"=>"Per favore, seleziona", "prompt_allow_nil"=>"Per favore, seleziona o lascia in binaco"}, "submit"=>{"create"=>"Crea %{model}", "submit"=>"Invia %{model}", "update"=>"Aggiorna %{model}", "cancel"=>"Annulla %{model}", "reset"=>"Cancella %{model}", "add"=>"Aggiungi %{model}"}, "links"=>{"new"=>"Nuovo %{model}", "add"=>"Aggiungi %{model}", "edit"=>"Modifica %{model}", "reset"=>"Reset", "back"=>"Indietro", "cancel"=>"Annulla", "confirm"=>"Sei sicuro?", "destroy"=>"Elimina %{model}", "show"=>"Visualizza %{model}"}, "titles"=>{"index"=>"Lista %{model}", "edit"=>"Modifica %{model}", "new"=>"Nuovo %{model}", "show"=>"Riepilogo %{model}"}, "tooltips"=>{"edit"=>"Modifica %{model}", "save"=>"Salva %{model}", "new"=>"Crea %{model}", "destroy"=>"Elimina %{model}", "back"=>"Torna alla lista", "show"=>"Visualizza %{model}", "add"=>"Aggiungi %{model}"}}, "sign_out"=>"Esci", "sign_in"=>"Accedi", "number"=>{"currency"=>{"format"=>{"delimiter"=>",", "format"=>"%n %u", "precision"=>2, "separator"=>".", "significant"=>false, "strip_insignificant_zeros"=>false, "unit"=>"€"}}, "format"=>{"delimiter"=>",", "precision"=>2, "separator"=>".", "significant"=>false, "strip_insignificant_zeros"=>false}, "human"=>{"decimal_units"=>{"format"=>"%n %u", "units"=>{"billion"=>"Miliardi", "million"=>"Milioni", "quadrillion"=>"Biliardi", "thousand"=>"Mila", "trillion"=>"Bilioni", "unit"=>""}}, "format"=>{"delimiter"=>"", "precision"=>1, "significant"=>true, "strip_insignificant_zeros"=>true}, "storage_units"=>{"format"=>"%n %u", "units"=>{"byte"=>{"one"=>"Byte", "other"=>"Byte"}, "gb"=>"GB", "kb"=>"KB", "mb"=>"MB", "tb"=>"TB"}}}, "percentage"=>{"format"=>{"delimiter"=>""}}, "precision"=>{"format"=>{"delimiter"=>""}}}, "support"=>{"array"=>{"last_word_connector"=>" e ", "two_words_connector"=>" e ", "words_connector"=>", "}}, "time"=>{"am"=>"am", "formats"=>{"default"=>"%a %d %b %Y, %H:%M:%S %z", "long"=>"%d %B %Y %H:%M", "short"=>"%d %b %H:%M"}, "pm"=>"pm"}, "gender_suffix"=>{"M"=>"o", "F"=>"a"}, "activemodel"=>{"errors"=>{"format"=>"%{attribute} %{message}", "messages"=>{"accepted"=>"deve essere accettata", "blank"=>"non può essere lasciato in bianco", "confirmation"=>"non coincide con la conferma", "empty"=>"non può essere vuoto", "equal_to"=>"deve essere uguale a %{count}", "even"=>"deve essere pari", "exclusion"=>"è riservato", "greater_than"=>"deve essere superiore a %{count}", "greater_than_or_equal_to"=>"deve essere superiore o uguale a %{count}", "inclusion"=>"non è incluso nella lista", "invalid"=>"non è valido", "less_than"=>"deve essere meno di %{count}", "less_than_or_equal_to"=>"deve essere meno o uguale a %{count}", "not_a_number"=>"non è un numero", "not_an_integer"=>"non è un intero", "odd"=>"deve essere dispari", "record_invalid"=>"Validazione fallita: %{errors}", "taken"=>"è già in uso", "too_long"=>{"one"=>"è troppo lungo (il massimo è 1 carattere)", "other"=>"è troppo lungo (il massimo è %{count} caratteri)"}, "too_short"=>{"one"=>"è troppo corto (il minimo è 1 carattere)", "other"=>"è troppo corto (il minimo è %{count} caratteri)"}, "wrong_length"=>{"one"=>"è della lunghezza sbagliata (deve essere di 1 carattere)", "other"=>"è della lunghezza sbagliata (deve essere di %{count} caratteri)"}}, "template"=>{"body"=>"Per favore ricontrolla i seguenti campi:", "header"=>{"one"=>"Non posso salvare questo %{model}: 1 errore", "other"=>"Non posso salvare questo %{model}: %{count} errori."}}}}, "activerecord"=>{"errors"=>{"format"=>"%{attribute} %{message}", "messages"=>{"accepted"=>"deve essere accettata", "blank"=>"non può essere lasciato in bianco", "confirmation"=>"non coincide con la conferma", "empty"=>"non può essere vuoto", "equal_to"=>"deve essere uguale a %{count}", "even"=>"deve essere pari", "exclusion"=>"è riservato", "greater_than"=>"deve essere superiore a %{count}", "greater_than_or_equal_to"=>"deve essere superiore o uguale a %{count}", "inclusion"=>"non è incluso nella lista", "invalid"=>"non è valido", "less_than"=>"deve essere meno di %{count}", "less_than_or_equal_to"=>"deve essere meno o uguale a %{count}", "not_a_number"=>"non è un numero", "not_an_integer"=>"non è un intero", "odd"=>"deve essere dispari", "record_invalid"=>"Validazione fallita: %{errors}", "taken"=>"è già in uso", "too_long"=>{"one"=>"è troppo lungo (il massimo è 1 carattere)", "other"=>"è troppo lungo (il massimo è %{count} caratteri)"}, "too_short"=>{"one"=>"è troppo corto (il minimo è 1 carattere)", "other"=>"è troppo corto (il minimo è %{count} caratteri)"}, "wrong_length"=>{"one"=>"è della lunghezza sbagliata (deve essere di 1 carattere)", "other"=>"è della lunghezza sbagliata (deve essere di %{count} caratteri)"}}, "template"=>{"body"=>"Per favore ricontrolla i seguenti campi:", "header"=>{"one"=>"Non posso salvare questo %{model}: 1 errore", "other"=>"Non posso salvare questo %{model}: %{count} errori."}}}}}
54
67
 
55
- # puts hash.at('date.day_names')
68
+ # # puts hash.at('date.dady_names').nil?
69
+ # # puts hash.at('datetime.distance_in_words.about_x_hours.one', :set => 'ciccio')
70
+ # # puts hash.at('datetime.distance_in_words.about_x_hours.one')
71
+ # # puts hash.at('datetime.distance_in_words.about_x_hours.one', :set => :delete)
72
+ # puts hash.delete_at('datetime.distance_in_words.about_x_hours.one')
73
+ # puts hash.at('datetime.distance_in_words.about_x_hours')
56
74
 
57
- # hash.parse{|k,v| puts "#{k} => #{v}"}
58
- # puts
59
- # hash.parse_leaves{|k,v| puts "#{k} => #{v}"}
60
- # puts
61
- # hash.parse(true){|k,v| puts "#{k} => #{v}"}
62
- # puts
63
- # hash.update_leaves!{|k,v| nil }
75
+ # # hash.parse{|k,v| puts "#{k} => #{v}"}
76
+ # # puts
77
+ # # hash.parse_leaves{|k,v| puts "#{k} => #{v}"}
78
+ # # puts
79
+ # # hash.parse(true){|k,v| puts "#{k} => #{v}"}
80
+ # # puts
81
+ # # hash.update_leaves!{|k,v| nil }
64
82
 
65
- # puts hash
83
+ # # puts hash
@@ -2,7 +2,9 @@ Description:
2
2
  A little generator to tidy locale files along with their content for Ruby On Rails
3
3
 
4
4
  Example:
5
- rails g makeloc:do it config/locales/activerecord.en.yml
5
+ rails g makeloc:do it config/locales/activerecord.en.yml [--strict]
6
6
 
7
7
  This will create:
8
8
  config/locales/activerecord.it.yml
9
+
10
+ with option --strict it overwrites (if already present) the generated locale file deleting its original extra translations
@@ -6,6 +6,7 @@ module Makeloc
6
6
 
7
7
  argument :target_lang, :type => :string
8
8
  argument :source_file, :type => :string
9
+ class_option :strict, :type => :boolean
9
10
 
10
11
  def do
11
12
  ref_locale_fp = Pathname.new(source_file)
@@ -23,7 +24,12 @@ module Makeloc
23
24
  # updating target data with original values if they exists
24
25
  if File.exist? target_fp
25
26
  existing_target_data = YAML.load(File.open(File.expand_path(target_fp)))[target_lang]
26
- target_data.deep_merge!(existing_target_data) if existing_target_data
27
+
28
+ # delete extra keys present in original target data
29
+ (existing_target_data.flatten_keys - target_data.flatten_keys).each{|extra_key| existing_target_data.delete_at(extra_key)} if options[:strict]
30
+
31
+ target_data.deep_merge!(existing_target_data)
32
+
27
33
  end
28
34
 
29
35
  create_file(target_fp){ {target_lang => target_data}.to_yaml(:line_width => -1) } # line_width => -1 to disable indentation
data/makeloc.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: makeloc 0.1.2 ruby lib
5
+ # stub: makeloc 0.2.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "makeloc"
9
- s.version = "0.1.2"
9
+ s.version = "0.2.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["masciugo"]
14
- s.date = "2014-07-08"
14
+ s.date = "2014-07-09"
15
15
  s.description = ""
16
16
  s.email = "masciugo@gmail.com"
17
17
  s.extra_rdoc_files = [
@@ -33,10 +33,9 @@ Gem::Specification.new do |s|
33
33
  "lib/makeloc/railtie.rb",
34
34
  "makeloc.gemspec",
35
35
  "spec/generators/test_generator_spec.rb",
36
- "spec/generators/tmp/test.en.yml",
37
- "spec/generators/tmp/test.en.yml.bk",
36
+ "spec/generators/tmp/test.en.yml.original",
38
37
  "spec/generators/tmp/test.it.yml",
39
- "spec/generators/tmp/test_incomplete.en.yml.bk",
38
+ "spec/generators/tmp/test_incomplete.en.yml.original",
40
39
  "spec/spec_helper.rb"
41
40
  ]
42
41
  s.homepage = "http://github.com/masciugo/makeloc"
@@ -4,69 +4,82 @@ module Makeloc
4
4
 
5
5
  describe DoGenerator do
6
6
 
7
- with_args "en", REF_LANG_FP do
8
- with_input "y\n" do
9
-
7
+ # loaded once at beginning
8
+ let!(:ref_hash_with_root) { YAML.load(File.read(REF_LANG_FP)) }
9
+ let!(:ref_hash) { ref_hash_with_root[REF_LANG] }
10
+ let!(:incomplete_target_hash_with_root) { YAML.load(File.read(TARGET_INCOMPLETE_ORIGINAL_FP)) }
11
+ let!(:incomplete_target_hash) { incomplete_target_hash_with_root[TARGET_LANG] }
12
+
13
+ EXTRA_KEYS = %w{ date.extra_key_1 date.formats.extra_key_2 }
14
+ MISSING_KEYS = %w{ datetime.distance_in_words.about_x_hours.other date.abbr_day_names }
15
+
16
+ # loaded at runtime after each generation
17
+ let(:target_hash_with_root) { YAML.load(File.read(TARGET_LANG_FP)) }
18
+ let(:target_hash) { target_hash_with_root[TARGET_LANG] }
19
+
20
+ shared_examples "a brand new generated locale file" do
21
+ it "should generate a #{TARGET_LANG_FP.basename} file in the same dir" do
22
+ File.exists? TARGET_LANG_FP
23
+ end
24
+ it "#{TARGET_LANG_FP.basename} hash has '#{TARGET_LANG}' as root key" do
25
+ target_hash_with_root.keys.should ==([TARGET_LANG])
26
+ end
27
+ end
28
+
29
+ shared_examples "a new generated locale file with identical structure" do
30
+ it "#{TARGET_LANG_FP.basename} hash has identical keys set as #{REF_LANG_FP.basename} hash" do
31
+ target_hash.flatten_keys.should eql(ref_hash.flatten_keys)
32
+ end
33
+ end
34
+
35
+ with_input "y\n" do
36
+
37
+ context "when #{TARGET_LANG_FP.basename} doesn't exist" do
38
+ with_args "en", REF_LANG_FP
39
+
10
40
  before(:each) do
11
- FileUtils.rm TARGET_LANG_FP
41
+ FileUtils.rm_rf TARGET_LANG_FP
42
+ subject.should generate
12
43
  end
13
44
 
14
- # loaded once at beginning
15
- let!(:ref_hash_with_root) { YAML.load(File.read(REF_LANG_FP)) }
16
- let!(:ref_hash) { ref_hash_with_root[REF_LANG] }
17
-
18
- # loaded at runtime after each generation
19
- let(:target_hash_with_root) { YAML.load(File.read(TARGET_LANG_FP)) }
20
- let(:target_hash) { target_hash_with_root[TARGET_LANG] }
21
-
22
- shared_examples "a brand new generated locale file" do
23
- it "should generate a #{TARGET_LANG_FP.basename} file in the same dir" do
24
- File.exists? TARGET_LANG_FP
25
- end
26
- it "#{TARGET_LANG_FP.basename} hash has same structure as hash for #{REF_LANG_FP.basename}" do
27
- ref_hash.flatten_keys.should eql(target_hash.flatten_keys)
28
- end
29
- it "#{TARGET_LANG_FP.basename} hash has '#{TARGET_LANG}' as root key" do
30
- target_hash_with_root.keys.should ==([TARGET_LANG])
31
- end
45
+ it_should_behave_like "a brand new generated locale file"
46
+ it_should_behave_like "a new generated locale file with identical structure"
47
+ it "gets created with nil leaves" do
48
+ all_values = []
49
+ target_hash.parse_leaves{|k,v| all_values << v }
50
+ all_values.compact.should be_empty
32
51
  end
52
+ end
33
53
 
34
- MISSING_KEYS = %w{ datetime.distance_in_words.about_x_hours.other date.abbr_day_names }
35
- context "when #{TARGET_LANG_FP.basename} already exists with some missing keys (ie.: #{MISSING_KEYS.join(', ')})" do
36
-
37
- # loaded once at beginning
38
- let!(:incomplete_target_hash_with_root) { YAML.load(File.read(TARGET_INCOMPLETE_BK_FP)) }
39
- let!(:incomplete_target_hash) { incomplete_target_hash_with_root[TARGET_LANG] }
40
-
41
- before(:each) do
42
- FileUtils.cp TARGET_INCOMPLETE_BK_FP, TARGET_LANG_FP
43
- subject.should generate
44
- end
45
- it_should_behave_like "a brand new generated locale file"
54
+ context "when #{TARGET_LANG_FP.basename} already exists with some missing keys (ie.: #{MISSING_KEYS.join(', ')}) and some extra keys (ie.: #{EXTRA_KEYS.join(', ')})" do
55
+ with_args "en", REF_LANG_FP
46
56
 
47
- MISSING_KEYS.each do |key|
48
- it "value at '#{key}' is nil" do
49
- target_hash.at(key).should be_nil
50
- end
51
- end
52
- it "keeps old values (value at 'date.abbr_month_names' is in lang #{TARGET_LANG})" do
53
- target_hash.at('date.abbr_month_names').should ==(incomplete_target_hash.at('date.abbr_month_names'))
54
- end
57
+ before(:each) do
58
+ FileUtils.cp TARGET_INCOMPLETE_ORIGINAL_FP, TARGET_LANG_FP
59
+ subject.should generate
55
60
  end
56
61
 
57
- context "when #{TARGET_LANG_FP.basename} doesn't exist" do
58
- before(:each) do
59
- subject.should generate
62
+ it_should_behave_like "a brand new generated locale file"
63
+ MISSING_KEYS.each do |key|
64
+ it "value at '#{key}' is nil" do
65
+ target_hash.at(key).should be_nil
60
66
  end
61
- it_should_behave_like "a brand new generated locale file"
62
- it "gets created with nil leaves" do
63
- all_values = []
64
- target_hash.parse_leaves{|k,v| all_values << v }
65
- all_values.compact.should be_empty
67
+ end
68
+ it "keeps old values (value at 'date.abbr_month_names' is in lang #{TARGET_LANG})" do
69
+ target_hash.at('date.abbr_month_names').should ==(incomplete_target_hash.at('date.abbr_month_names'))
70
+ end
71
+ EXTRA_KEYS.each do |key|
72
+ it "keeps extra key #{key} along with its original value" do
73
+ target_hash.at(key).should == incomplete_target_hash.at(key)
66
74
  end
67
75
  end
76
+ context "with option --strict" do
77
+ with_args "en", REF_LANG_FP, '--strict'
78
+ it_should_behave_like "a new generated locale file with identical structure"
79
+ end
68
80
 
69
81
  end
82
+
70
83
  end
71
84
 
72
85
  end
@@ -1,5 +1,6 @@
1
1
  en:
2
2
  date:
3
+ extra_key_1: foo
3
4
  # abbr_day_names:
4
5
  # - Sun
5
6
  # - Mon
@@ -31,6 +32,7 @@ en:
31
32
  - Friday
32
33
  - Saturday
33
34
  formats:
35
+ extra_key_2: bar
34
36
  default: ! '%Y-%m-%d'
35
37
  long: ! '%B %d, %Y'
36
38
  short: ! '%b %d'
data/spec/spec_helper.rb CHANGED
@@ -38,5 +38,5 @@ REF_LANG = 'it'
38
38
  REF_LANG_FP = Pathname.new(File.join(TMP_FOLDER,"test.#{REF_LANG}.yml"))
39
39
  TARGET_LANG_FP = Pathname.new(File.join(TMP_FOLDER,"test.#{TARGET_LANG}.yml"))
40
40
 
41
- TARGET_LANG_BK_FP = Pathname.new(File.join(TMP_FOLDER,"test.#{TARGET_LANG}.yml.bk"))
42
- TARGET_INCOMPLETE_BK_FP = Pathname.new(File.join(TMP_FOLDER,"test_incomplete.#{TARGET_LANG}.yml.bk"))
41
+ TARGET_LANG_ORIGINAL_FP = Pathname.new(File.join(TMP_FOLDER,"test.#{TARGET_LANG}.yml.original"))
42
+ TARGET_INCOMPLETE_ORIGINAL_FP = Pathname.new(File.join(TMP_FOLDER,"test_incomplete.#{TARGET_LANG}.yml.original"))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: makeloc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - masciugo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-08 00:00:00.000000000 Z
11
+ date: 2014-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -144,10 +144,9 @@ files:
144
144
  - lib/makeloc/railtie.rb
145
145
  - makeloc.gemspec
146
146
  - spec/generators/test_generator_spec.rb
147
- - spec/generators/tmp/test.en.yml
148
- - spec/generators/tmp/test.en.yml.bk
147
+ - spec/generators/tmp/test.en.yml.original
149
148
  - spec/generators/tmp/test.it.yml
150
- - spec/generators/tmp/test_incomplete.en.yml.bk
149
+ - spec/generators/tmp/test_incomplete.en.yml.original
151
150
  - spec/spec_helper.rb
152
151
  homepage: http://github.com/masciugo/makeloc
153
152
  licenses:
@@ -1,185 +0,0 @@
1
- ---
2
- en:
3
- date:
4
- abbr_day_names:
5
- abbr_month_names:
6
- day_names:
7
- formats:
8
- default:
9
- long:
10
- short:
11
- month_names:
12
- order:
13
- datetime:
14
- distance_in_words:
15
- about_x_hours:
16
- one:
17
- other:
18
- about_x_months:
19
- one:
20
- other:
21
- about_x_years:
22
- one:
23
- other:
24
- almost_x_years:
25
- one:
26
- other:
27
- half_a_minute:
28
- less_than_x_minutes:
29
- one:
30
- other:
31
- less_than_x_seconds:
32
- one:
33
- other:
34
- over_x_years:
35
- one:
36
- other:
37
- x_days:
38
- one:
39
- other:
40
- x_minutes:
41
- one:
42
- other:
43
- x_months:
44
- one:
45
- other:
46
- x_seconds:
47
- one:
48
- other:
49
- prompts:
50
- day:
51
- hour:
52
- minute:
53
- month:
54
- second:
55
- year:
56
- errors:
57
- format:
58
- messages:
59
- accepted:
60
- blank:
61
- confirmation:
62
- empty:
63
- equal_to:
64
- even:
65
- exclusion:
66
- greater_than:
67
- greater_than_or_equal_to:
68
- inclusion:
69
- invalid:
70
- less_than:
71
- less_than_or_equal_to:
72
- not_a_number:
73
- not_an_integer:
74
- odd:
75
- record_invalid:
76
- taken:
77
- too_long:
78
- one:
79
- other:
80
- too_short:
81
- one:
82
- other:
83
- wrong_length:
84
- one:
85
- other:
86
- template:
87
- body:
88
- header:
89
- one:
90
- other:
91
- helpers:
92
- select:
93
- prompt:
94
- prompt_allow_nil:
95
- submit:
96
- create:
97
- submit:
98
- update:
99
- cancel:
100
- reset:
101
- add:
102
- links:
103
- new:
104
- add:
105
- edit:
106
- reset:
107
- back:
108
- cancel:
109
- confirm:
110
- destroy:
111
- show:
112
- titles:
113
- index:
114
- edit:
115
- new:
116
- show:
117
- tooltips:
118
- edit:
119
- save:
120
- new:
121
- destroy:
122
- back:
123
- show:
124
- add:
125
- sign_out:
126
- sign_in:
127
- number:
128
- currency:
129
- format:
130
- delimiter:
131
- format:
132
- precision:
133
- separator:
134
- significant:
135
- strip_insignificant_zeros:
136
- unit:
137
- format:
138
- delimiter:
139
- precision:
140
- separator:
141
- significant:
142
- strip_insignificant_zeros:
143
- human:
144
- decimal_units:
145
- format:
146
- units:
147
- billion:
148
- million:
149
- quadrillion:
150
- thousand:
151
- trillion:
152
- unit:
153
- format:
154
- delimiter:
155
- precision:
156
- significant:
157
- strip_insignificant_zeros:
158
- storage_units:
159
- format:
160
- units:
161
- byte:
162
- one:
163
- other:
164
- gb:
165
- kb:
166
- mb:
167
- tb:
168
- percentage:
169
- format:
170
- delimiter:
171
- precision:
172
- format:
173
- delimiter:
174
- support:
175
- array:
176
- last_word_connector:
177
- two_words_connector:
178
- words_connector:
179
- time:
180
- am:
181
- formats:
182
- default:
183
- long:
184
- short:
185
- pm: