17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/fly_io/resources.rb', line 17
def install!
OperationRegistry.resources.each do |resource_name, operations|
constant_name = resource_name.split("_").map(&:capitalize).join
klass = if const_defined?(constant_name, false)
const_get(constant_name, false)
else
const_set(constant_name, Class.new(Base))
end
operations.each do |operation|
next if klass.public_method_defined?(operation.ruby_method.to_sym, false)
klass.define_method(operation.ruby_method) do |**arguments|
invoke(operation, arguments)
end
end
end
end
|