Skip to content

Instantly share code, notes, and snippets.

@rachidcalazans
Last active January 2, 2018 13:07
Show Gist options
  • Save rachidcalazans/224cc82f7165f1d291c2d3be6c21f04c to your computer and use it in GitHub Desktop.
Save rachidcalazans/224cc82f7165f1d291c2d3be6c21f04c to your computer and use it in GitHub Desktop.
Example IV for the Post - avoiding-conditionals
def save(state, params)
if state == :in_progress
return save_in_progress(params)
elsif state == :done
return save_done(params)
elsif state == :on_review
return save_on_review(params, :some_extra_param)
end
end
def save_in_progress(params)
puts 'called save_in_progress'
end
def save_done(params)
puts 'called save_done'
end
def save_on_review(params, extract_params)
puts 'called save_on_review with extract_params'
end
params = { a: 1, b: 2, c: 3 }
save(:in_progress, params) #=> "called save_in_progress"
save(:done, params) #=> "called save_done"
save(:on_review, params) #=> "called save_on_review with extract_params"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment