dscf-marketplace 0.1.1 → 0.1.2
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57b94e7df1ac8fe6e08df594a8a5509a16b2b6383071208a636a8981a0a6618a
|
4
|
+
data.tar.gz: 78f4ea4db87b33c9ad5027b40a710f5c5070a928c54f2fd3c351321c378d7ef5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0b2b27060010f601b6469c685302927b20d6559d13af18fac98ca6abaf0212a255739c1010952f63aeac14033283199fcfee734fdc97fa81f4b8ccdfa301fa6
|
7
|
+
data.tar.gz: 250396abdd9c4f188a0ecb7be10ff9a9c52aafccb0811201b7d923994b56f3fe2e892a6eb3d9a28261788f9dc04e1eb7e5173a7049c840c77b87b5f2924ced9b
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Dscf
|
2
|
+
module Marketplace
|
3
|
+
class Unit < ApplicationRecord
|
4
|
+
enum :unit_type, {
|
5
|
+
weight: 0,
|
6
|
+
volume: 1,
|
7
|
+
quantity: 2,
|
8
|
+
dimension: 3,
|
9
|
+
area: 4,
|
10
|
+
other: 5
|
11
|
+
}
|
12
|
+
|
13
|
+
has_many :unit_conversions, class_name: "Dscf::Marketplace::UnitConversion", foreign_key: :from_unit_id
|
14
|
+
has_many :products, class_name: "Dscf::Marketplace::Product"
|
15
|
+
has_many :supplier_products, class_name: "Dscf::Marketplace::SupplierProduct"
|
16
|
+
has_many :listings, class_name: "Dscf::Marketplace::Listing"
|
17
|
+
has_many :order_items, class_name: "Dscf::Marketplace::OrderItem"
|
18
|
+
has_many :rfq_items, class_name: "Dscf::Marketplace::RfqItem"
|
19
|
+
has_many :quotation_items, class_name: "Dscf::Marketplace::QuotationItem"
|
20
|
+
|
21
|
+
validates :code, presence: true, uniqueness: true, length: {maximum: 10}
|
22
|
+
validates :name, presence: true, length: {maximum: 50}
|
23
|
+
validates :unit_type, presence: true
|
24
|
+
|
25
|
+
scope :by_type, ->(type) { where(unit_type: unit_types[type]) }
|
26
|
+
|
27
|
+
def display_name
|
28
|
+
"#{name} (#{code})"
|
29
|
+
end
|
30
|
+
|
31
|
+
def convertible_to?(other_unit)
|
32
|
+
return false if other_unit.nil?
|
33
|
+
|
34
|
+
# NOTE: UnitConversion model not yet implemented
|
35
|
+
# For now, return false - will be implemented when UnitConversion is created
|
36
|
+
false
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateDscfMarketplaceUnits < ActiveRecord::Migration[8.0]
|
2
|
+
def change
|
3
|
+
create_table :dscf_marketplace_units do |t|
|
4
|
+
t.string :code, null: false, limit: 10
|
5
|
+
t.string :name, null: false, limit: 50
|
6
|
+
t.integer :unit_type, null: false
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
|
11
|
+
add_index :dscf_marketplace_units, :code,
|
12
|
+
unique: true,
|
13
|
+
name: "code_on_dm_units_indx"
|
14
|
+
add_index :dscf_marketplace_units, :unit_type,
|
15
|
+
name: "unit_type_on_dm_units_indx"
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dscf-marketplace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Asrat
|
@@ -197,20 +197,6 @@ dependencies:
|
|
197
197
|
- - "~>"
|
198
198
|
- !ruby/object:Gem::Version
|
199
199
|
version: '4.1'
|
200
|
-
- !ruby/object:Gem::Dependency
|
201
|
-
name: active_storage_validations
|
202
|
-
requirement: !ruby/object:Gem::Requirement
|
203
|
-
requirements:
|
204
|
-
- - "~>"
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: '1.1'
|
207
|
-
type: :development
|
208
|
-
prerelease: false
|
209
|
-
version_requirements: !ruby/object:Gem::Requirement
|
210
|
-
requirements:
|
211
|
-
- - "~>"
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
version: '1.1'
|
214
200
|
- !ruby/object:Gem::Dependency
|
215
201
|
name: brakeman
|
216
202
|
requirement: !ruby/object:Gem::Requirement
|
@@ -225,20 +211,6 @@ dependencies:
|
|
225
211
|
- - "~>"
|
226
212
|
- !ruby/object:Gem::Version
|
227
213
|
version: '6.1'
|
228
|
-
- !ruby/object:Gem::Dependency
|
229
|
-
name: bullet
|
230
|
-
requirement: !ruby/object:Gem::Requirement
|
231
|
-
requirements:
|
232
|
-
- - "~>"
|
233
|
-
- !ruby/object:Gem::Version
|
234
|
-
version: '7.1'
|
235
|
-
type: :development
|
236
|
-
prerelease: false
|
237
|
-
version_requirements: !ruby/object:Gem::Requirement
|
238
|
-
requirements:
|
239
|
-
- - "~>"
|
240
|
-
- !ruby/object:Gem::Version
|
241
|
-
version: '7.1'
|
242
214
|
- !ruby/object:Gem::Dependency
|
243
215
|
name: database_cleaner-active_record
|
244
216
|
requirement: !ruby/object:Gem::Requirement
|
@@ -450,14 +422,17 @@ files:
|
|
450
422
|
- app/mailers/dscf/marketplace/application_mailer.rb
|
451
423
|
- app/models/dscf/marketplace/application_record.rb
|
452
424
|
- app/models/dscf/marketplace/category.rb
|
425
|
+
- app/models/dscf/marketplace/unit.rb
|
453
426
|
- config/routes.rb
|
454
427
|
- db/migrate/20250827172043_create_dscf_marketplace_categories.rb
|
455
428
|
- db/migrate/20250827173526_update_dscf_marketplace_categories_indexes.rb
|
429
|
+
- db/migrate/20250827182550_create_dscf_marketplace_units.rb
|
456
430
|
- lib/dscf/marketplace.rb
|
457
431
|
- lib/dscf/marketplace/engine.rb
|
458
432
|
- lib/dscf/marketplace/version.rb
|
459
433
|
- lib/tasks/dscf/marketplace_tasks.rake
|
460
434
|
- spec/factories/dscf/marketplace/categories.rb
|
435
|
+
- spec/factories/dscf/marketplace/units.rb
|
461
436
|
homepage: https://mksaddis.com/
|
462
437
|
licenses:
|
463
438
|
- MIT
|