rawgento_models 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 793dd871abd2dc8aaaa8d61d3c1b5c891289bb07
4
- data.tar.gz: b1e49fa0dfe82736482214003fa51ecbb696eec3
3
+ metadata.gz: 5f326e6427040d5b830b89d0705bbaf2ef5fe269
4
+ data.tar.gz: 1c060a9bea973896992694a1c875b80e0d9475e2
5
5
  SHA512:
6
- metadata.gz: 38d42218aadea78b2b1f9e1f8a66dfe10de61f07da3b3cb90a201579722a264546ce7db1945efcc043b3a5e9025f709b9d0190bbadc1510cafce0fb5a1996685
7
- data.tar.gz: df54c2a7752c21b3eba78bd0b72478500929eb62d8328f06bfa5565481a7238d0b5905f0ddeb5ac36b7e6f98361a4faa6a16ae700864b8c9c25f7117fb5ae59a
6
+ metadata.gz: 11844af736b1dc8e06298c894225d73677813b2a10e5b98a112cd95538d675af8dc18ae43182781e1d51a295dfd5a2eb75fb984924d972569eee01e8ec54fff5
7
+ data.tar.gz: 663555e22c6f57cac24c5aea00e8c9c7cf35cfb06b97e8037d3db94cf8e2e126610f84c45333b5f571c10d41bdc47b3c37ea4499da64b30bbcf1e346c5f26f90
@@ -0,0 +1,10 @@
1
+ class CreateSupplier < ActiveRecord::Migration
2
+ def change
3
+ create_table :suppliers do |p|
4
+ p.string :name, index: true
5
+ p.boolean :remote_shop, default: false
6
+ p.datetime "created_at", null: false
7
+ p.datetime "updated_at", null: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ class ChangeSupplierColumns < ActiveRecord::Migration
2
+ def change
3
+ rename_column :local_products, :supplier, :supplier_name
4
+ rename_column :remote_products, :supplier, :supplier_name
5
+ end
6
+ end
@@ -0,0 +1,22 @@
1
+ class LinkSupplier < ActiveRecord::Migration
2
+ include RawgentoModels
3
+ def change
4
+ add_reference :local_products, :supplier, index: true
5
+ add_reference :remote_products, :supplier, index: true
6
+ add_foreign_key :local_products, :suppliers
7
+ add_foreign_key :remote_products, :suppliers
8
+
9
+ LocalProduct.find_each do |local_product|
10
+ supplier = Supplier.find_or_create_by(name: local_product.supplier_name)
11
+ local_product.supplier = supplier
12
+ end
13
+
14
+ RemoteProduct.find_each do |local_product|
15
+ supplier = Supplier.find_or_initialize_by(name: local_product.supplier_name)
16
+ local_product.supplier = supplier
17
+ end
18
+
19
+ remove_column :local_products, :supplier_name
20
+ remove_column :remote_products, :supplier_name
21
+ end
22
+ end
@@ -4,6 +4,7 @@ module RawgentoModels
4
4
  has_many :stock_items
5
5
  has_many :order_items
6
6
  has_many :orders, through: :order_items
7
+ belongs_to :supplier
7
8
 
8
9
  default_scope { order("name ASC") }
9
10
 
@@ -20,7 +21,7 @@ module RawgentoModels
20
21
  " ON remote_products.local_product_id = local_products.id").where("remote_products.id IS null")
21
22
  }
22
23
  # City.includes(:photos).where(photos: { city_id: nil }) # slower
23
- scope :supplied_by, ->(supplier_name) { where(supplier: supplier_name) }
24
+ scope :supplied_by, ->(supplier) { where(supplier: supplier) }
24
25
 
25
26
  def link_suggestions
26
27
  guesses = []
@@ -1,10 +1,11 @@
1
1
  module RawgentoModels
2
2
  class RemoteProduct < ActiveRecord::Base
3
3
  belongs_to :local_product
4
+ belongs_to :supplier
4
5
 
5
6
  default_scope { order("name ASC") }
6
7
 
7
- scope :supplied_by, ->(supplier_name) { where(supplier: supplier_name) }
8
+ scope :supplied_by, ->(supplier) { where(supplier: supplier) }
8
9
 
9
10
  def self.linked
10
11
  self.where.not(local_product: nil)
@@ -0,0 +1,6 @@
1
+ module RawgentoModels
2
+ class Supplier < ActiveRecord::Base
3
+ # has_many :local_products
4
+ # has_many :remote_products
5
+ end
6
+ end
@@ -1,3 +1,3 @@
1
1
  module RawgentoModels
2
- VERSION = "0.0.6".freeze
2
+ VERSION = "0.0.7".freeze
3
3
  end
@@ -7,6 +7,7 @@ require "rawgento_models/local_product"
7
7
  require "rawgento_models/remote_product"
8
8
  require "rawgento_models/order"
9
9
  require "rawgento_models/order_item"
10
+ require "rawgento_models/supplier"
10
11
 
11
12
  require 'yaml'
12
13
  require 'ostruct'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rawgento_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Wolfsteller
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-13 00:00:00.000000000 Z
11
+ date: 2016-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -100,6 +100,9 @@ files:
100
100
  - db/migrate/201601201700_extend_product.rb
101
101
  - db/migrate/201601221500_create_orders.rb
102
102
  - db/migrate/201601251100_extend_order_items.rb
103
+ - db/migrate/201602151400_create_supplier.rb
104
+ - db/migrate/201602151420_change_supplier_columns.rb
105
+ - db/migrate/201602151430_link_supplier.rb
103
106
  - db/schema.rb
104
107
  - exe/rawgento_models
105
108
  - lib/rawgento_models.rb
@@ -108,6 +111,7 @@ files:
108
111
  - lib/rawgento_models/order_item.rb
109
112
  - lib/rawgento_models/remote_product.rb
110
113
  - lib/rawgento_models/stock_item.rb
114
+ - lib/rawgento_models/supplier.rb
111
115
  - lib/rawgento_models/version.rb
112
116
  - rawgento_models.gemspec
113
117
  homepage: ''