class WinewooCore::Repositories::Mongo::Queries::ProducerQuery

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/winewoo_core/repositories/mongo/queries/producer_query.rb, line 5
def initialize
  super User.where(user_roles: :producer)
end

Public Instance Methods

from_interpro(interpro_id) { |user| ... } click to toggle source
# File lib/winewoo_core/repositories/mongo/queries/producer_query.rb, line 10
def from_interpro(interpro_id)
  @relation = @relation
    .where(interpro_ids: interpro_id)

  block_given? ?
    @relation.each { |user| yield user } :
    self
end
not_connected_yet() { |user| ... } click to toggle source
# File lib/winewoo_core/repositories/mongo/queries/producer_query.rb, line 68
def not_connected_yet
  @relation = @relation
    .where(:sign_in_count => 0)

  block_given? ?
    @relation.each { |user| yield user } :
    self
end
not_in(producer_ids) { |user| ... } click to toggle source
# File lib/winewoo_core/repositories/mongo/queries/producer_query.rb, line 20
def not_in(producer_ids)
  @relation = @relation
    .where(:_id.nin => producer_ids)

  block_given? ?
    @relation.each { |user| yield user } :
    self
end
with_auto_generated_estate() { |user| ... } click to toggle source
# File lib/winewoo_core/repositories/mongo/queries/producer_query.rb, line 57
def with_auto_generated_estate
  @relation = @relation
    .where(:estates.elem_match =>
  { company: /Propriété : /i})

    block_given? ?
      @relation.each { |user| yield user } :
      self
end
without_estates() { |user| ... } click to toggle source
# File lib/winewoo_core/repositories/mongo/queries/producer_query.rb, line 30
def without_estates
  @relation = @relation
    .where(:estates.exists => false)

  block_given? ?
    @relation.each { |user| yield user } :
    self
end
without_wines(interpro_id) { |user| ... } click to toggle source
# File lib/winewoo_core/repositories/mongo/queries/producer_query.rb, line 40
def without_wines(interpro_id)
  producer_ids = WinewooCore::Repositories::Mongo::Queries::WineQuery
    .new
    .officials
    .from_interpro(interpro_id)
    .unscoped
    .distinct(:producer_id)

  @relation = @relation
    .where(:_id.nin => producer_ids)

  block_given? ?
    @relation.each { |user| yield user } :
    self
end