Class: Uiza::UizaOpenStruct

Inherits:
OpenStruct
  • Object
show all
Defined in:
lib/uiza/uiza_open_struct.rb

Instance Method Summary collapse

Instance Method Details

#define_methodsObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/uiza/uiza_open_struct.rb', line 3

def define_methods
  data = to_h
  data.each do |key, value|
    if value.is_a?(Uiza::UizaOpenStruct)
      value.define_methods
    else
      define_singleton_method(key) do |*args|
        return super(*args) if args.any?

        value
      end
    end
  end
end