flutter-intl-twine-formatter 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0487dcc7a37d12903179aa2e040dd8524a938d96112d3e89fbc48a6c42e19787'
4
- data.tar.gz: 4636baeb0c9a3bc6d9d25f92215d03d70e9ca99f705878f086b11af32c89b9eb
3
+ metadata.gz: e9872d30d7850e1365c38dfd6d277149439387b5f8f7bb7e812f1b4f9614679f
4
+ data.tar.gz: 773d97e0c75dcb8df6ffaf89d24660716c26b71ef5b5347cd75fc73ab22bd737
5
5
  SHA512:
6
- metadata.gz: bbee2fbaa03f8a9274bae476c986302fb6098cba2b10a8eba687fe5b7c9eb709ebe2b5ad71c8cb6c714f98bdce8b0fd2291dc681e26528d387dbc7b909abc73e
7
- data.tar.gz: e9109bc75b9c483380e2bb8516821b4041e7c8e643aa23da87042a676116ffad97add5223134b1b0b10d2a20d86102f5f3b85715e8d9441ea58c1f81bc6918c0
6
+ metadata.gz: afb0d719165cec3aedc5254dd26a725cc59b6d86d77049391ec1d304f8b7ba42cc10e23f9bad9106ed3a5dae984552e50a0790af8b6e6dee319ff2c2b2346483
7
+ data.tar.gz: b07adeeb9d22ecae66024bdd57cdb4b22f38674af432df348c80db94dae86d4b4808bd17935377e88659e9985c756293178ba11a6eaac9dd07d38fc2748c4ab0
@@ -50,7 +50,7 @@ module Twine
50
50
  def format_sections(twine_file, lang)
51
51
  sections = twine_file.sections.map { |section| format_section(section, lang) }
52
52
  sections.delete_if &:empty?
53
- sections.join(",\n\n")
53
+ sections.join(",\n")
54
54
  end
55
55
 
56
56
  def format_section_header(section)
@@ -70,12 +70,80 @@ module Twine
70
70
 
71
71
  def format_key(key)
72
72
  escape_quotes(key)
73
+ key = key.split('_').collect(&:capitalize).join
74
+ key[0] = key[0].downcase
75
+
76
+ key = format_for_reserved_words(key)
77
+ key = format_for_int_first_character(key)
78
+ return key
79
+ end
80
+
81
+ def format_for_int_first_character(value)
82
+
83
+ first = value[0]
84
+
85
+ if first =~ /[A-Za-z]/
86
+ return value
87
+ end
88
+
89
+ if first == "0"
90
+ value[0] = "zero"
91
+ elsif first == "1"
92
+ value[0] = "one"
93
+ elsif first == "2"
94
+ value[0] = "two"
95
+ elsif first == "3"
96
+ value[0] = "three"
97
+ elsif first == "4"
98
+ value[0] = "four"
99
+ elsif first == "5"
100
+ value[0] = "five"
101
+ elsif first == "6"
102
+ value[0] = "six"
103
+ elsif first == "7"
104
+ value[0] = "seven"
105
+ elsif first == "8"
106
+ value[0] = "eight"
107
+ elsif first == "9"
108
+ value[0] = "nine"
109
+ end
110
+
111
+ return value
112
+ end
113
+
114
+ def format_for_reserved_words(value)
115
+ reservedWords = [
116
+ "in",
117
+ "continue",
118
+ "do",
119
+ "export",
120
+ "extends",
121
+ "facotry",
122
+ "false",
123
+ "final",
124
+ "finally",
125
+ "if"
126
+ ]
127
+
128
+ if reservedWords.include?(value)
129
+ return value + "String"
130
+ else
131
+ return value
132
+ end
73
133
  end
74
134
 
75
135
  def format_value(value)
76
- convert_placeholders_from_twine_to_icu(value)
136
+ value = escape_quotes(value)
137
+ value = escape_characters(value)
138
+ value = convert_placeholders_from_twine_to_icu(value)
139
+ return value
77
140
  end
78
-
141
+
142
+ def escape_characters(value)
143
+ value = value.gsub("\\'", "'")
144
+ return value
145
+ end
146
+
79
147
  def convert_placeholders_from_twine_to_icu(input)
80
148
  value = convert_twine_string_placeholder(input)
81
149
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flutter-intl-twine-formatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Williamson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-30 00:00:00.000000000 Z
11
+ date: 2020-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: twine