Two ways of determining parameter by releu

def filter(params_or_filter)
  params = if params_or_filter.is_a?(Hash)
    params_or_filter
  else
    params_or_filter.conditions
  end
  # ...
end

def filter(params_or_filter)
  params = filter = params_or_filter
  params = filter.conditions unless params.is_a?(Hash)
  # ...
end

#ruby

Which method is more understandable to you?

Similar posts

Comments

makaroni4 commented about 1 year ago

E302c3320cd14b02cbe237b479d7f884?size=52

I prefer ternary operator:

  params = params_or_filter.is_a?(Hash) ? params_or_filter : params_or_filter.conditions

cvb commented about 1 year ago

45ae4438d56d8492f842d2d395ca8abe?size=52

first one, definetly

cvb
makaroni4
releu