protect_from_forgery :with => :exception
+ add_flash_types :warning, :error
+
rescue_from CanCan::AccessDenied, :with => :deny_access
check_authorization
before_action :fetch_body
around_action :better_errors_allow_inline, :if => proc { Rails.env.development? }
- attr_accessor :current_user
+ attr_accessor :current_user, :oauth_token
helper_method :current_user
+ helper_method :oauth_token
helper_method :preferred_langauges
private
end
def require_oauth
- @oauth = current_user.access_token(Settings.oauth_key) if current_user && Settings.key?(:oauth_key)
+ @oauth_token = current_user.access_token(Settings.oauth_key) if current_user && Settings.key?(:oauth_key)
end
##
end
def database_status
- if Settings.status == "database_offline"
+ case Settings.status
+ when "database_offline"
"offline"
- elsif Settings.status == "database_readonly"
+ when "database_readonly"
"readonly"
else
"online"
def api_status
status = database_status
if status == "online"
- if Settings.status == "api_offline"
+ case Settings.status
+ when "api_offline"
status = "offline"
- elsif Settings.status == "api_readonly"
+ when "api_readonly"
status = "readonly"
end
end
# asserts that the request method is the +method+ given as a parameter
# or raises a suitable error. +method+ should be a symbol, e.g: :put or :get.
def assert_method(method)
- ok = request.send((method.to_s.downcase + "?").to_sym)
+ ok = request.send(:"#{method.to_s.downcase}?")
raise OSM::APIBadMethodError, method unless ok
end
##
# wrap an api call in a timeout
- def api_call_timeout
- OSM::Timer.timeout(Settings.api_timeout, Timeout::Error) do
- yield
- end
+ def api_call_timeout(&block)
+ OSM::Timer.timeout(Settings.api_timeout, Timeout::Error, &block)
rescue Timeout::Error
raise OSM::APITimeoutError
end
##
# wrap a web page in a timeout
- def web_timeout
- OSM::Timer.timeout(Settings.web_timeout, Timeout::Error) do
- yield
- end
+ def web_timeout(&block)
+ OSM::Timer.timeout(Settings.web_timeout, Timeout::Error, &block)
rescue ActionView::Template::Error => e
e = e.cause
:style_src => %w['unsafe-inline']
)
- if Settings.status == "database_offline" || Settings.status == "api_offline"
+ case Settings.status
+ when "database_offline", "api_offline"
flash.now[:warning] = t("layouts.osm_offline")
- elsif Settings.status == "database_readonly" || Settings.status == "api_readonly"
+ when "database_readonly", "api_readonly"
flash.now[:warning] = t("layouts.osm_read_only")
end
end
def preferred_editor
- editor = if params[:editor]
- params[:editor]
- elsif current_user&.preferred_editor
- current_user.preferred_editor
- else
- Settings.default_editor
- end
-
- editor
+ if params[:editor]
+ params[:editor]
+ elsif current_user&.preferred_editor
+ current_user.preferred_editor
+ else
+ Settings.default_editor
+ end
end
helper_method :preferred_editor