Class: Module

Inherits:
Object show all
Defined in:
lib/mdbe/database_views/module.rb

Instance Method Summary collapse

Instance Method Details

#__basetypeObject



2
3
4
# File 'lib/mdbe/database_views/module.rb', line 2

def __basetype
  :module
end

#__ruby_selectorsObject



60
61
62
63
64
65
66
# File 'lib/mdbe/database_views/module.rb', line 60

def __ruby_selectors
  ruby_selectors = IdentitySet.new
  hidden_set = IdentitySet.new

  __ruby_nonbridge_selectors(ruby_selectors, hidden_set, -1, 1)
  ruby_selectors.to_a
end

#__selectors_by_categoryObject



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/mdbe/database_views/module.rb', line 80

def __selectors_by_category
  categories = {}
  all_smalltalk = []

  __category_names.each do |cat|
    st_selectors = __smalltalk_selectors_in(cat).sort
    categories[cat] = st_selectors
    all_smalltalk += st_selectors
  end

  categories["(all Smalltalk)"] = all_smalltalk.sort
  categories["(all Ruby)"] = __ruby_selectors.sort

  categories
end

#__source_for_selector(selector, language) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
# File 'lib/mdbe/database_views/module.rb', line 68

def __source_for_selector(selector, language)
  method = nil

  if language == :smalltalk
    method = __lookup_smalltalk_selector(selector)
  else
    method = __lookup_ruby_selector(selector, true)
  end

  GsNMethodProxy.for(method).__for_database_explorer
end

#to_database_view(depth, ranges = {}, params = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/mdbe/database_views/module.rb', line 6

def to_database_view(depth, ranges = {}, params = {})
  obj = super

  if depth > 0 and not params[:noBehavior]
    obj[:smalltalkFullName] = __fullName.to_database_view(depth - 1, {}, params)
    obj[:rubyFullName] = __rubyFullName.to_database_view(depth - 1, {}, params)

    obj[:includedModules] = {}
    obj[:includedModulesSize] = self.included_modules.size

    range_from = ranges[:includedModules] ? Integer(ranges[:includedModules][0]) : 1
    range_to = ranges[:includedModules] ? Integer(ranges[:includedModules][1]) : 0

    ((range_from - 1)..[range_to - 1, self.included_modules.size - 1].min).each do |index|
      obj[:includedModules][index + 1] = self.included_modules[index].to_database_view(depth - 1, {}, params)
    end

    obj[:constants] = {}
    obj[:constantsSize] = self.constants.size

    range_from = ranges[:constants] ? Integer(ranges[:constants][0]) : 1
    range_to = ranges[:constants] ? Integer(ranges[:constants][1]) : 0

   ((range_from - 1)..[range_to - 1, self.constants.size - 1].min).each do |index|
      begin
        obj[:constants][index + 1] = [self.constants[index].to_database_view(depth - 1, {}, params), self.const_get(self.constants[index]).to_database_view(depth - 1, {}, params)]
      rescue Exception => e
        obj[:constants][index + 1] = {:loaded => false, :error => true, :basetype => :string, :inspection => "(error)", :oop => -1}
      end
    end

    if params[:superList]
      obj[:superList] = __super_list.to_database_view(2, {}, {:allElements => true, :noBehavior => true})
    end
  end

  return obj
end