Class: SimpleEnum::Multiple::Coders::Bitwise
- Inherits:
-
Object
- Object
- SimpleEnum::Multiple::Coders::Bitwise
- Defined in:
- lib/simple_enum/multiple/coders/bitwise.rb
Class Method Summary collapse
Class Method Details
.dump(array) ⇒ Object
14 15 16 17 18 |
# File 'lib/simple_enum/multiple/coders/bitwise.rb', line 14 def self.dump(array) array.map do |i| 1 << i end.reduce(&:+) end |
.load(data) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/simple_enum/multiple/coders/bitwise.rb', line 5 def self.load(data) n = data.to_i (0..Math.log2(n).floor).reject do |i| (n & (1 << i)).zero? end rescue FloatDomainError, Math::DomainError [] end |