class Simpleadmin::Application
API endpoints for integration with cloud version of getsimpleadmin.com
This is used, Rack conception to connect it in any popular web frameworks like Ruby on Rails, Hanami, Sinatra and etc.
@since 1.0.0
@example
# config/routes.rb Rails.application.routes.draw do mount Simpleadmin::Application, at: 'simpleadmin' end
Constants
- WIDGETS
Private Instance Methods
allowed_table?()
click to toggle source
# File lib/simpleadmin.rb, line 97 def allowed_table? Config.allowed_table?(params['table_name'] || request_body_params['table_name']) end
client()
click to toggle source
# File lib/simpleadmin.rb, line 76 def client @client ||= connector.client end
connector()
click to toggle source
# File lib/simpleadmin.rb, line 91 def connector @connector ||= DatabaseConnector.new( database_credentials: Config.database_credentials ) end
current_path?(path)
click to toggle source
# File lib/simpleadmin.rb, line 105 def current_path?(path) request.path_info == path end
request_body_params()
click to toggle source
# File lib/simpleadmin.rb, line 87 def request_body_params @request_body_params ||= Rack::Utils.parse_nested_query(request.body.read) end
respond_forbidden!(message: 'Forbidden')
click to toggle source
# File lib/simpleadmin.rb, line 80 def respond_forbidden!(message: 'Forbidden') response.status = 403 response.write(message) finish! end
secret_key_invalid?()
click to toggle source
# File lib/simpleadmin.rb, line 101 def secret_key_invalid? BCrypt::Password.new(request.get_header('HTTP_SIMPLEADMIN_SECRET_KEY')) != ENV['SIMPLE_ADMIN_SECRET_KEY'] end