app/lib/three_scale/analytics.rb
ThreeScale::Analytics#track is controlled by argument 'properties' Open
Open
new(user).track(event, properties || {})
- Read upRead up
- Exclude checks
Control Parameter
is a special case of Control Couple
Example
A simple example would be the "quoted" parameter in the following method:
def write(quoted)
if quoted
write_quoted @value
else
write_unquoted @value
end
end
Fixing those problems is out of the scope of this document but an easy solution could be to remove the "write" method alltogether and to move the calls to "writequoted" / "writeunquoted" in the initial caller of "write".
ThreeScale::Analytics#user_tracking doesn't depend on instance state (maybe move it to another class?) Open
Open
def user_tracking(user, **options)
- Read upRead up
- Exclude checks
A Utility Function is any instance method that has no dependency on the state of the instance.