class Tataru::ResourceDsl
human representation of resources
Constants
- REPCLASS
internal representation of resources
Public Class Methods
new(name, desc)
click to toggle source
# File lib/tataru/resource_dsl.rb, line 8 def initialize(name, desc) @properties = {} @desc = desc @fields = Set.new(@desc.mutable_fields + @desc.immutable_fields) @name = name @dependencies = Set.new end
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/tataru/resource_dsl.rb, line 20 def method_missing(name, *args, &block) return super unless @fields.include? name resolver = Resolver.new(args[0]) @dependencies += resolver.dependencies @properties[name] = if resolver.representation.is_a? REPCLASS resolver.representation.remote_id else resolver.representation end end
representation()
click to toggle source
# File lib/tataru/resource_dsl.rb, line 32 def representation REPCLASS.new(@name, @desc, @properties) end
respond_to_missing?(name, *_args)
click to toggle source
# File lib/tataru/resource_dsl.rb, line 16 def respond_to_missing?(name, *_args) true if @fields.include? name end