pub_grub 0.3.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35ae2080ad05322250f9908df76885b83bc1b2578202fccb33c13457bd570925
4
- data.tar.gz: 0dc16b3c3e66f06548a51fa03876090d070c67821e43e6c552789e881dd8feab
3
+ metadata.gz: 642375a06f7dfaeb135540d21df24c7ce5f88cd531129207fd0fcfbc83959f6d
4
+ data.tar.gz: ba4089a2a03066e6d870bf59a8db5f946faf6021b80185f12a19de5909ef0089
5
5
  SHA512:
6
- metadata.gz: e86e819b78f3b6a6e94ec3379f0cc4b61e827cbabd16940eb070156cef6b02b9333a3166616e82fe4efb9b3661c25918ed00641a8a8967550dd3315b1c7d2e7c
7
- data.tar.gz: 441598b506f2d4d418bb9976911f248f86b1ccc1c1a13127ee9e5f8d8f408469ec48ea7c58b1356fdc9ff9f7c78eba9a266af9db7580bf24457d82465f8e878b
6
+ metadata.gz: 78e1a7ebc65582bcce5665b601d11850183b25eb4634cb3cf1c81057a7e1b8c52ca7e229ada3ca48e368bc5f1152d7572dedaf46d1eda2a0c9738e14174583c4
7
+ data.tar.gz: 0053dd74681d77f8936db09ba631b3aed9676f45bb12bd8f9555667ca7f450c2780c469294f9e03922c042f6b42979bc18a644df31bd595bffdaa0e549fc6c1c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pub_grub (0.3.0)
4
+ pub_grub (0.3.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -46,6 +46,10 @@ module PubGrub
46
46
  def invert
47
47
  VersionRange.any
48
48
  end
49
+
50
+ def select_versions(_)
51
+ []
52
+ end
49
53
  end
50
54
 
51
55
  def self.empty
@@ -75,6 +79,29 @@ module PubGrub
75
79
  compare_version(version) == 0
76
80
  end
77
81
 
82
+ # Returns verisons which are included by this range.
83
+ #
84
+ # versions must be sorted
85
+ def select_versions(versions)
86
+ if min
87
+ if include_min?
88
+ versions = versions.drop_while { |v| v < min }
89
+ else
90
+ versions = versions.drop_while { |v| v <= min }
91
+ end
92
+ end
93
+
94
+ if max
95
+ if include_max?
96
+ versions = versions.take_while { |v| v <= max }
97
+ else
98
+ versions = versions.take_while { |v| v < max }
99
+ end
100
+ end
101
+
102
+ versions
103
+ end
104
+
78
105
  def compare_version(version)
79
106
  if min
80
107
  case version <=> min
@@ -52,6 +52,12 @@ module PubGrub
52
52
  !!ranges.bsearch {|r| r.compare_version(version) }
53
53
  end
54
54
 
55
+ def select_versions(versions)
56
+ ranges.flat_map do |range|
57
+ range.select_versions(versions)
58
+ end
59
+ end
60
+
55
61
  def intersects?(other)
56
62
  my_ranges = ranges.dup
57
63
  other_ranges =
data/pub_grub.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "pub_grub"
7
- spec.version = "0.3.0"
7
+ spec.version = "0.3.1"
8
8
  spec.authors = ["John Hawthorn"]
9
9
  spec.email = ["john@hawthorn.email"]
10
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pub_grub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Hawthorn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-26 00:00:00.000000000 Z
11
+ date: 2018-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler