haml-i18n-extractor 0.3.0 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YWYyNWM2YWQ5YTA3OTdlNmUyN2Y5NTJkZmI0ZDc1YzdkMzcxNWM4Mw==
4
+ YzE3Mzc4M2VkYTdhOGViYWE2NjJlMjhhMjMxOGYxN2FiNjc3ZjJkMA==
5
5
  data.tar.gz: !binary |-
6
- MThkMzY5ZGFiZWY3ZTNhOGZjNTEyZjUyN2UzNWIzNjg4NjczMjM2ZA==
6
+ MGFiOWZhODkzODRjNTY4MDVhMzYzY2M1ODE0MWEwNGExNmM1MzMxYQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YzFhNmIyNzIwZDhhNGE0N2IzNjQ0NzQwMzg1YjgyZjA1OWM4ZWMwMTA2N2Q0
10
- NjBhNjM2MGNhMWE4YTAyMjNhOThhOWQ1ZWYyNzJmYjkwNjEwZjIxOGE3YzQ3
11
- OTU5Y2JjNzUzODQ3ZjAzOThhNDYzM2JhZDI0NTIzODVmZTA3MGQ=
9
+ NWVhMDM5NzZkMzgwNTRmYzg5Njk2ZTAxYjg5NDI0YTdjZTY2ZDc3YmQyMmRj
10
+ Mzg4NTcwMThjODA5ZTA0YzMxOWViNjBlMDFmMmJhMjZhMDkxNDYzYmQzNTQw
11
+ MjE0MjE1NjAwMzQ5ODdlYjg4ODllZDc2YTRiYjk1OWEzZDljNWQ=
12
12
  data.tar.gz: !binary |-
13
- MGZlOTZjZjA5YjlmYTMxMTAzNDlkY2VkYzRmZjgwZWMxZjM0MDZkNTQ4ZjVj
14
- OWU2YTU2ZGM3ZDZhMWEwZGM4M2FhYmU0YWY0NjYxNDQzMTgxOGVmY2YxYTky
15
- OWRiMzRkYjVhM2MzMTY4Y2JjYzI1ZDQ1MGEwZmUxOGU2NzVmZjA=
13
+ MWNjYjQwNTEzMWVmNDBmNzk4MzIwMGU3MTFkYzQ3NjY4YzFjMzcwZmY3MGEy
14
+ YjMzMjFhNWMwNzI2OTZiMWRiZGNiZTZiMjFmMjE3OTkyZjYyNTk0MDJkZDI1
15
+ Y2ZhZTFlZWRiY2M4NDM1ZGFkMjA5OTdjOTI0YjlhMGQ2Mzg3ZjY=
@@ -1,7 +1,7 @@
1
1
  module Haml
2
2
  module I18n
3
3
  class Extractor
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.2"
5
5
  end
6
6
  end
7
7
  end
@@ -85,15 +85,18 @@ module Haml
85
85
 
86
86
  # assuming rails format, app/views/users/index.html.haml return [users]
87
87
  # app/views/admin/users/index.html.haml return [admin, users]
88
- # app/views/admin/users/with_namespace/index.html.haml return [admin, users, with_namespace]
88
+ # app/views/admin/users/with_namespace/index.html.haml return [admin, users, with_namespace, index]
89
89
  # otherwise, just grab the last one.
90
90
  def standardized_viewnames(pth)
91
- array_of_dirs = Pathname.new(pth).dirname.to_s.split("/")
91
+ pathname = Pathname.new(pth)
92
+ array_of_dirs = pathname.dirname.to_s.split("/")
93
+ view_name = pathname.basename.to_s.gsub(/.html.haml$/,"").gsub(/.haml$/,"")
94
+ view_name.gsub!(/^_/, "")
92
95
  index = array_of_dirs.index("views")
93
96
  if index
94
- array_of_dirs[index+1..-1]
97
+ array_of_dirs[index+1..-1] << view_name
95
98
  else
96
- [array_of_dirs.last]
99
+ [array_of_dirs.last] << view_name
97
100
  end
