We were very inconsistent regarding these rules. Personally I prefer no empty lines around blocks, clases, etc... as recommended by the Ruby style guide [1], and they're the default values in rubocop, so those are the settings I'm applying. The exception is the `private` access modifier, since we were leaving empty lines around it most of the time. That's the default rubocop rule as well. Personally I don't have a strong preference about this one. [1] https://rubystyle.guide/#empty-lines-around-bodies
57 lines
1.4 KiB
Ruby
57 lines
1.4 KiB
Ruby
module WelcomeHelper
|
|
def is_active_class(index)
|
|
"is-active is-in" if index.zero?
|
|
end
|
|
|
|
def slide_display(index)
|
|
"display: none;" if index.positive?
|
|
end
|
|
|
|
def recommended_path(recommended)
|
|
case recommended.class.name
|
|
when "Debate"
|
|
debate_path(recommended)
|
|
when "Proposal"
|
|
proposal_path(recommended)
|
|
else
|
|
"#"
|
|
end
|
|
end
|
|
|
|
def render_recommendation_image(recommended, image_default)
|
|
image_path = calculate_image_path(recommended, image_default)
|
|
image_tag(image_path) if image_path.present?
|
|
end
|
|
|
|
def calculate_image_path(recommended, image_default)
|
|
if recommended.respond_to?(:image) && recommended.image.present? && recommended.image.attachment.exists?
|
|
recommended.image.attachment.send("url", :medium)
|
|
elsif image_default.present?
|
|
image_default
|
|
end
|
|
end
|
|
|
|
def calculate_carousel_size(debates, proposals, apply_offset)
|
|
offset = calculate_offset(debates, proposals, apply_offset)
|
|
centered = calculate_centered(debates, proposals)
|
|
"#{offset if offset} #{centered if centered}"
|
|
end
|
|
|
|
def calculate_centered(debates, proposals)
|
|
if (debates.blank? && proposals.any?) ||
|
|
(debates.any? && proposals.blank?)
|
|
"medium-centered large-centered"
|
|
end
|
|
end
|
|
|
|
def calculate_offset(debates, proposals, apply_offset)
|
|
if debates.any? && proposals.any?
|
|
if apply_offset
|
|
"medium-offset-2 large-offset-2"
|
|
else
|
|
"end"
|
|
end
|
|
end
|
|
end
|
|
end
|