Sha256: b31df8d69478cebb0291e0dae888b6aff0b0cd2db3bcf23e8a2d93f8c73cff88

Contents?: true

Size: 704 Bytes

Versions: 4

Compression:

Stored size: 704 Bytes

Contents

module ProconBypassMan::Procon::PushedButtonHelper
  module Static
    def pressed_button?(button)
      binary[
        ::ProconBypassMan::Procon::ButtonCollection.load(button).byte_position
      ].unpack("H*").first.to_i(16).to_s(2).reverse[
        ::ProconBypassMan::Procon::ButtonCollection.load(button).bit_position
      ] == '1'
    end
  end

  module Dynamic
    @@compiled = false
    def compile_if_not_compile_yet!
      unless @@compiled
        ::ProconBypassMan::Procon::ButtonCollection::BUTTONS_MAP.each do |button, value|
          define_method "pressed_#{button}?" do
            pressed_button?(button)
          end
        end
      end
      @@compiled = true
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
procon_bypass_man-0.1.5 lib/procon_bypass_man/procon/pressed_button_helper.rb
procon_bypass_man-0.1.4 lib/procon_bypass_man/procon/pressed_button_helper.rb
procon_bypass_man-0.1.3 lib/procon_bypass_man/procon/pressed_button_helper.rb
procon_bypass_man-0.1.2 lib/procon_bypass_man/procon/pressed_button_helper.rb