File tree Expand file tree Collapse file tree 2 files changed +19
-7
lines changed Expand file tree Collapse file tree 2 files changed +19
-7
lines changed Original file line number Diff line number Diff line change 56
56
end
57
57
end
58
58
59
+ add_callback :call_node , at : 'start' do |node |
60
+ if node . receiver . nil? && definitions . current_node_type == "method"
61
+ definitions . node . local_calls . push ( node . name . to_s )
62
+ end
63
+ end
64
+
59
65
add_callback :def_node , at : 'start' do |node |
60
66
# we can't handle `def self.inclueded` method
61
67
if !node . receiver . nil? && node . name == :included
@@ -324,11 +330,12 @@ def to_h
324
330
end
325
331
326
332
class MethodDefinition
327
- attr_reader :parent , :name
333
+ attr_reader :parent , :name , :local_calls
328
334
329
335
def initialize ( parent :, name :)
330
336
@parent = parent
331
337
@name = name
338
+ @local_calls = [ ]
332
339
end
333
340
334
341
def call_method? ( method_name )
@@ -341,6 +348,6 @@ def call_any_method?(method_names)
341
348
end
342
349
343
350
def to_h
344
- { name : @name }
351
+ { name : @name , local_calls : local_calls }
345
352
end
346
353
end
Original file line number Diff line number Diff line change @@ -27,6 +27,8 @@ def bot
27
27
end
28
28
29
29
def self.authenticate?(email, password)
30
+ user = find_by(email:)
31
+ user.valid_password?(password)
30
32
end
31
33
32
34
def user_type
@@ -59,7 +61,7 @@ def user_type
59
61
superclass : "User" ,
60
62
classes : [ ] ,
61
63
modules : [ ] ,
62
- methods : [ { name : "user_type" } ] ,
64
+ methods : [ { name : "user_type" , local_calls : [ ] } ] ,
63
65
static_methods : [ ] ,
64
66
constants : [ ] ,
65
67
included_modules : [ ] ,
@@ -72,15 +74,18 @@ def user_type
72
74
singleton : {
73
75
constants : [ ] ,
74
76
methods : [
75
- { name : 'system' } ,
76
- { name : 'bot' }
77
+ { name : 'system' , local_calls : [ ] } ,
78
+ { name : 'bot' , local_calls : [ ] }
77
79
] ,
78
80
ancestors : [ ]
79
81
} ,
80
82
classes : [ ] ,
81
83
modules : [ ] ,
82
- methods : [ { name : "user_type" } ] ,
83
- static_methods : [ { name : 'authenticate?' } ] ,
84
+ methods : [ { name : "user_type" , local_calls : [ ] } ] ,
85
+ static_methods : [ {
86
+ name : 'authenticate?' ,
87
+ local_calls : [ 'find_by' ]
88
+ } ] ,
84
89
constants : [ { name : "ROLES" } ] ,
85
90
included_modules : [ "Trackable" ] ,
86
91
ancestors : [ "Trackable" ]
You can’t perform that action at this time.
0 commit comments