rawgento_models 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
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: ''