1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-01-17 06:52:27 +01:00

fixed ruby syntax with linter

This commit is contained in:
Sylvain 2019-04-04 09:33:41 +02:00
parent 21a5f5591a
commit 94796bca29
3 changed files with 115 additions and 107 deletions

View File

@ -1,67 +1,70 @@
# frozen_string_literal: true
# Various helpers methods
module ApplicationHelper
include Twitter::Autolink
require 'message_format'
include Twitter::Autolink
require 'message_format'
## machine/spaces availabilities are divided in multiple slots of 60 minutes
SLOT_DURATION ||= 60
## machine/spaces availabilities are divided in multiple slots of 60 minutes
SLOT_DURATION ||= 60
##
# Verify if the provided attribute is in the provided attributes array, whatever it exists or not
# @param attributes {Array|nil}
# @param attribute {String}
##
def attribute_requested?(attributes, attribute)
attributes.try(:include?, attribute)
end
##
# Verify if the provided attribute is in the provided attributes array, whatever it exists or not
# @param attributes {Array|nil}
# @param attribute {String}
##
def attribute_requested?(attributes, attribute)
attributes.try(:include?, attribute)
end
def bootstrap_class_for flash_type
{ flash: 'alert-success', alert: 'alert-danger', notice: 'alert-info' }[flash_type.to_sym] || flash_type.to_s
end
def bootstrap_class_for flash_type
{ flash: 'alert-success', alert: 'alert-danger', notice: 'alert-info' }[flash_type.to_sym] || flash_type.to_s
end
def flash_messages(opts = {})
flash.each do |msg_type, message|
concat(content_tag(:div, message, class: "flash-message alert #{bootstrap_class_for(msg_type)} fade in") do
concat content_tag(:button, 'x', class: 'close', data: { dismiss: 'alert' })
concat message
end)
end
nil
end
def flash_messages(_opts = {})
flash.each do |msg_type, message|
concat(content_tag(:div, message, class: "flash-message alert #{bootstrap_class_for(msg_type)} fade in") do
concat content_tag(:button, 'x', class: 'close', data: { dismiss: 'alert' })
concat message
end)
end
nil
end
def print_slot(starting, ending)
"#{starting.strftime('%H:%M')} - #{ending.strftime('%H:%M')}"
end
def print_slot(starting, ending)
"#{starting.strftime('%H:%M')} - #{ending.strftime('%H:%M')}"
end
def class_exists?(class_name)
klass = Module.const_get(class_name)
return klass.is_a?(Class)
rescue NameError
return false
end
def class_exists?(class_name)
klass = Module.const_get(class_name)
klass.is_a?(Class)
rescue NameError
false
end
##
# Allow to treat a rails i18n key as a MessageFormat interpolated pattern. Used in ruby views (API/mails)
# @param key {String} Ruby-on-Rails I18n key (from config/locales/xx.yml)
# @param interpolations {Hash} list of variables to interpolate, following ICU MessageFormat syntax
##
def _t(key, interpolations)
message = MessageFormat.new(I18n.t(scope_key_by_partial(key)), I18n.locale.to_s)
text = message.format(interpolations)
if html_safe_translation_key?(key)
text.html_safe
else
text
end
end
##
# Allow to treat a rails i18n key as a MessageFormat interpolated pattern. Used in ruby views (API/mails)
# @param key {String} Ruby-on-Rails I18n key (from config/locales/xx.yml)
# @param interpolations {Hash} list of variables to interpolate, following ICU MessageFormat syntax
##
def _t(key, interpolations)
message = MessageFormat.new(I18n.t(scope_key_by_partial(key)), I18n.locale.to_s)
text = message.format(interpolations)
if html_safe_translation_key?(key)
text.html_safe
else
text
end
end
def bool_to_sym(bool)
if (bool) then return :true else return :false end
end
def bool_to_sym(bool)
bool ? :true : :false # rubocop:disable Lint/BooleanSymbol
end
def amount_to_f(amount)
amount / 100.00
end
def amount_to_f(amount)
amount / 100.00
end
##
# Retrieve an item in the given array of items
@ -69,46 +72,45 @@ module ApplicationHelper
# this can be overridden by passing a third parameter to specify the
# property to match
##
def get_item(array, id, key = nil)
array.each do |i|
if key.nil?
return i if i.id == id
else
return i if i[key] == id
end
end
nil
end
def get_item(array, id, key = nil)
array.each do |i|
if key.nil?
return i if i.id == id
elsif i[key] == id
return i
end
end
nil
end
##
# Apply a correction for a future DateTime due to change in Daylight Saving Time (DST) period
# @param reference {ActiveSupport::TimeWithZone}
# @param datetime {DateTime}
# Inspired by https://stackoverflow.com/a/12065605
##
def dst_correction(reference, datetime)
res = datetime.in_time_zone(reference.time_zone.tzinfo.name)
res = res - 1.hour if res.dst? && !reference.dst?
res = res + 1.hour if reference.dst? && !res.dst?
res
end
##
# Apply a correction for a future DateTime due to change in Daylight Saving Time (DST) period
# @param reference {ActiveSupport::TimeWithZone}
# @param datetime {DateTime}
# Inspired by https://stackoverflow.com/a/12065605
##
def dst_correction(reference, datetime)
res = datetime.in_time_zone(reference.time_zone.tzinfo.name)
res -= 1.hour if res.dst? && !reference.dst?
res += 1.hour if reference.dst? && !res.dst?
res
end
private
## inspired by gems/actionview-4.2.5/lib/action_view/helpers/translation_helper.rb
def scope_key_by_partial(key)
if key.to_s.first == "."
if @virtual_path
@virtual_path.gsub(%r{/_?}, ".") + key.to_s
else
raise "Cannot use t(#{key.inspect}) shortcut because path is not available"
end
else
key
end
end
private
def html_safe_translation_key?(key)
key.to_s =~ /(\b|_|\.)html$/
end
## inspired by gems/actionview-4.2.5/lib/action_view/helpers/translation_helper.rb
def scope_key_by_partial(key)
if key.to_s.first == '.'
raise "Cannot use t(#{key.inspect}) shortcut because path is not available" unless @virtual_path
@virtual_path.gsub(%r{/_?}, '.') + key.to_s
else
key
end
end
def html_safe_translation_key?(key)
key.to_s =~ /(\b|_|\.)html$/
end
end

View File

@ -1,3 +1,6 @@
# frozen_string_literal: true
# Helpers methods about calendar availabilities
module AvailabilityHelper
MACHINE_COLOR = '#e4cd78'
TRAINING_COLOR = '#bd7ae9'
@ -9,14 +12,14 @@ module AvailabilityHelper
def availability_border_color(availability)
case availability.available_type
when 'machines'
MACHINE_COLOR
when 'training'
TRAINING_COLOR
when 'space'
SPACE_COLOR
else
EVENT_COLOR
when 'machines'
MACHINE_COLOR
when 'training'
TRAINING_COLOR
when 'space'
SPACE_COLOR
else
EVENT_COLOR
end
end
@ -45,14 +48,14 @@ module AvailabilityHelper
IS_COMPLETED
else
case availability.available_type
when 'training'
TRAINING_COLOR
when 'event'
EVENT_COLOR
when 'space'
SPACE_COLOR
else
'#000'
when 'training'
TRAINING_COLOR
when 'event'
EVENT_COLOR
when 'space'
SPACE_COLOR
else
'#000'
end
end
end

View File

@ -1,3 +1,6 @@
# frozen_string_literal: true
# Helpers methods about uploading files
module UploadHelper
def delete_empty_dirs