xsort 1.4.2 → 1.4.4
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 +4 -4
- data/.github/workflows/ruby.yml +39 -0
- data/.gitignore +45 -2
- data/.travis.yml +1 -1
- data/README.md +13 -15
- data/bin/xsort +11 -2
- data/lib/xsort/option.rb +2 -20
- data/lib/xsort/sortproj.rb +16 -14
- data/lib/xsort/version.rb +1 -1
- data/lib/xsort/xcodeproj/pbxproj/pbxobject/PbxSort.rb +7 -1
- data/lib/xsort/xcodeproj/pbxproj/pbxobject/PbxWrite.rb +4 -14
- data/lib/xsort/xcodeproj/pbxproj/pbxobject/Pbxproj.rb +9 -41
- data/xsort.gemspec +5 -5
- metadata +19 -19
- data/Gemfile.lock +0 -35
- /data/{LICENSE.txt → LICENSE} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 802dbfdabd1922aa35a0c659843cc951a8184984fbd6243df03bde05c79a6faa
|
|
4
|
+
data.tar.gz: d7918a9f86a1e51dc515bc35cfa0c8be726101ad7a828da42f4efbf19047b23d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fd76f4c4bdc913d7b05bd6dfceeaced0e25a2d180f6497a95121d372938f23d2ab9bf26bdcd4364c3daac37d7003fbb5e6ea40b5c056bd34a217736b0716799d
|
|
7
|
+
data.tar.gz: 69345470f482f426d9cb0df1327ae4c37c6fa74f6a66157c2e61a6a1b27babd0bdb737f83567fcf2dcfd1b5c474a4074908b5277329e68851c8a652aa430998e
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
+
# They are provided by a third-party and are governed by
|
|
3
|
+
# separate terms of service, privacy policy, and support
|
|
4
|
+
# documentation.
|
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
+
|
|
8
|
+
name: Ruby
|
|
9
|
+
|
|
10
|
+
on:
|
|
11
|
+
push:
|
|
12
|
+
branches: [ main ]
|
|
13
|
+
pull_request:
|
|
14
|
+
branches: [ main ]
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
test:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
|
|
20
|
+
strategy:
|
|
21
|
+
matrix:
|
|
22
|
+
ruby-version: ['2.6.10']
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v4
|
|
26
|
+
|
|
27
|
+
- name: Set up Ruby
|
|
28
|
+
uses: ruby/setup-ruby@v1
|
|
29
|
+
with:
|
|
30
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
31
|
+
rubygems: '3.0.3.1'
|
|
32
|
+
bundler: '2.4.22'
|
|
33
|
+
bundler-cache: true
|
|
34
|
+
|
|
35
|
+
- name: Run tests
|
|
36
|
+
run: bundle exec rspec
|
|
37
|
+
|
|
38
|
+
- name: Build gem
|
|
39
|
+
run: gem build xsort.gemspec
|
data/.gitignore
CHANGED
|
@@ -9,6 +9,49 @@
|
|
|
9
9
|
# rspec failure tracking
|
|
10
10
|
*.rspec_status
|
|
11
11
|
*.gem
|
|
12
|
-
*.lock
|
|
13
12
|
output.pbxproj
|
|
14
|
-
.vscode/
|
|
13
|
+
.vscode/
|
|
14
|
+
Gemfile.lock
|
|
15
|
+
|
|
16
|
+
# Xcode
|
|
17
|
+
#
|
|
18
|
+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
|
|
19
|
+
|
|
20
|
+
## Build generated
|
|
21
|
+
build/
|
|
22
|
+
DerivedData/
|
|
23
|
+
|
|
24
|
+
## Various settings
|
|
25
|
+
*.pbxuser
|
|
26
|
+
!default.pbxuser
|
|
27
|
+
*.mode1v3
|
|
28
|
+
!default.mode1v3
|
|
29
|
+
*.mode2v3
|
|
30
|
+
!default.mode2v3
|
|
31
|
+
*.perspectivev3
|
|
32
|
+
!default.perspectivev3
|
|
33
|
+
xcuserdata/
|
|
34
|
+
|
|
35
|
+
## Other
|
|
36
|
+
*.moved-aside
|
|
37
|
+
*.xccheckout
|
|
38
|
+
*.xcscmblueprint
|
|
39
|
+
*.xcuserstate
|
|
40
|
+
|
|
41
|
+
## Obj-C/Swift specific
|
|
42
|
+
*.hmap
|
|
43
|
+
*.ipa
|
|
44
|
+
*.dSYM.zip
|
|
45
|
+
*.dSYM
|
|
46
|
+
|
|
47
|
+
## Playgrounds
|
|
48
|
+
timeline.xctimeline
|
|
49
|
+
playground.xcworkspace
|
|
50
|
+
|
|
51
|
+
# Swift Package Manager
|
|
52
|
+
#
|
|
53
|
+
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
|
|
54
|
+
# Packages/
|
|
55
|
+
# Package.pins
|
|
56
|
+
# Package.resolved
|
|
57
|
+
.build/
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
|
|
3
|
-
<img src="https://
|
|
3
|
+
<img src="https://user-images.githubusercontent.com/5553852/159388128-8c3178c3-0d2d-462f-880a-f922650af40e.png" width="40%" height="40%">
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
[](https://twitter.com/brew_0_O)
|
|
7
5
|
[](https://www.ruby-lang.org/ja/)
|
|
8
|
-
[](https://github.com/keisukeYamagishi/xsort/blob/master/LICENSE)
|
|
9
7
|
|
|
10
8
|
</p>
|
|
11
9
|
|
|
12
10
|
# Build
|
|
13
11
|
|OS |Result |
|
|
14
12
|
|:---------------|:----------------|
|
|
15
|
-
| ***Linux*** |[](https://github.com/keisukeYamagishi/xsort/actions/workflows/ruby.yml)|
|
|
16
14
|
|
|
17
15
|
## Overview
|
|
18
16
|
|
|
@@ -35,22 +33,16 @@ Download and install xsort with the following.
|
|
|
35
33
|
|
|
36
34
|
```
|
|
37
35
|
$ mkdir gitrepo
|
|
38
|
-
|
|
39
36
|
$ cd gitrepo
|
|
40
|
-
|
|
41
37
|
$ git clone git@github.com:keisukeYamagishi/xsort.git
|
|
42
|
-
|
|
43
38
|
```
|
|
44
39
|
|
|
45
40
|
***Via https***: For those checking out sources as read-only, HTTPS works best:
|
|
46
41
|
|
|
47
42
|
```
|
|
48
43
|
$ mkdir gitrepo
|
|
49
|
-
|
|
50
44
|
$ cd gitrepo
|
|
51
|
-
|
|
52
45
|
$ git clone https://github.com/keisukeYamagishi/xsort.git
|
|
53
|
-
|
|
54
46
|
```
|
|
55
47
|
|
|
56
48
|
## Usage
|
|
@@ -66,7 +58,12 @@ option:
|
|
|
66
58
|
-r: Just only extracting output.pbxproj will not write to pbxproj of Xcode project so safty
|
|
67
59
|
|
|
68
60
|
King Regards!
|
|
61
|
+
```
|
|
62
|
+
## Test
|
|
69
63
|
|
|
64
|
+
```
|
|
65
|
+
cd ./project-root-path
|
|
66
|
+
rspec
|
|
70
67
|
```
|
|
71
68
|
|
|
72
69
|
# Hot fix ***********************
|
|
@@ -97,14 +94,16 @@ xsort ./XcodeApps.xcodeproj
|
|
|
97
94
|
|
|
98
95
|
***You can sort them like the following image***
|
|
99
96
|
|
|
100
|
-
<img src="https://
|
|
97
|
+
<img src="https://user-images.githubusercontent.com/5553852/159388217-872e0749-bd86-4f15-b210-efcf29082130.png" width="50%" height="50%">
|
|
101
98
|
|
|
102
99
|
|
|
103
100
|
|
|
104
101
|
## Use it
|
|
105
102
|
|
|
103
|
+
***⚠️You should make a backup before you use it.⚠️***
|
|
104
|
+
|
|
106
105
|
```
|
|
107
|
-
xsort ./XcodeApps.xcodeproj
|
|
106
|
+
xsort ./XcodeApps.xcodeproj
|
|
108
107
|
```
|
|
109
108
|
or
|
|
110
109
|
|
|
@@ -164,8 +163,7 @@ xsort ../App/App.xcodeproj -r
|
|
|
164
163
|
|
|
165
164
|
```
|
|
166
165
|
->> ./xsort -v
|
|
167
|
-
|
|
168
|
-
Version: 1.4.0
|
|
166
|
+
Version: 1.4.4
|
|
169
167
|
```
|
|
170
168
|
|
|
171
169
|
## Contributing
|
data/bin/xsort
CHANGED
|
@@ -29,8 +29,17 @@ def execute(option)
|
|
|
29
29
|
puts "Version: #{Xsort::VERSION}"
|
|
30
30
|
elsif option.path.index("project.pbxproj")
|
|
31
31
|
# excute Xsort
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
begin
|
|
33
|
+
Xsort::Sortproj.sort(option.path,option.stdout,option.notOverwrite)
|
|
34
|
+
rescue IOError => ioerr
|
|
35
|
+
puts "(*_*).oO Oh no Exception!"
|
|
36
|
+
puts "(*_*).oO reason: \e[31m#{ioerr.message}\e[0m"
|
|
37
|
+
rescue SystemCallError => sysCallErr
|
|
38
|
+
puts "\e[31m(*_*).oO Oh no Exception!\e[0m"
|
|
39
|
+
puts "\e[31m(*_*).oO Failuer! reason: \n#{sysCallErr.message}\e[0m"
|
|
40
|
+
else
|
|
41
|
+
puts "\e[36mXsort Successful (☝ ՞ਊ ՞)☝!!!\e[0m"
|
|
42
|
+
end
|
|
34
43
|
else
|
|
35
44
|
puts "(*_*).oO not pbxproj file"
|
|
36
45
|
puts "(☝ ՞ਊ ՞)☝!!!must select pbxproj file(☝ ՞ਊ ՞)☝!!!"
|
data/lib/xsort/option.rb
CHANGED
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
#
|
|
10
10
|
#===------------------------------------------------------------------(☝ ՞ਊ ՞)☝/
|
|
11
11
|
|
|
12
|
+
##
|
|
12
13
|
class Option
|
|
13
|
-
|
|
14
|
+
attr_accessor :options, :path, :stdout, :notOverwrite
|
|
14
15
|
def initialize(argv)
|
|
15
16
|
@stdout = false
|
|
16
17
|
argvs = Array.new
|
|
@@ -24,7 +25,6 @@ class Option
|
|
|
24
25
|
@path = ""
|
|
25
26
|
argvs.each{|argv|
|
|
26
27
|
if !argv.index(".xcodeproj")
|
|
27
|
-
|
|
28
28
|
if argv == "-o"
|
|
29
29
|
@stdout = true
|
|
30
30
|
elsif argv == "-r"
|
|
@@ -45,23 +45,5 @@ class Option
|
|
|
45
45
|
pbxproj << "/project.pbxproj"
|
|
46
46
|
return pbxproj
|
|
47
47
|
end
|
|
48
|
-
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def options
|
|
52
|
-
@options
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def path
|
|
56
|
-
@path
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def stdout
|
|
60
|
-
@stdout
|
|
61
48
|
end
|
|
62
|
-
|
|
63
|
-
def notOverwrite
|
|
64
|
-
@notOverwrite
|
|
65
|
-
end
|
|
66
|
-
|
|
67
49
|
end
|
data/lib/xsort/sortproj.rb
CHANGED
|
@@ -11,19 +11,21 @@
|
|
|
11
11
|
|
|
12
12
|
module Xsort
|
|
13
13
|
class Sortproj
|
|
14
|
-
|
|
15
|
-
def
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
include Xcodeproj::Pbxproj::PbxObject
|
|
15
|
+
def self.sort (path, stdout, notOverwrite)
|
|
16
|
+
puts path
|
|
17
|
+
begin
|
|
18
|
+
pbxproj = Pbxproj.new(path)
|
|
19
|
+
pbxproj.parse
|
|
20
|
+
sort = PbxSort.new(pbxproj.pbxGroups)
|
|
21
|
+
pbxObject = sort.psort
|
|
22
|
+
write = PbxWrite.new(path,pbxObject,stdout,notOverwrite)
|
|
23
|
+
write.overWrite
|
|
24
|
+
rescue IOError => error
|
|
25
|
+
raise error
|
|
26
|
+
rescue SystemCallError => error
|
|
27
|
+
raise error
|
|
28
|
+
end
|
|
27
29
|
end
|
|
28
30
|
end
|
|
29
|
-
end
|
|
31
|
+
end
|
data/lib/xsort/version.rb
CHANGED
|
@@ -25,7 +25,7 @@ module Xcodeproj
|
|
|
25
25
|
|
|
26
26
|
@pbxs.each{ |pbx|
|
|
27
27
|
sort = pbx.children.sort{|pbx1, pbx2|
|
|
28
|
-
pbx1.name <=> pbx2.name
|
|
28
|
+
natural_sort_key(pbx1.name) <=> natural_sort_key(pbx2.name)
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
child = Array.new
|
|
@@ -75,6 +75,12 @@ module Xcodeproj
|
|
|
75
75
|
}
|
|
76
76
|
return pbx
|
|
77
77
|
end
|
|
78
|
+
|
|
79
|
+
def natural_sort_key(name)
|
|
80
|
+
name.scan(/\d+|\D+/).map do |part|
|
|
81
|
+
part.match?(/\A\d+\z/) ? [0, part.to_i] : [1, part]
|
|
82
|
+
end
|
|
83
|
+
end
|
|
78
84
|
end
|
|
79
85
|
end
|
|
80
86
|
end
|
|
@@ -12,9 +12,7 @@
|
|
|
12
12
|
module Xcodeproj
|
|
13
13
|
module Pbxproj
|
|
14
14
|
module PbxObject
|
|
15
|
-
|
|
16
15
|
class PbxWrite
|
|
17
|
-
|
|
18
16
|
def initialize(path,pbx, stdout,write)
|
|
19
17
|
@pbx = pbx
|
|
20
18
|
@stdout = stdout
|
|
@@ -29,7 +27,6 @@ module Xcodeproj
|
|
|
29
27
|
isPbxGroup = false
|
|
30
28
|
pbxValue = ""
|
|
31
29
|
num = 0
|
|
32
|
-
isSuccess = true
|
|
33
30
|
begin
|
|
34
31
|
File.open(@path, "r") do |pbx|
|
|
35
32
|
pbx.each_line do |pbx_line|
|
|
@@ -48,7 +45,6 @@ module Xcodeproj
|
|
|
48
45
|
if pbx_line.index("/* Begin PBXGroup section */")
|
|
49
46
|
isPbxGroup = true
|
|
50
47
|
end
|
|
51
|
-
|
|
52
48
|
pbxValue << pbx_line
|
|
53
49
|
end
|
|
54
50
|
end
|
|
@@ -59,16 +55,10 @@ module Xcodeproj
|
|
|
59
55
|
|
|
60
56
|
writeFile(pbxValue)
|
|
61
57
|
|
|
62
|
-
rescue IOError =>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
isSuccess = false
|
|
67
|
-
puts "Failuer! reason: \n\e[31m#{sysCallErr.message}\e[0m"
|
|
68
|
-
puts "The entered path is invalid."
|
|
69
|
-
end
|
|
70
|
-
if isSuccess == true
|
|
71
|
-
puts "\e[36mXsort Successful (☝ ՞ਊ ՞)☝!!!\e[0m"
|
|
58
|
+
rescue IOError => error
|
|
59
|
+
raise error
|
|
60
|
+
rescue SystemCallError => error
|
|
61
|
+
raise error
|
|
72
62
|
end
|
|
73
63
|
end
|
|
74
64
|
|
|
@@ -13,26 +13,11 @@ module Xcodeproj
|
|
|
13
13
|
module Pbxproj
|
|
14
14
|
module PbxObject
|
|
15
15
|
class PbxGroup
|
|
16
|
-
|
|
16
|
+
attr_accessor :pbxBase, :children
|
|
17
17
|
def initialize
|
|
18
18
|
@pbxBase = ""
|
|
19
19
|
@children = Array.new
|
|
20
20
|
end
|
|
21
|
-
|
|
22
|
-
def pbxBase
|
|
23
|
-
@pbxBase
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def setPbxBase(base)
|
|
27
|
-
@pbxBase = base
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def setChildren(pbx)
|
|
31
|
-
@children.push(pbx)
|
|
32
|
-
end
|
|
33
|
-
def children
|
|
34
|
-
@children
|
|
35
|
-
end
|
|
36
21
|
end
|
|
37
22
|
end
|
|
38
23
|
end
|
|
@@ -42,20 +27,11 @@ module Xcodeproj
|
|
|
42
27
|
module Pbxproj
|
|
43
28
|
module PbxObject
|
|
44
29
|
class PbxChild
|
|
45
|
-
|
|
30
|
+
attr_accessor :name, :childPbx
|
|
46
31
|
def initialize(name, childPbx)
|
|
47
32
|
@name = name
|
|
48
33
|
@childPbx = childPbx
|
|
49
34
|
end
|
|
50
|
-
|
|
51
|
-
def name
|
|
52
|
-
@name
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def childPbx
|
|
56
|
-
@childPbx
|
|
57
|
-
end
|
|
58
|
-
|
|
59
35
|
end
|
|
60
36
|
end
|
|
61
37
|
end
|
|
@@ -65,10 +41,8 @@ module Xcodeproj
|
|
|
65
41
|
module Pbxproj
|
|
66
42
|
module PbxObject
|
|
67
43
|
class Pbxproj
|
|
68
|
-
|
|
69
|
-
def initialize(path, stdout)
|
|
44
|
+
def initialize(path)
|
|
70
45
|
@path = path
|
|
71
|
-
@stdout = stdout
|
|
72
46
|
@pbxGroups = Array.new
|
|
73
47
|
end
|
|
74
48
|
|
|
@@ -82,11 +56,6 @@ module Xcodeproj
|
|
|
82
56
|
begin
|
|
83
57
|
File.open(@path, "r") do |pbx|
|
|
84
58
|
pbx.each_line do |pbx_line|
|
|
85
|
-
|
|
86
|
-
if @stdout == true
|
|
87
|
-
puts pbx_line
|
|
88
|
-
end
|
|
89
|
-
|
|
90
59
|
if pbx_line.index("/* End PBXGroup section */")
|
|
91
60
|
isPbxGroup = false
|
|
92
61
|
end
|
|
@@ -101,7 +70,7 @@ module Xcodeproj
|
|
|
101
70
|
if isPbxChild == true
|
|
102
71
|
name = Emurate.emurates(pbx_line)
|
|
103
72
|
@child = Xcodeproj::Pbxproj::PbxObject::PbxChild.new(name,pbx_line)
|
|
104
|
-
@group.
|
|
73
|
+
@group.children.push(@child)
|
|
105
74
|
end
|
|
106
75
|
|
|
107
76
|
# Children
|
|
@@ -121,7 +90,7 @@ module Xcodeproj
|
|
|
121
90
|
|
|
122
91
|
if pbx_line.index("};")
|
|
123
92
|
isPbxOneValue = false
|
|
124
|
-
@group.
|
|
93
|
+
@group.pbxBase = pbxValue
|
|
125
94
|
@pbxGroups.push(@group)
|
|
126
95
|
pbxValue = ""
|
|
127
96
|
end
|
|
@@ -132,11 +101,10 @@ module Xcodeproj
|
|
|
132
101
|
end
|
|
133
102
|
end
|
|
134
103
|
end
|
|
135
|
-
rescue IOError =>
|
|
136
|
-
|
|
137
|
-
rescue SystemCallError =>
|
|
138
|
-
|
|
139
|
-
puts "The entered path is invalid."
|
|
104
|
+
rescue IOError => error
|
|
105
|
+
raise error
|
|
106
|
+
rescue SystemCallError => error
|
|
107
|
+
raise error
|
|
140
108
|
end
|
|
141
109
|
end
|
|
142
110
|
|
data/xsort.gemspec
CHANGED
|
@@ -12,8 +12,8 @@ Gem::Specification.new do |spec|
|
|
|
12
12
|
spec.description = %q{Sort the file tree next to Xcode by file name.}
|
|
13
13
|
spec.homepage = "https://github.com/keisukeYamagishi/xsort"
|
|
14
14
|
spec.license = "MIT"
|
|
15
|
-
spec.required_ruby_version = ">= 2.
|
|
16
|
-
spec.required_rubygems_version = ">=
|
|
15
|
+
spec.required_ruby_version = ">= 2.6.10"
|
|
16
|
+
spec.required_rubygems_version = ">= 3.0.3"
|
|
17
17
|
|
|
18
18
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
19
19
|
f.match(%r{^(test|spec|features|doc)/})
|
|
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
24
24
|
spec.require_paths = ["lib"]
|
|
25
25
|
|
|
26
|
-
spec.add_development_dependency "bundler"
|
|
27
|
-
spec.add_development_dependency "rake"
|
|
28
|
-
spec.add_development_dependency "rspec"
|
|
26
|
+
spec.add_development_dependency "bundler"
|
|
27
|
+
spec.add_development_dependency "rake"
|
|
28
|
+
spec.add_development_dependency "rspec"
|
|
29
29
|
end
|
metadata
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xsort
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.4.
|
|
4
|
+
version: 1.4.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- keisuke
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-10-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '0'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
54
|
+
version: '0'
|
|
55
55
|
description: Sort the file tree next to Xcode by file name.
|
|
56
56
|
email:
|
|
57
57
|
- jam330157@gmail.com
|
|
@@ -60,13 +60,13 @@ executables:
|
|
|
60
60
|
extensions: []
|
|
61
61
|
extra_rdoc_files: []
|
|
62
62
|
files:
|
|
63
|
+
- ".github/workflows/ruby.yml"
|
|
63
64
|
- ".gitignore"
|
|
64
65
|
- ".rspec"
|
|
65
66
|
- ".travis.yml"
|
|
66
67
|
- CODE_OF_CONDUCT.md
|
|
67
68
|
- Gemfile
|
|
68
|
-
-
|
|
69
|
-
- LICENSE.txt
|
|
69
|
+
- LICENSE
|
|
70
70
|
- README.md
|
|
71
71
|
- Rakefile
|
|
72
72
|
- bin/xsort
|
|
@@ -91,14 +91,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
91
91
|
requirements:
|
|
92
92
|
- - ">="
|
|
93
93
|
- !ruby/object:Gem::Version
|
|
94
|
-
version: 2.
|
|
94
|
+
version: 2.6.10
|
|
95
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
96
|
requirements:
|
|
97
97
|
- - ">="
|
|
98
98
|
- !ruby/object:Gem::Version
|
|
99
|
-
version:
|
|
99
|
+
version: 3.0.3
|
|
100
100
|
requirements: []
|
|
101
|
-
rubygems_version: 3.0.3
|
|
101
|
+
rubygems_version: 3.0.3.1
|
|
102
102
|
signing_key:
|
|
103
103
|
specification_version: 4
|
|
104
104
|
summary: Sort by file.
|
data/Gemfile.lock
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
xsort (1.4.1)
|
|
5
|
-
|
|
6
|
-
GEM
|
|
7
|
-
remote: https://rubygems.org/
|
|
8
|
-
specs:
|
|
9
|
-
diff-lcs (1.3)
|
|
10
|
-
rake (10.5.0)
|
|
11
|
-
rspec (3.8.0)
|
|
12
|
-
rspec-core (~> 3.8.0)
|
|
13
|
-
rspec-expectations (~> 3.8.0)
|
|
14
|
-
rspec-mocks (~> 3.8.0)
|
|
15
|
-
rspec-core (3.8.0)
|
|
16
|
-
rspec-support (~> 3.8.0)
|
|
17
|
-
rspec-expectations (3.8.3)
|
|
18
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
19
|
-
rspec-support (~> 3.8.0)
|
|
20
|
-
rspec-mocks (3.8.0)
|
|
21
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
22
|
-
rspec-support (~> 3.8.0)
|
|
23
|
-
rspec-support (3.8.0)
|
|
24
|
-
|
|
25
|
-
PLATFORMS
|
|
26
|
-
ruby
|
|
27
|
-
|
|
28
|
-
DEPENDENCIES
|
|
29
|
-
bundler (~> 1.16)
|
|
30
|
-
rake (~> 10.0)
|
|
31
|
-
rspec (~> 3.0)
|
|
32
|
-
xsort!
|
|
33
|
-
|
|
34
|
-
BUNDLED WITH
|
|
35
|
-
1.17.2
|
/data/{LICENSE.txt → LICENSE}
RENAMED
|
File without changes
|