mirror of
https://github.com/discourse/discourse.git
synced 2024-12-19 05:45:59 +08:00
9e9abe0a82
Currently, there are two ways (kind of) for accessing `params` inside a service: - when there is no contract or it hasn’t been reached yet, `params` is just the hash that was provided to the service. To access a key, you have to use the bracket notation `params[:my_key]`. - when there is a contract and it has been executed successfully, `params` now references the contract and the attributes are accessible using methods (`params.my_key`). This patch unifies how `params` exposes its attributes. Now, even if there is no contract at all in a service, `params` will expose its attributes through methods, that way things are more consistent. This patch also makes sure there is always a `params` object available even when no `params` key is provided to the service (this allows a contract to fail because its attributes are blank instead of having the service raising an error because it doesn’t find `params` in its context). |
||
---|---|---|
.. | ||
action_base.rb | ||
base.rb | ||
contract_base.rb | ||
options_base.rb | ||
policy_base.rb | ||
runner.rb | ||
steps_inspector.rb |