lib/bindata/bits.rb in bindata-1.5.0 vs lib/bindata/bits.rb in bindata-1.5.1
- old
+ new
@@ -6,11 +6,11 @@
module BitField #:nodoc: all
class << self
def define_class(nbits, endian)
name = "Bit#{nbits}"
- name += "le" if endian == :little
+ name << "le" if endian == :little
unless BinData.const_defined?(name)
BinData.module_eval <<-END
class #{name} < BinData::BasePrimitive
BitField.define_methods(self, #{nbits}, :#{endian})
end
@@ -49,17 +49,17 @@
end
def create_clamp_code(nbits)
min = 0
max = (1 << nbits) - 1
- clamp = "val = (val < #{min}) ? #{min} : (val > #{max}) ? #{max} : val"
+ clamp = "(val < #{min}) ? #{min} : (val > #{max}) ? #{max} : val"
if nbits == 1
# allow single bits to be used as booleans
- "val = (val == true) ? 1 : (not val) ? 0 : #{clamp}"
- else
- clamp
+ clamp = "(val == true) ? 1 : (not val) ? 0 : #{clamp}"
end
+
+ "val = #{clamp}"
end
end
end
# Create classes on demand