diff options
author | Azul <azul@leap.se> | 2014-07-12 09:12:48 +0200 |
---|---|---|
committer | Azul <azul@leap.se> | 2014-07-17 12:47:47 +0200 |
commit | b17387a17669bfc9afce7435653cd8c29c686999 (patch) | |
tree | 70410bf1df84d88a2c400c7e5c2a78e4550d0126 /app/controllers/controller_extension | |
parent | ade74d8a9091ae607586d7b287a0579a2ee7af8e (diff) |
some cleanup of the messages api and cuke feature
Diffstat (limited to 'app/controllers/controller_extension')
-rw-r--r-- | app/controllers/controller_extension/json_responses.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app/controllers/controller_extension/json_responses.rb b/app/controllers/controller_extension/json_responses.rb new file mode 100644 index 0000000..da1ae58 --- /dev/null +++ b/app/controllers/controller_extension/json_responses.rb @@ -0,0 +1,29 @@ +module ControllerExtension::JsonResponses + extend ActiveSupport::Concern + + private + + def success(key) + json_message :success, key + end + + def error(key) + json_message :error, key + end + + def json_message(type, key) + long_key = "#{controller_string}.#{action_string}.#{key}" + { type => key.to_s, + :message => I18n.t(long_key, cascade: true) } + end + + def controller_string + self.class.name.underscore. + sub(/_controller$/, ''). + sub(/^v\d\//, '') + end + + def action_string + params[:action] + end +end |