diff options
Diffstat (limited to 'cpp/bindings')
| -rw-r--r-- | cpp/bindings/qmf/ruby/qmf.rb | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/cpp/bindings/qmf/ruby/qmf.rb b/cpp/bindings/qmf/ruby/qmf.rb index 402b99b800..cb41fd8891 100644 --- a/cpp/bindings/qmf/ruby/qmf.rb +++ b/cpp/bindings/qmf/ruby/qmf.rb @@ -189,15 +189,29 @@ module Qmf raise "Invalid attribute '#{key}'" unless good end + def get_attr(key) + _v = @impl.getAttr(key) + if _v.isString() + return _v.asString() + elsif _v.isUint() + return _v.asUint() + elsif _v.isBool() + return _v.asBool() + else + raise Exception("Argument error: value for attribute '#{key}' has unsupported type: #{_v.getType()}") + end + end + + def method_missing(name_in, *args) name = name_in.to_s if name[name.length - 1] == 61 attr = name[0..name.length - 2] set_attr(attr, args[0]) return + else + return get_attr(name) end - - super.method_missing(name_in, args) end end |
