sorted_set 1.0.0-java → 1.0.1-java

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
  SHA256:
3
- metadata.gz: '081898341e9841dc1003f668d4ca625f40927bc9f8833cd6a6bfcb06f5bcfc7a'
4
- data.tar.gz: d473ca555544efb5a22774b1c2d38ac0813825264510851b41db04b1dbbea471
3
+ metadata.gz: 591941e2df94bac0072186aaa04f342c2633c593d58cba73d9a4aded808d422d
4
+ data.tar.gz: 3aacb139a64c8f1e28523f629f687d1a77764ee7eed9ae24eb1773fd82b51447
5
5
  SHA512:
6
- metadata.gz: b03e842ed2ecc92e2e71a0182573f1dedbf7179c9146a1be3acb91e8b60e89c30ba7b8edb09a3f3f67e9399297f88d5148491743b6b1b9dd363e48be846471a5
7
- data.tar.gz: 852398e0e8803f42c833a98f3e4ca809f792c6fcdb2c3e798ba4e143f064da9fe714fa8a33f14b014a5a9a369ff105e6b16e349e18a1edf8c471f4adba5cfaa2
6
+ metadata.gz: a7c40ae79da17d29f3ebbc87e16369ca334546e116014b912ea8fa4d54beca59fad36629bd56bca4ea3c77bc64f77c623e0d143b5c1a216ab09b87231bc36f77
7
+ data.tar.gz: ecd3b585a76e33bda7e79528258c5b308aca2c5b617b8981454c00d0d1f40161bbc58e234c9d2222ccdd3d884c85d5f631bd73fce57968a16919f1ea61d92677
@@ -1,8 +1,13 @@
1
1
  # SortedSet Changelog
2
2
 
3
+ ## 1.0.1 (2020-12-22)
4
+
5
+ * Enhancements
6
+ * Be a no-op library for JRuby, as it has its own version of Set and SortedSet.
7
+
3
8
  ## 1.0.0 (2020-12-22)
4
9
 
5
10
  This is the first release of sorted_set as a gem. Here lists the changes since the version bundled with Ruby 2.7.
6
11
 
7
12
  * Breaking Changes
8
- * The pure-ruby fallback implementation has been removed. It now requires an RBTree library (rbtree for CRuby, rbtree-jruby for JRuby) to install and run.
13
+ * The pure-ruby fallback implementation has been removed. It now requires an RBTree library (rbtree) to install and run.
data/README.md CHANGED
@@ -8,6 +8,9 @@ Every element in SortedSet must be *mutually comparable* to every
8
8
  other: comparison with `<=>` must not return nil for any pair of
9
9
  elements. Otherwise ArgumentError will be raised.
10
10
 
11
+ Currently this library does nothing for JRuby, as it has its own
12
+ version of Set and SortedSet.
13
+
11
14
  ## Installation
12
15
 
13
16
  Add this line to your application's Gemfile:
@@ -1,8 +1,26 @@
1
1
  # :markup: markdown
2
2
 
3
3
  require 'set'
4
+
5
+ return if defined?(JRUBY_VERSION)
6
+
4
7
  require 'rbtree'
5
8
 
9
+ Object.instance_exec do
10
+ # Undefine SortedSet for two reasons.
11
+ #
12
+ # 1. We should wipe out an existing implementation if Ruby 2.x loads
13
+ # this library after loading the standard set library which
14
+ # defines SortedSet.
15
+ #
16
+ # 2. Ruby >=3.0 (set >=1.0.0) sets autoload on SortedSet, and we
17
+ # shouldn't let the following reference to SortedSet fire it
18
+ # because it would end up requiring this library, leading to
19
+ # circular require.
20
+ #
21
+ remove_const :SortedSet if const_defined?(:SortedSet)
22
+ end
23
+
6
24
  ##
7
25
  # SortedSet implements a Set whose elements are sorted in ascending
8
26
  # order (according to the return values of their `<=>` methods) when
@@ -31,27 +49,9 @@ require 'rbtree'
31
49
  # ```
32
50
 
33
51
  class SortedSet < Set
34
- # Remove the existing implementation in case Ruby 2.x loads this
35
- # library after loading the standard set library which defines
36
- # SortedSet.
37
- if class_variable_defined?(:@@setup)
38
- # a hack to shut up warning
39
- alias_method :old_init, :initialize
40
-
41
- instance_methods(false).each { |m| remove_method(m) }
42
- end
43
-
44
52
  # Creates a SortedSet. See Set.new for details.
45
53
  def initialize(*args)
46
54
  @hash = RBTree.new
47
55
  super
48
56
  end
49
-
50
- if class_variable_defined?(:@@setup)
51
- remove_class_variable(:@@setup)
52
- remove_class_variable(:@@mutex) if class_variable_defined?(:@@mutex)
53
-
54
- # a hack to shut up warning
55
- remove_method :old_init
56
- end
57
57
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "sorted_set"
3
- spec.version = "1.0.0"
3
+ spec.version = "1.0.1"
4
4
  spec.authors = ["Akinori MUSHA"]
5
5
  spec.email = ["knu@idaemons.org"]
6
6
 
@@ -22,11 +22,11 @@ Gem::Specification.new do |spec|
22
22
  spec.bindir = "exe"
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ["lib"]
25
- spec.add_runtime_dependency "set", "~> 1.0"
25
+
26
26
  if defined?(JRUBY_VERSION)
27
- spec.platform = 'java'
28
- spec.add_runtime_dependency "rbtree-jruby"
27
+ spec.platform = "java"
29
28
  else
29
+ spec.add_runtime_dependency "set", "~> 1.0"
30
30
  spec.add_runtime_dependency "rbtree"
31
31
  end
32
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorted_set
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: java
6
6
  authors:
7
7
  - Akinori MUSHA
@@ -9,35 +9,7 @@ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2020-12-22 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - "~>"
17
- - !ruby/object:Gem::Version
18
- version: '1.0'
19
- name: set
20
- prerelease: false
21
- type: :runtime
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
- - !ruby/object:Gem::Dependency
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: '0'
33
- name: rbtree-jruby
34
- prerelease: false
35
- type: :runtime
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
12
+ dependencies: []
41
13
  description: Implements a variant of Set whose elements are sorted in ascending order
42
14
  email:
43
15
  - knu@idaemons.org
@@ -62,7 +34,7 @@ licenses:
62
34
  metadata:
63
35
  homepage_uri: https://github.com/knu/sorted_set
64
36
  source_code_uri: https://github.com/knu/sorted_set
65
- changelog_uri: https://github.com/knu/sorted_set/blob/v1.0.0/CHANGELOG.md
37
+ changelog_uri: https://github.com/knu/sorted_set/blob/v1.0.1/CHANGELOG.md
66
38
  post_install_message:
67
39
  rdoc_options: []
68
40
  require_paths: