class Fakeit::App::Routes::ConfigRoute
Attributes
options[R]
Public Class Methods
new(options)
click to toggle source
# File lib/fakeit/app/routes/config_route.rb, line 7 def initialize(options) = @options = options def call(request) case [request.request_method, request.media_type] in ['GET', _] Fakeit::App::Helpers::ResponseBuilder.ok(@options.to_hash) in ['PUT', 'application/json'] update(request) in ['PUT', _] Fakeit::App::Helpers::ResponseBuilder.unsupported_media_type else Fakeit::App::Helpers::ResponseBuilder.method_not_allowed end end private def update(request) body = Fakeit::App::Helpers::BodyParser.parse(request)[:data] @options = Fakeit::App::Options.new(**body.transform_keys(&:to_sym)) Fakeit::App::Helpers::ResponseBuilder.ok(@options.to_hash) rescue ArgumentError => e Logger.warn(Rainbow(e.message).red) Fakeit::App::Helpers::ResponseBuilder.error(422, e) end end
Public Instance Methods
call(request)
click to toggle source
# File lib/fakeit/app/routes/config_route.rb, line 9 def call(request) case [request.request_method, request.media_type] in ['GET', _] Fakeit::App::Helpers::ResponseBuilder.ok(@options.to_hash) in ['PUT', 'application/json'] update(request) in ['PUT', _] Fakeit::App::Helpers::ResponseBuilder.unsupported_media_type else Fakeit::App::Helpers::ResponseBuilder.method_not_allowed end end
update(request)
click to toggle source
# File lib/fakeit/app/routes/config_route.rb, line 24 def update(request) body = Fakeit::App::Helpers::BodyParser.parse(request)[:data] @options = Fakeit::App::Options.new(**body.transform_keys(&:to_sym)) Fakeit::App::Helpers::ResponseBuilder.ok(@options.to_hash) rescue ArgumentError => e Logger.warn(Rainbow(e.message).red) Fakeit::App::Helpers::ResponseBuilder.error(422, e) end