Sha256: fa9615f81b0d8fa2ac50433baeda5b05ccb2cdac5f6e4d5bffc3a6941f21e8a0
Contents?: true
Size: 1.58 KB
Versions: 4
Compression:
Stored size: 1.58 KB
Contents
# Stupid hack because the RubyMotion dependency detection has a bug. module BubbleWrap module Constants module_function # Looks like RubyMotiononly adds UIKit constants # at compile time. If you don't use these # directly in your code, they don't get added # to Kernel and Constants.get crashes. # Examples # Constants.register UIReturnKeyDone, UIReturnKeyNext def register(*ui_constants) # do nothing, just get the constants in the code end # @param [String] base of the constant # @param [Integer, NSArray, String, Symbol] the suffix of the constant # when NSArray, will return the bitmask of all suffixes in the array # @return [Integer] the constant for this base and suffix # Examples # get("UIReturnKey", :done) => UIReturnKeyDone == 9 # get("UIReturnKey", "done") => UIReturnKeyDone == 9 # get("UIReturnKey", 9) => 9 # get("UIImagePickerControllerSourceType", ["photo_library", "camera", "saved_photos_album"]) => 3 # get("UIActivityType", [:air_drop, :print]) => ["com.apple.UIKit.activity.AirDrop", "com.apple.UIKit.activity.Print"] def get(base, *values) value = values.size == 1 ? values.first : values.flatten case value when Numeric value.to_i when NSArray unless get(base, value.first).is_a? Fixnum value.map { |v| get(base, v) } else value.reduce { |i, j| get(base, i) | get(base, j) } end else value = value.to_s.camelize Kernel.const_get("#{base}#{value}") end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
bubble-wrap-1.7.1 | motion/util/constants.rb |
bubble-wrap-1.7.0 | motion/util/constants.rb |
bubble-wrap-1.6.0 | motion/util/constants.rb |
bubble-wrap-1.6.0.rc1 | motion/util/constants.rb |