Module: Qt::GeneratedSetterAliasesRuntime

Defined in:
lib/qt/generated_setter_aliases_runtime.rb

Class Method Summary collapse

Class Method Details

.apply!(qt_module) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/qt/generated_setter_aliases_runtime.rb', line 7

def apply!(qt_module)
  qt_module.constants(false).each do |const_name|
    klass = qt_module.const_get(const_name, false)
    next unless klass.is_a?(Class)

    apply_instance_aliases!(klass)
    apply_singleton_aliases!(klass)
  end
end

.apply_aliases_to_target!(target, owner, constant_name) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/qt/generated_setter_aliases_runtime.rb', line 25

def apply_aliases_to_target!(target, owner, constant_name)
  return unless owner.const_defined?(constant_name, false)

  owner.const_get(constant_name, false).each do |alias_name, setter_name|
    next if target.method_defined?(alias_name) || target.private_method_defined?(alias_name)

    target.send(:define_method, alias_name) do |value|
      public_send(setter_name, value)
    end
  end
end

.apply_instance_aliases!(klass) ⇒ Object



17
18
19
# File 'lib/qt/generated_setter_aliases_runtime.rb', line 17

def apply_instance_aliases!(klass)
  apply_aliases_to_target!(klass, klass, :QT_API_SETTER_ALIASES)
end

.apply_singleton_aliases!(klass) ⇒ Object



21
22
23
# File 'lib/qt/generated_setter_aliases_runtime.rb', line 21

def apply_singleton_aliases!(klass)
  apply_aliases_to_target!(klass.singleton_class, klass, :QT_API_SINGLETON_SETTER_ALIASES)
end