Method: EasySwig::ApiNode#assoc_members

Defined in:
lib/apinodes/api_node.rb

#assoc_members(all_members, api_members, ignored_members) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/apinodes/api_node.rb', line 86

def assoc_members(all_members, api_members, ignored_members)
  api_mbrs=[]
  del_mbrs=[]

  api_members.each { |s|
    found=nil
    all_found=all_members.select { |str| str.basename == s.basename }
    if all_found.empty?
      EasySwig::Logger.log("WARNING: Member not found: #{s.to_str}")
      del_mbrs << s
      next
    end
    if all_found.size > 1
      EasySwig::Logger.log("WARNING: Found several matching members for #{s.to_str}: "+all_found.join(" -- ")+" Only the first one will be matched")
    end
    found=all_found[0]
    s.assoc_with_node found
    api_mbrs.push found
  }
  api_members.reject! { |m| del_mbrs.include?(m) }
  ignored_members.push(*(all_members - api_mbrs));
end