apstrings 0.3.1 → 0.3.3

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
  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