openaustralia/publicwhip

View on GitHub
app/views/people_distances/show.html.haml

Summary

Maintainability
Test Coverage
- content_for :title do
  = @person_distance.person1.name
  and
  = @person_distance.person2.name
  have voted the same way
  = fraction_to_percentage_display(@person_distance.agreement_fraction_without_absences)
  of the time
-#
  :ruby
    set_meta_tags og: {
      title: (yield :title),
      description: "Compare how #{@person_distance.person1.name} and #{@person_distance.person2.name} have voted in the Australian Parliament",
      type: "website",
      url: request.original_url,
      image: {
        _: card_compare_member_url(@person_distance.person1.latest_member, @person_distance.person2.latest_member),
        alt: (yield :title),
        width: CardScreenshotter::Utils::CARD_WIDTH,
        height: CardScreenshotter::Utils::CARD_HEIGHT
      },
      site_name: Settings.project_name
    }
    set_meta_tags twitter: { card: "summary_large_image" }

%h1.long-title= yield :title

.page-header
  .row.equal
    .col-sm-6.equal-col
      .media= render "member", member: @person_distance.person1.latest_member
      = link_to "Compare #{@person_distance.person1.name} with someone else", friends_member_path_simple(@person_distance.person1.latest_member), class: "btn btn-default btn-sm compare-others"
    .col-sm-6.equal-col
      .media= render "member", member: @person_distance.person2.latest_member
      = link_to "Compare #{@person_distance.person2.name} with someone else", friends_member_path_simple(@person_distance.person2.latest_member), class: "btn btn-default btn-sm compare-others"

  -# TODO: This is only roughly placed for the time being
  = render "social_share"

%section.page-section
  %p
    - if @person_distance.overlap_dates.first.begin < Division.date_earliest_division
      - start_date = Division.date_earliest_division
      - end_date = @person_distance.overlap_dates.last.end
      - if (start_date...end_date).include?(Time.zone.today)
        Since
        = formatted_month(start_date)
        (when our voting records begin)
      - else
        Between
        = formatted_month(start_date)
        (when our voting records begin)
        and
        = formatted_month(end_date)
    - else
      - start_date = [@person_distance.overlap_dates.first.begin, Division.date_earliest_division].max
      = capitalise_initial_character(formatted_date_range(start_date...@person_distance.overlap_dates.last.end, format: :words))

    = @person_distance.person1.name
    and
    = @person_distance.person2.name
    have voted in the same division
    = "#{number_of_times(@person_distance.total_votes)}."

  = render "summary_vote_numbers", person_distance: @person_distance

%section.page-section
  = render "policies_intro"
  - if @person_distance.nvotesdiffer < @person_distance.nvotessame
    = render "comparison_all_different", person_distance: @person_distance, policies: @policies_all_different
    = render "comparison_different_and_same", person_distance: @person_distance, policies: @policies_different_and_same
    = render "comparison_all_same", person_distance: @person_distance, policies: @policies_all_same
  - else
    = render "comparison_all_same", person_distance: @person_distance, policies: @policies_all_same
    = render "comparison_different_and_same", person_distance: @person_distance, policies: @policies_different_and_same
    = render "comparison_all_different", person_distance: @person_distance, policies: @policies_all_different

- if @person_distance.nvotesdiffer < @person_distance.nvotessame
  = render "divisions_different", person_distance: @person_distance
- else
  = render "divisions_same", person_distance: @person_distance