This rule was added in rubocop 1.44.0. It's useful to avoid accidental `unless !condition` clauses. Note we aren't replacing `unless zero?` with `if nonzero?` because we never use `nonzero?`; using it sounds like `if !zero?`. Replacing `unless any?` with `if none?` is only consistent if we also replace `unless present?` with `if blank?`, so we're also adding this case. For consistency, we're also replacing `unless blank?` with `if present?`. We're also simplifying code dealing with `> 0` conditions in order to make the code (hopefully) easier to understand. Also for consistency, we're enabling the `Style/InverseMethods` rule, which follows a similar idea.
35 lines
696 B
Ruby
35 lines
696 B
Ruby
class Budgets::Investments::MapComponent < ApplicationComponent
|
|
attr_reader :heading, :investments
|
|
delegate :render_map, to: :helpers
|
|
|
|
def initialize(investments, heading:)
|
|
@investments = investments
|
|
@heading = heading
|
|
end
|
|
|
|
def render?
|
|
map_location&.available?
|
|
end
|
|
|
|
private
|
|
|
|
def map_location
|
|
MapLocation.from_heading(heading) if heading.present?
|
|
end
|
|
|
|
def coordinates
|
|
MapLocation.investments_json_data(investments.unscope(:order))
|
|
end
|
|
|
|
def geozones_data
|
|
return if heading.geozone.blank?
|
|
|
|
[
|
|
{
|
|
outline_points: heading.geozone.outline_points,
|
|
color: heading.geozone.color
|
|
}
|
|
]
|
|
end
|
|
end
|