i18n_yaml_sorter 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{i18n_yaml_sorter}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bernardo de P\303\241dua"]
@@ -17,7 +17,8 @@ class I18nYamlSorter
17
17
 
18
18
  loop do
19
19
 
20
- maybe_next_line = @io_input.gets || break
20
+ maybe_next_line = @read_line_again || @io_input.gets || break
21
+ @read_line_again = nil
21
22
  maybe_next_line.chomp!
22
23
 
23
24
  #Is it blank? Discard!
@@ -55,12 +56,12 @@ class I18nYamlSorter
55
56
  #Append the next lines until we find one that is not indented
56
57
  loop do
57
58
  content_line = @io_input.gets || break
58
- content_line.chomp!
59
- this_indentation = content_line.match(/^\s*/)[0] rescue ""
59
+ processed_line = content_line.chomp
60
+ this_indentation = processed_line.match(/^\s*/)[0] rescue ""
60
61
  if indentation.size < this_indentation.size
61
- array.last << content_line.concat("\n")
62
+ array.last << processed_line.concat("\n")
62
63
  else
63
- @io_input.seek(-content_line.size, IO::SEEK_CUR) #returns so we can read this line again
64
+ @read_line_again = content_line
64
65
  break
65
66
  end
66
67
  end
@@ -83,7 +84,10 @@ class I18nYamlSorter
83
84
  array << maybe_next_line.concat("\n")
84
85
  end
85
86
  end #loop
86
-
87
+
88
+ #debug:
89
+ #puts array.join("$$$$$$$$$$$$$$$$$$$$$$\n")
90
+
87
91
  array
88
92
  end
89
93
 
@@ -1,3 +1,15 @@
1
+
2
+
3
+ m_13: >
4
+ Não deve dar problema aqui!
5
+ Não deve dar problema aqui!
6
+ Não deve dar problema aqui!
7
+ Pois às vezes dá.
8
+
9
+ o_15: |
10
+ Não deve dar problema aqui!
11
+ Pois às vezes dá.
12
+
1
13
  b_two:
2
14
  a_1: Joãozinho
3
15
  b_two: |
@@ -37,8 +49,18 @@ e_five:
37
49
  d_four: Oliveira
38
50
  k_eleven: Ronaldo
39
51
  "l_other123123": Emilio
52
+
40
53
  i_nine: Prestes
54
+
41
55
  j_ten: >
42
56
  Pior quando resolvemos escrever
43
57
  assim, impossível aturar!
58
+ n_14: >
59
+ Não deve dar problema aqui!
60
+ Pois às vezes dá.
61
+ o_15: |
62
+ Não deve dar problema aqui!
63
+ Pois às vezes dá.
64
+ p_16: Não deve dar problema aqui!
65
+ Pois às vezes dá.
44
66
  h_eight: "Jonivildo"
@@ -10,10 +10,6 @@ b_two:
10
10
  Linhas em Branco com tabulação
11
11
  nos strings devem ser preservadas.
12
12
 
13
- d_four: "Somos chatos
14
- gostamos de várias linhas\"
15
- e ainda usamos escaping
16
- para fuder"
17
13
  c_three:
18
14
  a: "Marcelo"
19
15
  "b": Bernardo
@@ -23,6 +19,10 @@ b_two:
23
19
  d_4: Rafael
24
20
  # Comentário de muitas
25
21
  # linhas (goes with d_4)
22
+ d_four: "Somos chatos
23
+ gostamos de várias linhas\"
24
+ e ainda usamos escaping
25
+ para fuder"
26
26
  e_five: Prefirimos strings sem
27
27
  nenhum tipo de especificação.
28
28
  f_six: Dalton
@@ -42,3 +42,19 @@ j_ten: >
42
42
  assim, impossível aturar!
43
43
  k_eleven: Ronaldo
44
44
  "l_other123123": Emilio
45
+ m_13: >
46
+ Não deve dar problema aqui!
47
+ Não deve dar problema aqui!
48
+ Não deve dar problema aqui!
49
+ Pois às vezes dá.
50
+ n_14: >
51
+ Não deve dar problema aqui!
52
+ Pois às vezes dá.
53
+ o_15: |
54
+ Não deve dar problema aqui!
55
+ Pois às vezes dá.
56
+ o_15: |
57
+ Não deve dar problema aqui!
58
+ Pois às vezes dá.
59
+ p_16: Não deve dar problema aqui!
60
+ Pois às vezes dá.
@@ -10,6 +10,17 @@ class TestI18nYamlSorter < Test::Unit::TestCase
10
10
  end
11
11
  end
12
12
 
13
+ def test_should_not_alter_the_serialized_yaml
14
+ #ordering should'n t change a thing, since hashes don't have order in Ruby
15
+ open('in.yml') do |file|
16
+ sorter = I18nYamlSorter.new(file)
17
+ present = YAML::load(file.read)
18
+ file.rewind
19
+ future = YAML::load(sorter.sort)
20
+ assert_equal present, future
21
+ end
22
+ end
23
+
13
24
  def test_command_line_should_work_in_stdin
14
25
  output = `../bin/sort_yaml < in.yml`
15
26
  open('out.yml') do |expected_out|
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - "Bernardo de P\xC3\xA1dua"