api_diff 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/api_diff/api.rb +9 -2
- data/lib/api_diff/cli.rb +4 -3
- data/lib/api_diff/type.rb +4 -0
- data/lib/api_diff/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 310a7da2f0d41ae551be866edc09039b488c7128a9ca5337acaf0902aa4beecd
|
4
|
+
data.tar.gz: cfe5d1f1cdc4daf8eba8f1c5b8e6b1b7945fd3f0bd629c65b82cd9755f5bea60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00e2213f1595896419c9e3ca890eed716d8ad25cb36e127795ae8cf7bc394af09e4322ab81a382ff4080fae8c0d8d7bf7fdcb8e3a8a634a61d6fcc0112689192
|
7
|
+
data.tar.gz: e1ec8e8cd85683fef1c6e0a823136f0b79389cd1b64084d1b369a7e00b38728498aa52e7f52315ab9f70620a1fdea57213a35617acbb2773f26e0a998cb042a0
|
data/lib/api_diff/api.rb
CHANGED
@@ -20,10 +20,17 @@ module ApiDiff
|
|
20
20
|
enums.find { |e| e.name == named || e.fully_qualified_name == fully_qualified_name }
|
21
21
|
end
|
22
22
|
|
23
|
-
def to_s(fully_qualified_names: true,
|
23
|
+
def to_s(fully_qualified_names: true, order: :global)
|
24
24
|
result = []
|
25
|
-
if
|
25
|
+
if order == "global"
|
26
26
|
result << (enums + interfaces + classes).sort.map { |e| e.to_s(fully_qualified_name: fully_qualified_names) }
|
27
|
+
elsif order == "fqn"
|
28
|
+
types = enums + interfaces + classes
|
29
|
+
type_order = { "enum" => 1, "interface" => 2, "class" => 3 }
|
30
|
+
types.sort! do |t1, t2|
|
31
|
+
[t1.package, type_order[t1.class.type_name], t1.name] <=> [t2.package, type_order[t2.class.type_name], t2.name]
|
32
|
+
end
|
33
|
+
result << types.map { |e| e.to_s(fully_qualified_name: fully_qualified_names) }
|
27
34
|
else
|
28
35
|
result << enums.sort.map { |e| e.to_s(fully_qualified_name: fully_qualified_names) }
|
29
36
|
result << interfaces.sort.map { |i| i.to_s(fully_qualified_name: fully_qualified_names) }
|
data/lib/api_diff/cli.rb
CHANGED
@@ -3,11 +3,12 @@ require "optparse"
|
|
3
3
|
module ApiDiff
|
4
4
|
class Cli
|
5
5
|
def parse(arguments)
|
6
|
+
formats = ["swift-interface", "kotlin-bcv"]
|
6
7
|
parser = OptionParser.new do |opts|
|
7
|
-
opts.on("-f", "--format FORMAT",
|
8
|
+
opts.on("-f", "--format FORMAT", formats, "Possible values are: #{formats.join(",")}")
|
8
9
|
opts.on("-s", "--short-names", "Use short instead of fully qualified names")
|
9
10
|
opts.on("-n", "--normalize")
|
10
|
-
opts.on("-
|
11
|
+
opts.on("-o", "--order ORDER", ["global", "fqn"])
|
11
12
|
end
|
12
13
|
|
13
14
|
options = {}
|
@@ -38,7 +39,7 @@ module ApiDiff
|
|
38
39
|
parser.parse(IO.read(options[:input]))
|
39
40
|
output = parser.api.to_s(
|
40
41
|
fully_qualified_names: !options[:"short-names"],
|
41
|
-
|
42
|
+
order: options[:"order"]
|
42
43
|
)
|
43
44
|
puts output
|
44
45
|
end
|
data/lib/api_diff/type.rb
CHANGED
@@ -15,6 +15,10 @@ module ApiDiff
|
|
15
15
|
@properties = []
|
16
16
|
end
|
17
17
|
|
18
|
+
def package
|
19
|
+
fully_qualified_name.split(".")[0..-2].join(".")
|
20
|
+
end
|
21
|
+
|
18
22
|
def declaration(fully_qualified_name: false)
|
19
23
|
name = fully_qualified_name ? self.fully_qualified_name : self.name
|
20
24
|
result = "#{self.class.type_name} #{name}"
|
data/lib/api_diff/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_diff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian Ludwig
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -38,7 +38,7 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '11'
|
41
|
-
description:
|
41
|
+
description:
|
42
42
|
email:
|
43
43
|
- sebastian@lurado.de
|
44
44
|
executables:
|
@@ -72,7 +72,7 @@ licenses:
|
|
72
72
|
metadata:
|
73
73
|
homepage_uri: https://github.com/sebastianludwig/api-diff
|
74
74
|
source_code_uri: https://github.com/sebastianludwig/api_diff
|
75
|
-
post_install_message:
|
75
|
+
post_install_message:
|
76
76
|
rdoc_options: []
|
77
77
|
require_paths:
|
78
78
|
- lib
|
@@ -87,8 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
requirements: []
|
90
|
-
rubygems_version: 3.
|
91
|
-
signing_key:
|
90
|
+
rubygems_version: 3.0.3
|
91
|
+
signing_key:
|
92
92
|
specification_version: 4
|
93
93
|
summary: Bring APIs into an easily diff-able format
|
94
94
|
test_files:
|