Class: Surrogate::ApiComparer
- Inherits:
-
Object
- Object
- Surrogate::ApiComparer
show all
- Defined in:
- lib/surrogate/api_comparer.rb
Overview
compares a surrogate to an object
Defined Under Namespace
Classes: ActualMethods, SurrogateMethods
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(surrogate, actual) ⇒ ApiComparer
Returns a new instance of ApiComparer.
9
10
11
|
# File 'lib/surrogate/api_comparer.rb', line 9
def initialize(surrogate, actual)
self.surrogate, self.actual = surrogate, actual
end
|
Instance Attribute Details
#actual ⇒ Object
Returns the value of attribute actual.
7
8
9
|
# File 'lib/surrogate/api_comparer.rb', line 7
def actual
@actual
end
|
#surrogate ⇒ Object
Returns the value of attribute surrogate.
7
8
9
|
# File 'lib/surrogate/api_comparer.rb', line 7
def surrogate
@surrogate
end
|
Instance Method Details
#actual_methods ⇒ Object
17
18
19
|
# File 'lib/surrogate/api_comparer.rb', line 17
def actual_methods
@actual_methods ||= ActualMethods.new(actual).methods
end
|
#class_not_on_actual ⇒ Object
48
49
50
|
# File 'lib/surrogate/api_comparer.rb', line 48
def class_not_on_actual
surrogate_methods[:class][:api] - actual_methods[:class][:inherited] - actual_methods[:class][:other]
end
|
#class_not_on_surrogate ⇒ Object
43
44
45
46
|
# File 'lib/surrogate/api_comparer.rb', line 43
def class_not_on_surrogate
(actual_methods[:class][:inherited] + actual_methods[:class][:other]) -
(surrogate_methods[:class][:inherited] + surrogate_methods[:class][:api])
end
|
#compare ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/surrogate/api_comparer.rb', line 21
def compare
@compare ||= {
instance: {
not_on_surrogate: instance_not_on_surrogate,
not_on_actual: instance_not_on_actual,
},
class: {
not_on_surrogate: class_not_on_surrogate,
not_on_actual: class_not_on_actual,
},
}
end
|
#instance_not_on_actual ⇒ Object
39
40
41
|
# File 'lib/surrogate/api_comparer.rb', line 39
def instance_not_on_actual
surrogate_methods[:instance][:api] - actual_methods[:instance][:inherited] - actual_methods[:instance][:other]
end
|
#instance_not_on_surrogate ⇒ Object
34
35
36
37
|
# File 'lib/surrogate/api_comparer.rb', line 34
def instance_not_on_surrogate
(actual_methods[:instance][:inherited] + actual_methods[:instance][:other]) -
(surrogate_methods[:instance][:inherited] + surrogate_methods[:instance][:api])
end
|
#surrogate_methods ⇒ Object
13
14
15
|
# File 'lib/surrogate/api_comparer.rb', line 13
def surrogate_methods
@surrogate_methods ||= SurrogateMethods.new(surrogate).methods
end
|