class Subtrade

Schema Information

Table name: subtrades

id               :integer          not null, primary key
trade_id         :integer
name             :string(255)
number           :string(255)
description      :text
created_at       :datetime
updated_at       :datetime
company_id       :integer
mini_description :string(255)

Public Class Methods

not_joined_by_customer(customer, query) click to toggle source

Returns query condition for customers who had not joined the subtrades.

# File app/models/subtrade.rb, line 63
def self.not_joined_by_customer(customer, query)
  where("
    name like ?
    AND id NOT IN (
      SELECT subtrade_id
      FROM subtrades_customers
      WHERE customer_id = ?
    )
  ", "%#{query}%", customer.id)
end
paginate(options = {}) click to toggle source

Sets pagination per page.

# File app/models/subtrade.rb, line 58
def self.paginate(options = {})
  page(options[:page]).per(options[:per_page])
end

Public Instance Methods

alternate_name() click to toggle source

Returns alternate name for subtrade(i.e. its trade name followed by its id).

# File app/models/subtrade.rb, line 44
def alternate_name
  subtrade_number = self.name.scan(/\d+\s/).first
  self.trade.name + (subtrade_number.present? ? " #{subtrade_number}" : "")
end
trade_name() click to toggle source

Returns trade name of subtrade.

# File app/models/subtrade.rb, line 50
def trade_name
  self.trade.name
end