class Toolhound::Inventory

Class to parse GitHub repository owner and name from URLs and to generate URLs

Public Instance Methods

build_join(join) click to toggle source

def joins

# LEFT OUTER JOIN tblInventoryID ON tblInventoryID.intInventoryID = tblInventory.intInventoryID
[
  {type: :inner, table: :inventory_type, on: "intInventoryTypeID"},
  {type: :inner, table: :inventory_text, on: ["intInventoryTypeID", varLocaleID: locale]},
  {type: :left_outer, table: :unit_of_measure_text, on: "intUofMID"},
  {type: :left_outer, table: :category_text, on: ["intUofMID", varLocaleID: locale], as: :category},

]
arr.join(" ")

end

# File lib/toolhound-ruby/inventory.rb, line 58
def build_join(join)
  join_types = {
    inner: "INNER JOIN",
    left: "LEFT OUTER JOIN",
    left_outer: "LEFT OUTER JOIN",
    left_inner: "LEFT INNER JOIN",
    right: "RIGHT OUTER JOIN",
    right_outer: "RIGHT OUTER JOIN",
    right_inner: "RIGHT INNER JOIN",
  }

  type  = join_types[join[:type] || :inner]
  table = formatted_table_name(join[:table])

  table_str = "#{table} "
  if join[:as]
    table = formatted_table_name(join[:as])
    table_str += "AS #{table} "
  end

  on = join[:on]
  case on.class.to_s
  when "String"

  end

  # on_str = on ? "ON #{on}" : ""
  "#{type} #{table_str} #{on_str}"


end
default_joins() click to toggle source
# File lib/toolhound-ruby/inventory.rb, line 25
def default_joins
  arr = []
  arr << "INNER JOIN tblInventoryType ON tblInventory.intInventoryTypeID = tblInventoryType.intInventoryTypeID"
  arr << "INNER JOIN tblInventoryText ON (tblInventoryText.intInventoryID = tblInventory.intInventoryID AND tblInventoryText.varLocaleID = '#{locale}')"
  arr << "LEFT OUTER JOIN tblUnitOfMeasureText ON (tblUnitOfMeasureText.intUofMID = tblInventory.intUofMID )"
  arr << "LEFT OUTER JOIN tblCategoryText AS tblCategory ON (tblCategory.intCategoryID = tblInventory.intCategoryID AND tblCategory.varLocaleID = '#{locale}')"
  arr << "LEFT OUTER JOIN tblCategoryText AS tblSubCategory ON (tblSubCategory.intCategoryID = tblInventory.intSubCategoryID AND tblSubCategory.varLocaleID = '#{locale}')"
end
default_selects() click to toggle source

self.table_name = “tblInventory” self.primary_key = “intInventoryID”

# File lib/toolhound-ruby/inventory.rb, line 15
def default_selects
  selects = {
    inventory: ["intInventoryID", "intCategoryID", "intSubCategoryID", "intManufacturerID", "intVendorID", "dteCreatedDate", "dteModifiedDate"],
    inventory_text: ["varPartNo", "varDescription", "txtNotes", {varUserField1: "varGlRevenue"}, {varUserField2: "varGlCOGSCode"}, {varUserField3: "varPhaseCode"}],
    unit_of_measure_text: ["varUnitOfMeasure"],
    category: ["varCategory"],
    sub_category: [{varCategory: "varSubcategory"}]
  }
end
default_wheres() click to toggle source
# File lib/toolhound-ruby/inventory.rb, line 34
def default_wheres
  [{bolIsActive: 1}, {bolDeleted: 0}]
end