natives 0.6.0 → 0.6.1
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 +8 -8
- data/VERSION +1 -1
- data/lib/natives/catalog/selector.rb +17 -11
- data/natives.gemspec +3 -3
- data/spec/natives/catalog/normalizer_spec.rb +1 -1
- data/spec/natives/catalog/selector_spec.rb +91 -15
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzhmYmZlMjMxM2UxMWYyYmNjYjY4ODZmNjlhY2Y2N2M4YjI5M2JjMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MjBjZjhkNWM1MjNmNDU5NzA3MzIyMTcxMmY3Zjk5YTRhNzRmYzE1OQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZmQwOGU1YmJmNjI0YjBhMTA5NGRlZDQwMmI4ODhiNmU4ZjEwZDY3ZDZhNWUz
|
10
|
+
NDA3NWIxMzNmZTg3ZTBkM2NjMDM0ZmJkY2M2NDljNmNkOGY2N2ZiYWU0ZmFm
|
11
|
+
N2RlNTdmODYwN2JkNTRhOTEyM2EzZjI1ODkxN2E1MTA4ODZlOTA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YjdiNmI2MWUyYzQ2MzU0NmE2MzM0NGEyMzk5YzYzNjdhMWI3MWMzN2MzYTc0
|
14
|
+
YTY4NjU1MTk5MmZiODBjM2MxNzhmZWVmZWQ4ZjYwZjE1OTUyZDY0MjJmOGU5
|
15
|
+
ODk2YWZkYjIwYmNmNTA4YjE4MjQ2Yjg3NDg2NDAzNDAxNGY0YjI=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.1
|
@@ -12,17 +12,23 @@ module Natives
|
|
12
12
|
platform = platform.to_s
|
13
13
|
platform_version = platform_version.to_s
|
14
14
|
|
15
|
-
values =
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
15
|
+
values = if @values.key?(package_provider) &&
|
16
|
+
@values[package_provider].key?(platform) &&
|
17
|
+
@values[package_provider][platform].key?(platform_version)
|
18
|
+
|
19
|
+
@values[package_provider][platform][platform_version]
|
20
|
+
|
21
|
+
elsif @values.key?(package_provider) &&
|
22
|
+
@values[package_provider].key?(platform) &&
|
23
|
+
@values[package_provider][platform].key?('default')
|
24
|
+
|
25
|
+
@values[package_provider][platform]['default']
|
26
|
+
|
27
|
+
elsif @values.key?(package_provider) &&
|
28
|
+
@values[package_provider].key?('default')
|
29
|
+
|
30
|
+
@values[package_provider]['default']
|
31
|
+
end
|
26
32
|
|
27
33
|
Array(values)
|
28
34
|
end
|
data/natives.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: natives 0.6.
|
5
|
+
# stub: natives 0.6.1 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "natives"
|
9
|
-
s.version = "0.6.
|
9
|
+
s.version = "0.6.1"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = ["Huiming Teo"]
|
13
|
-
s.date = "2013-11-
|
13
|
+
s.date = "2013-11-19"
|
14
14
|
s.description = "Lookup native package dependencies required by gems on your machine."
|
15
15
|
s.email = "teohuiming@gmail.com"
|
16
16
|
s.executables = ["natives"]
|
@@ -14,6 +14,12 @@ describe Natives::Catalog::Selector do
|
|
14
14
|
'default' => %w(ubuntu-default1 ubuntu-default2)
|
15
15
|
}
|
16
16
|
},
|
17
|
+
macports: {
|
18
|
+
default: 'macports-default',
|
19
|
+
mac_os_x: {
|
20
|
+
'10' => 'bar'
|
21
|
+
}
|
22
|
+
},
|
17
23
|
homebrew: {
|
18
24
|
mac_os_x: {
|
19
25
|
'10' => 'foo'
|
@@ -22,30 +28,100 @@ describe Natives::Catalog::Selector do
|
|
22
28
|
})
|
23
29
|
end
|
24
30
|
|
25
|
-
it "returns values for
|
26
|
-
|
27
|
-
|
31
|
+
it "returns values for matching platform version" do
|
32
|
+
selector = Natives::Catalog::Selector.new({
|
33
|
+
apt: {
|
34
|
+
ubuntu: {
|
35
|
+
'12.10' => 'value'
|
36
|
+
}
|
37
|
+
}
|
38
|
+
})
|
39
|
+
expect(selector.values_for(:apt, :ubuntu, '12.10')).to eq(
|
40
|
+
['value'])
|
28
41
|
end
|
29
|
-
|
30
|
-
|
31
|
-
|
42
|
+
|
43
|
+
it "returns a value for matching platform version in version list" do
|
44
|
+
selector = Natives::Catalog::Selector.new({
|
45
|
+
apt: {
|
46
|
+
ubuntu: {
|
47
|
+
['12.10.1', '12.10', '12.10.2'] => 'value'
|
48
|
+
}
|
49
|
+
}
|
50
|
+
})
|
51
|
+
expect(selector.values_for(:apt, :ubuntu, '12.10')).to eq(
|
52
|
+
['value'])
|
32
53
|
end
|
54
|
+
|
33
55
|
it "returns default version values when no matching platform version" do
|
34
|
-
|
35
|
-
|
56
|
+
selector = Natives::Catalog::Selector.new({
|
57
|
+
apt: {
|
58
|
+
ubuntu: {
|
59
|
+
['12.10.1', '12.10', '12.10.2'] => 'value',
|
60
|
+
default: 'value-default'
|
61
|
+
}
|
62
|
+
}
|
63
|
+
})
|
64
|
+
expect(selector.values_for(:apt, :ubuntu, '99')).to eq(
|
65
|
+
['value-default'])
|
36
66
|
end
|
67
|
+
|
37
68
|
it "returns default value when not matching platform" do
|
38
|
-
|
39
|
-
|
69
|
+
selector = Natives::Catalog::Selector.new({
|
70
|
+
apt: {
|
71
|
+
ubuntu: {
|
72
|
+
['12.10.1', '12.10', '12.10.2'] => 'ubuntu-value',
|
73
|
+
default: 'ubuntu-value-default'
|
74
|
+
},
|
75
|
+
default: 'value'
|
76
|
+
}
|
77
|
+
})
|
78
|
+
expect(selector.values_for(:apt, :foo, '12.10.1')).to eq(
|
79
|
+
['value'])
|
80
|
+
end
|
81
|
+
|
82
|
+
it "returns default value when not matching platform version, and no version default value" do
|
83
|
+
selector = Natives::Catalog::Selector.new({
|
84
|
+
apt: {
|
85
|
+
ubuntu: {
|
86
|
+
['12.10.1', '12.10', '12.10.2'] => 'ubuntu-value',
|
87
|
+
},
|
88
|
+
default: 'value'
|
89
|
+
}
|
90
|
+
})
|
91
|
+
expect(selector.values_for(:apt, :ubuntu, '99')).to eq(
|
92
|
+
['value'])
|
40
93
|
end
|
94
|
+
|
41
95
|
it "returns empty list if there is no matching package provider" do
|
42
|
-
|
96
|
+
selector = Natives::Catalog::Selector.new({
|
97
|
+
apt: {
|
98
|
+
ubuntu: {
|
99
|
+
default: 'value'
|
100
|
+
}
|
101
|
+
}
|
102
|
+
})
|
103
|
+
expect(selector.values_for(:foo, :ubuntu, '99')).to eq([])
|
43
104
|
end
|
44
|
-
|
45
|
-
|
105
|
+
|
106
|
+
it "returns empty list if there is no default and no matching platform" do
|
107
|
+
selector = Natives::Catalog::Selector.new({
|
108
|
+
apt: {
|
109
|
+
ubuntu: {
|
110
|
+
'10.10' => 'value'
|
111
|
+
}
|
112
|
+
}
|
113
|
+
})
|
114
|
+
expect(selector.values_for(:apt, :foo, '10.10')).to eq([])
|
46
115
|
end
|
47
|
-
it "returns
|
48
|
-
|
116
|
+
it "returns empty list if there is no default and no matching platform version" do
|
117
|
+
selector = Natives::Catalog::Selector.new({
|
118
|
+
apt: {
|
119
|
+
ubuntu: {
|
120
|
+
'10.10' => 'value'
|
121
|
+
}
|
122
|
+
}
|
123
|
+
})
|
124
|
+
expect(selector.values_for(:apt, :ubuntu, '99')).to eq([])
|
49
125
|
end
|
50
126
|
end
|
51
127
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: natives
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Huiming Teo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ohai
|