apstrings 0.3.1 → 0.3.3

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: cb0c48b0b98d4a1420e157897e339beeb45c28ed
4
- data.tar.gz: c00b6f0d6d440ba8e0c17f13534f52eb2cad149a
3
+ metadata.gz: be772f78bf7251c0fad0ee9fb522337508b2d468
4
+ data.tar.gz: fdcae93d017c71fd7209d803a76689132fc5da43
5
5
  SHA512:
6
- metadata.gz: 59384e5bfe3ed512c2e2238c083f7cc9361891e11c7cd12a811ab85289642c3d00eb5879ba1f40938410be83ca00d26d0e70376292f278c1a6f830f0d9cadb13
7
- data.tar.gz: b28dd9e7751a9f3e07831246651a9ff564c44f0cc0f4c71741df4c9e938758ad72a0259ec321d6232c8f38d8846dd8e7a2a4dfe95801ad7ce1a5041c710f783c
6
+ metadata.gz: b62f98d302f8375c340a47b45a51e5a1562e7d2980a3dac42132a947489a97e04131ab2d137b7c4998cf61a69aca1959c8e1143697dfe5233ac4bcd3af1ee7cd
7
+ data.tar.gz: 4d244b853c89b478ab18f80ca3d00eb62ce5957633535f90c9d8116e48757251e0e3c5dfb665cf3502679c105d28c3244b380ae930183f3291be16ab4a56d0c7
data/apstrings.gemspec CHANGED
@@ -23,6 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "true"
24
24
  spec.add_development_dependency "colored"
25
25
  spec.add_development_dependency "json"
26
+ spec.add_development_dependency "open3"
26
27
 
27
-
28
28
  end
data/bin/apstrings CHANGED
@@ -34,13 +34,13 @@ files_to_validate["files"].each { |file|
34
34
  }
35
35
 
36
36
  if success && any_file
37
- Apstrings::log_info("Success, well done! 🍻 🍻")
37
+ Apstrings::log_info("Well done! 🍻 🍻")
38
38
  exit(0)
39
39
  else if !any_file
40
40
  Apstrings::log_info("Nothing to validate.")
41
41
  exit(0)
42
42
  else
43
- Apstrings::log_error("Failed: You'd better know what u r doing...")
43
+ Apstrings::log_error("Failed: You'd better know what r u doing...")
44
44
  exit(1)
45
45
  end
46
46
  end
data/lib/apstrings.rb CHANGED
@@ -5,6 +5,7 @@ require 'apstrings/reader'
5
5
  require 'apstrings/strings_parser'
6
6
  require 'apstrings/strings_validator'
7
7
  require 'apstrings/logger'
8
+ require 'open3'
8
9
 
9
10
  # Public
10
11
  def self.parse(file)
@@ -17,7 +18,37 @@ require 'apstrings/logger'
17
18
  end
18
19
 
19
20
  def self.validate(file,masterFile = nil)
20
- Validator::validate(file,masterFile)
21
+
22
+ valid_strings , valid_master = false, true
23
+ Open3.popen3("plutil", "-lint" ,"#{file}") {|i, o, e, t|
24
+ if t.value.exitstatus == 0
25
+ valid_strings = true
26
+ else
27
+ valid_strings = false
28
+ error = e.gets
29
+ output = o.gets
30
+ message = (error != nil ? error : output)
31
+ Apstrings::log_error(" Format error in #{file}: #{message}")
32
+ end
33
+ }
34
+
35
+ if masterFile != nil
36
+ Open3.popen3("plutil", "-lint" ,"#{masterFile}") {|i, o, e, t|
37
+ if t.value.exitstatus == 0
38
+ valid_master = true
39
+ else
40
+ valid_master = false
41
+ error = e.gets
42
+ output = o.gets
43
+ message = (error != nil ? error : output)
44
+ Apstrings::log_error(" Format error in #{file}: #{message}")
45
+ end
46
+ }
47
+ end
48
+
49
+ if valid_strings && valid_master
50
+ Validator::validate(file,masterFile)
51
+ end
21
52
  end
22
53
 
23
54
  def self.log_info(message)
@@ -25,9 +25,13 @@ module Apstrings
25
25
  if valid_master && valid_file && no_missing_key
26
26
  # Log::info("Yeah! 🍻 🍻 ")
27
27
  return true
28
- else
29
- Log::error("Oh no! Invalid file.")
30
- return false
28
+ else if valid_master && valid_file && !no_missing_key
29
+ Log::warn("Missing keys found.")
30
+ return true
31
+ else
32
+ Log::error("Oh no! Invalid file.")
33
+ return false
34
+ end
31
35
  end
32
36
  end
33
37
 
@@ -1,3 +1,3 @@
1
1
  module Apstrings
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apstrings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - JasonWorking
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: open3
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: An easy to use Apple dot strings file parser with encoding handled.
84
98
  email:
85
99
  - 331314708@qq.com