Module: FFI::OpenMPT::String

Defined in:
lib/ffi/openmpt/string.rb

Constant Summary collapse

KEYS =
[
  :library_version,
  :library_version_major,
  :library_version_minor,
  :library_version_patch,
  :library_version_prerel,
  :library_version_is_release,
  :library_features,
  :core_version,
  :source_url,
  :source_date,
  :source_revision,
  :source_is_modified,
  :source_has_mixed_revisions,
  :source_is_package,
  :build,
  :build_compiler,
  :credits,
  :contact,
  :license,
  :url,
  :support_forum_url,
  :bugtracker_url
].freeze

Class Method Summary collapse

Class Method Details

.get(key) ⇒ Object



35
36
37
38
39
40
# File 'lib/ffi/openmpt/string.rb', line 35

def self.get(key)
  ptr = API.openmpt_get_string(key.to_s)
  ptr.read_string
ensure
  API.openmpt_free_string(ptr)
end

.method_missing(name, *args) ⇒ Object



42
43
44
# File 'lib/ffi/openmpt/string.rb', line 42

def self.method_missing(name, *args)
  respond_to?(name) ? get(name) : super
end

.respond_to_missing?(name, *all) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/ffi/openmpt/string.rb', line 46

def self.respond_to_missing?(name, *all)
  KEYS.include?(name) || super
end