setfu 1.2.0 → 1.2.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
  SHA1:
3
- metadata.gz: 134e00fed065a113e94ad7aa53d038a3123ce7e2
4
- data.tar.gz: c255f820ed6460f627da42276830fa2a03cf1bbc
3
+ metadata.gz: 72565070f36393bad5dc9eb8cbeba0dd49804c9a
4
+ data.tar.gz: c1efb9f7cff8811a55282d31f6cbe0eda66a1bff
5
5
  SHA512:
6
- metadata.gz: c6da933de018e78187a64b1000c8cfd0c1da26eaa00a88e74668193b171f803e83b25340c90a6607ea96dab1f4a16988d9e171f41762646351ef88ef2888e26c
7
- data.tar.gz: 5da251f1351be7e684a20bdb490edccee46da8a06aab0d1c81748b6d200c746909a154ed564ef1efd8d32d579e40023957345b635877d83c2d702dfe6ca591b3
6
+ metadata.gz: 1256c103b03a79bfc631377c9eea812cbea1743fb7526a7c1fbd1edc366f04edc6fe6777a1ba320bb14d8290924bf701af2f7720327dfcabb7a9255d63488842
7
+ data.tar.gz: 729b9b90ff87bda5ccd4b70f9241daed3a613ac16d9b74933903c79fe5bf0d5ba732aaf4cc659ad156d473c94b356caef1f4bec6d9a383111a73aa4ea91783ee
data/lib/setfu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Setfu
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
data/lib/setfu.rb CHANGED
@@ -325,8 +325,11 @@ class Set
325
325
  end
326
326
 
327
327
  def include?(items)
328
+ return false if @bits == 0 # empty sets include nothing including other empty sets
328
329
  if(items.class==Set)
329
- return (@bits & items.to_i) == items.to_i
330
+ tmp = @bits & items.to_i
331
+ return false if tmp==0
332
+ return (tmp) == items.to_i
330
333
  elsif(items.class==Range)
331
334
  f=items.first.ord
332
335
  l=items.last.ord
@@ -336,11 +339,13 @@ class Set
336
339
  t = t << f
337
340
  return (@bits & t) == t
338
341
  elsif(items.respond_to? :each_char)
342
+ return false if items.empty?
339
343
  items.each_char do |item|
340
344
  t = 1 << item.ord
341
345
  return false if 0 == (t & @bits)
342
346
  end
343
347
  elsif(items.respond_to? :each)
348
+ return false if items.empty?
344
349
  items.each do |item|
345
350
  return false if false==include?(item)
346
351
  end
@@ -377,7 +382,7 @@ class Set
377
382
  def to_s
378
383
  rtn = ""
379
384
  each_member do |ch|
380
- rtn += ch.chr
385
+ rtn += ch.chr(Encoding::UTF_8)
381
386
  end
382
387
  rtn
383
388
  end
@@ -385,7 +390,7 @@ class Set
385
390
  def to_a(int = true)
386
391
  rtn = []
387
392
  each_member do |num|
388
- rtn.push int ? num : num.chr
393
+ rtn.push int ? num : num.chr(Encoding::UTF_8)
389
394
  end
390
395
  rtn
391
396
  end
@@ -399,7 +404,7 @@ class Set
399
404
  th -= 1
400
405
  each_member do |num|
401
406
  # byebug unless int
402
- rtn.push int ? num : num.chr
407
+ rtn.push int ? num : num.chr(Encoding::UTF_8)
403
408
  if ((last+1)==num)
404
409
  # byebug if cnt.nil?
405
410
  cnt += 1
@@ -514,13 +519,13 @@ class Set
514
519
  when :array_chars
515
520
  rtn = []
516
521
  ary.each do |elm|
517
- rtn.push elm.chr
522
+ rtn.push elm.chr(Encoding::UTF_8)
518
523
  end
519
524
  return rtn
520
525
  when :string
521
526
  rtn = []
522
527
  ary.each do |elm|
523
- rtn.push elm.chr
528
+ rtn.push elm.chr(Encoding::UTF_8)
524
529
  end
525
530
  return rtn.join ""
526
531
  else # :set
@@ -671,3 +676,12 @@ class Range
671
676
  include SetFuMixinBinarySubsetOperator
672
677
  include SetFuMixinBinaryProperOperator
673
678
  end
679
+
680
+ =begin
681
+ # BAD IDEA ... nil is usually an error
682
+ class NilClass # treat nil as empty set
683
+ def to_set
684
+ return Set.new
685
+ end
686
+ end
687
+ =end
data/setfu.gemspec CHANGED
@@ -26,7 +26,7 @@ When characters are used, the ordinate value sets the element bit of the interna
26
26
  spec.required_ruby_version = '>= 1.9.1'
27
27
 
28
28
  spec.add_development_dependency "bundler", "~> 1.3"
29
- spec.add_development_dependency "rake", ">= 10.1.0"
30
- spec.add_development_dependency 'rspec', ">= 3.3.0"
31
- spec.add_development_dependency 'byebug', ">= 5.0.0"
29
+ spec.add_development_dependency 'rake', '~> 10.1', '>= 10.1.0'
30
+ spec.add_development_dependency 'rspec', '~> 3.3', '>= 3.3.0'
31
+ spec.add_development_dependency 'byebug', '~> 5.0', '>= 5.0.0'
32
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: setfu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Colvin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-03 00:00:00.000000000 Z
11
+ date: 2015-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,6 +28,9 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.1'
31
34
  - - ">="
32
35
  - !ruby/object:Gem::Version
33
36
  version: 10.1.0
@@ -35,6 +38,9 @@ dependencies:
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '10.1'
38
44
  - - ">="
39
45
  - !ruby/object:Gem::Version
40
46
  version: 10.1.0
@@ -42,6 +48,9 @@ dependencies:
42
48
  name: rspec
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.3'
45
54
  - - ">="
46
55
  - !ruby/object:Gem::Version
47
56
  version: 3.3.0
@@ -49,6 +58,9 @@ dependencies:
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
51
60
  requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '3.3'
52
64
  - - ">="
53
65
  - !ruby/object:Gem::Version
54
66
  version: 3.3.0
@@ -56,6 +68,9 @@ dependencies:
56
68
  name: byebug
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '5.0'
59
74
  - - ">="
60
75
  - !ruby/object:Gem::Version
61
76
  version: 5.0.0
@@ -63,6 +78,9 @@ dependencies:
63
78
  prerelease: false
64
79
  version_requirements: !ruby/object:Gem::Requirement
65
80
  requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '5.0'
66
84
  - - ">="
67
85
  - !ruby/object:Gem::Version
68
86
  version: 5.0.0