Ruby自定义方法链
将多个自定义方法链接在一起的最佳方式是什么?我想以一种优雅的方式将我的方法的输出直接放入下一个方法中。下面的第一个是我现在所拥有的。
verified = search_verified(@providers)
matching = search_matching(verified)
deactivated = search_deactivated(matching)
networks = search_networks(deactivated)
designations = search_designations(networks)
disorders = search_disorders(designations)
age_groups = search_age_groups(disorders)
governing = search_governing(age_groups)
search_availabilities(governing)
也许更多的是:
search_verified(@providers)
>> search_matching
>> search_deactivated
>> search_networks
>> ....
回答
您可能希望使用then链接方法和数字参数来简化块:
search_verified(@providers)
.then { search_matching(_1) }
.then { search_deactivated(_1) }
.then { search_networks(_1) }
.then { search_designations(_1) }
.then { search_disorders(_1) }
.then { search_age_groups(_1) }
.then { search_governing(_1) }
.then { search_availabilities(_1) }