haml-i18n-extractor 0.0.18 → 0.0.19
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,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzYwYzZlM2U0ZTJjZjRjMTI4NzUzOGQ5YTJhZTZjNmJkN2RjZWM5MA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTI2N2EzYmQxN2YyMzZmNjU1OGY5N2Q1MGY4ZWYwNGNiODcwOWVlNg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YmJjOTk2ZmU0YTI2MzZmZWZkZTI4YjQ5MzVjOTNhNmRiZTE5ZWQwYzkxY2Zi
|
10
|
+
ZjE4NmNlZGI0NWFmYjQ4NjAwMWY1ZDE5YmIxMjg1NGMzN2UzNjMzNmExNWFh
|
11
|
+
ZGIwZGI0ZmU5NzQ0YmFmNDEwOTg3YWFkMTE0N2Q3NDE0NTliZDU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
M2IzYjJjNTdjMzMwYTU5NmJhODgxMTA4YzNiNDUzOTA4Yjk1MDNjZDc1MGE1
|
14
|
+
YTU2YWNkMmIxY2Q0MGEyMGM3OWMxODhiMjc4YmMyMDExM2U5NzZjYjQzYjI2
|
15
|
+
OTk1ZWNmYzVkNGE1MmY1NTJkNGVhOTNkMTk1MDg5NWEyMGEwMDI=
|
@@ -9,6 +9,7 @@ module Haml
|
|
9
9
|
class InvalidSyntax < StandardError ; end
|
10
10
|
class NotADirectory < StandardError ; end
|
11
11
|
class NotDefinedLineType < StandardError ; end
|
12
|
+
class AbortFile < StandardError ; end
|
12
13
|
|
13
14
|
LINE_TYPES_ALL = [:text, :not_text, :loud, :silent, :element]
|
14
15
|
LINE_TYPES_ADD_EVAL = [:text, :element]
|
@@ -54,8 +55,14 @@ module Haml
|
|
54
55
|
end
|
55
56
|
|
56
57
|
def new_body
|
57
|
-
|
58
|
-
|
58
|
+
begin
|
59
|
+
@haml_reader.lines.each_with_index do |orig_line, line_no|
|
60
|
+
@current_line_no = line_no
|
61
|
+
process_line(orig_line,line_no)
|
62
|
+
end
|
63
|
+
rescue AbortFile
|
64
|
+
@prompter.moving_to_next_file
|
65
|
+
add_rest_of_file_to_body(@current_line_no)
|
59
66
|
end
|
60
67
|
@body.join("\n")
|
61
68
|
end
|
@@ -68,7 +75,7 @@ module Haml
|
|
68
75
|
orig_line.chomp!
|
69
76
|
orig_line, whitespace = handle_line_whitespace(orig_line)
|
70
77
|
line_type, line_match = handle_line_finding(orig_line)
|
71
|
-
should_be_replaced, text_to_replace, line_locale_hash =
|
78
|
+
should_be_replaced, text_to_replace, line_locale_hash = gather_replacement_info(orig_line, line_match, line_type, line_no)
|
72
79
|
|
73
80
|
user_action = Haml::I18n::Extractor::UserAction.new('y') # default if no prompting: just do it.
|
74
81
|
if should_be_replaced
|
@@ -80,6 +87,8 @@ module Haml
|
|
80
87
|
if user_action.tag?
|
81
88
|
@tagging_tool.write(line_locale_hash[:path], line_no)
|
82
89
|
add_to_body("#{whitespace}#{orig_line}")
|
90
|
+
elsif user_action.next?
|
91
|
+
raise AbortFile, "stopping to process the rest of the file"
|
83
92
|
elsif user_action.replace_line?
|
84
93
|
append_to_locale_hash(line_no, line_locale_hash)
|
85
94
|
add_to_body("#{whitespace}#{text_to_replace}")
|
@@ -97,7 +106,13 @@ module Haml
|
|
97
106
|
|
98
107
|
private
|
99
108
|
|
100
|
-
def
|
109
|
+
def add_rest_of_file_to_body(line_no)
|
110
|
+
@haml_reader.lines[line_no..@haml_reader.lines.size-1].map do |orig_ln|
|
111
|
+
add_to_body(orig_ln.chomp)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def gather_replacement_info(orig_line, line_match, line_type, line_no)
|
101
116
|
if line_match && !line_match.empty?
|
102
117
|
replacer = Haml::I18n::Extractor::TextReplacer.new(orig_line, line_match, line_type)
|
103
118
|
hash = replacer.replace_hash.dup.merge!({:path => @haml_reader.path })
|
@@ -17,10 +17,10 @@ module Haml
|
|
17
17
|
say("\n")
|
18
18
|
say(replaced_line.inspect)
|
19
19
|
say("\n")
|
20
|
-
answer = ask(highlight('[y]es/[n]o/[t]ag?')) do |q|
|
20
|
+
answer = ask(highlight('[y]es/[n]o/[t]ag/[N]ext?')) do |q|
|
21
21
|
q.echo = false
|
22
22
|
q.character = true
|
23
|
-
q.validate = /\A[
|
23
|
+
q.validate = /\A[yntN]\Z/
|
24
24
|
end
|
25
25
|
Haml::I18n::Extractor::UserAction.new(answer)
|
26
26
|
end
|
@@ -78,6 +78,9 @@ module Haml
|
|
78
78
|
return :dump if answer == 'D'
|
79
79
|
end
|
80
80
|
|
81
|
+
def moving_to_next_file
|
82
|
+
say("Next received! Saved changes done so far, moving to the next file.\n")
|
83
|
+
end
|
81
84
|
end
|
82
85
|
end
|
83
86
|
end
|
data/test/extractor_test.rb
CHANGED
@@ -38,6 +38,19 @@ module Haml
|
|
38
38
|
assert_equal File.read(h.haml_writer.path), File.read(file_path("ex1.haml"))
|
39
39
|
end
|
40
40
|
|
41
|
+
test "with a prompt_per_line option takes user input N as next and stops processing file" do
|
42
|
+
h = Haml::I18n::Extractor.new(file_path("ex1.haml"), :prompt_per_line => true)
|
43
|
+
user_input = "D" # dump
|
44
|
+
File.readlines(file_path("ex1.haml")).size.times do
|
45
|
+
user_input << "N" # just move on to next file
|
46
|
+
end
|
47
|
+
with_highline(user_input) do
|
48
|
+
h.run
|
49
|
+
end
|
50
|
+
# no changes were made cause user was all like 'uhhh, move to next file'
|
51
|
+
assert_equal File.read(h.haml_writer.path), File.read(file_path("ex1.haml"))
|
52
|
+
end
|
53
|
+
|
41
54
|
test "with a prompt_per_line option takes user input into consideration for yaml" do
|
42
55
|
hax_shit
|
43
56
|
h = Haml::I18n::Extractor.new(file_path("ex1.haml"), :prompt_per_line => true)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml-i18n-extractor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shai Rosenfeld
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tilt
|