98
101
  end
99
102
 
@@ -3,6 +3,7 @@ module Haml
3
3
 
4
4
  def setup
5
5
  TestHelper.setup_project_directory!
6
+ @workflow = TestHelper.mock_full_project_user_interaction!
6
7
  end
7
8
 
8
9
  def teardown
@@ -10,10 +11,14 @@ module Haml
10
11
  end
11
12
 
12
13
  test "it can handle namespaced views" do
13
- workflow = TestHelper.mock_full_project_user_interaction!
14
- namespaced_extractor = workflow.extractors.select{|ex| ex.haml_writer.path.match /namespace/ }.last
14
+ namespaced_extractor = @workflow.extractors.select{|ex| ex.haml_writer.path.match /namespace/ }.last
15
15
  assert namespaced_extractor.yaml_tool.yaml_hash["en"]["namespace"], "namespace key works"
16
16
  end
17
17
 
18
+ test "it can handle partial views" do
19
+ partial_extractor = @workflow.extractors.select{|ex| ex.haml_writer.path.match /_partial/ }.last
20
+ assert partial_extractor.yaml_tool.yaml_hash["en"]["view2"]["partial"], "partial filenames in yaml are w/out leading _"
21
+ end
22
+
18
23
  end
19
24
  end
data/test/test_helper.rb CHANGED
@@ -126,7 +126,7 @@ module TestHelper
126
126
  view3 = File.join(PROJECT_DIR, "app", "views", "namespace", "view3")
127
127
  [ view1, view2, view3 ].map do |dir|
128
128
  FileUtils.mkdir_p(dir)
129
- ["thing.haml", "thang.haml"].map do |fn|
129
+ ["thing.haml", "thang.haml", "_partial.html.haml"].map do |fn|
130
130
  haml_text=<<EOH
131
131
  %h1 Notifications
132
132
 
@@ -23,13 +23,13 @@ module Haml
23
23
  end
24
24
 
25
25
  test "it_finds_all_haml_files" do
26
- assert_equal @workflow.files.size, 6
26
+ assert_equal @workflow.files.size, 9
27
27
  end
28
28
 
29
29
  test "outputs_stats" do
30
30
  with_highline do
31
31
  @workflow.start_message
32
- assert @output.string.match(/Found 6 haml files/), "Outputs stats"
32
+ assert @output.string.match(/Found \d haml files/), "Outputs stats"
33
33
  end
34
34
  end
35
35
 
@@ -33,27 +33,29 @@ module Haml
33
33
 
34
34
  def existing_yaml_hash
35
35
  {"en" => {
36
- "viewname" => {
37
- "translate_key" => "Translate Key"
38
- }
36
+ "viewname" => {
37
+ "translate_key" => "Translate Key"
39
38
  }
40
39
  }
40
+ }
41
41
  end
42
42
 
43
43
  def ex1_yaml_hash
44
44
  {"en"=>
45
- {"support"=>
46
- {"some_place"=>"Some place",
47
- "admin"=>"Admin",
48
- "admin_dashboard"=>"Admin Dashboard",
49
- "stacks"=>"Stacks",
50
- "alerts"=>"t('.alerts')",
51
- "accounts"=>"Accounts",
52
- "what_is_supposed_to_be_is_supp"=>
53
- "What is@ supposed to be, is supposed to be! ~"
54
- }
55
- }
45
+ {"support" =>
46
+ {"ex1" =>
47
+ {"some_place"=>"Some place",
48
+ "admin"=>"Admin",
49
+ "admin_dashboard"=>"Admin Dashboard",
50
+ "stacks"=>"Stacks",
51
+ "alerts"=>"t('.alerts')",
52
+ "accounts"=>"Accounts",
53
+ "what_is_supposed_to_be_is_supp"=>
54
+ "What is@ supposed to be, is supposed to be! ~"
55
+ }
56
56
  }
57
+ }
58
+ }
57
59
  end
58
60
 
59
61
  test "defaults for empty init" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haml-i18n-extractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shai Rosenfeld