Class: Caricature::ClrInterfaceDescriptor

Inherits:
TypeDescriptor show all
Includes:
ClrMemberCollector
Defined in:
lib/caricature/clr/descriptor.rb

Overview

describes clr interfaces. Because CLR interfaces can’t have static members this descriptor does not collect any class members

Instance Attribute Summary

Attributes inherited from TypeDescriptor

#class_members, #instance_members

Instance Method Summary collapse

Methods inherited from TypeDescriptor

#initialize

Constructor Details

This class inherits a constructor from Caricature::TypeDescriptor

Instance Method Details

#initialize_class_members_for(klass) ⇒ Object

this method is empty because an interface can’t have static members



61
# File 'lib/caricature/clr/descriptor.rb', line 61

def initialize_class_members_for(klass); end

#initialize_instance_members_for(klass) ⇒ Object

collects instance members on this interface it will collect properties, methods and property setters



51
52
53
54
55
56
57
58
# File 'lib/caricature/clr/descriptor.rb', line 51

def initialize_instance_members_for(klass)
  clr_type = klass.to_clr_type

  properties = clr_type.collect_interface_properties
  methods = clr_type.collect_interface_methods

  @instance_members = collect_members_from methods, properties
end