Sha256: 87e9ad9c72dd9a79b39436ab5ac19910ae23c8a8ff56a6a476c6056766524a76

Contents?: true

Size: 793 Bytes

Versions: 3

Compression:

Stored size: 793 Bytes

Contents

module EffectivePollsHelper

  # Used on dashboard
  def polls_name_label
    et('effective_polls.name')
  end

  # Used by admin/polls form
  def effective_polls_audience_scope_collection(poll)
    klass = poll.try(:audience_class)
    raise('expected a poll with an audience_class') unless klass.try(:effective_polls_user?)

    resource = klass.new

    scopes = resource.poll_audience_scopes
    raise('expected poll audience scopes') unless scopes.kind_of?(Array)

    # Append the number of users in this scope
    scopes.map do |label, scope|
      relation = resource.poll_audience_scope(scope)
      raise("invalid poll_audience_scope for #{scope}") unless relation.kind_of?(ActiveRecord::Relation)

      ["#{label} (#{pluralize(relation.count, 'user')})", scope]
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
effective_polls-0.5.0 app/helpers/effective_polls_helper.rb
effective_polls-0.4.1 app/helpers/effective_polls_helper.rb
effective_polls-0.4.0 app/helpers/effective_polls_helper.rb