diff --git a/CHANGELOG.md b/CHANGELOG.md index 53ee962..1bb7fd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,12 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.0.0] - 2025-01-09 + +This version has been generated using: + +- [Connector code generator](https://github.com/datafoodconsortium/connector-codegen) [main](https://github.com/datafoodconsortium/connector-codegen/commit/e630d0334b70e4a7e7e07a9151fecaf53af0557e). +- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [next](https://github.com/datafoodconsortium/data-model-uml/commit/621e823c21c79a58b117bae97132da9140e47be6). + +### Added + +- Add the `soldBy` property in `Order`. +- In `DefinedProduct`: + - Add the `hasVariant` property. + - Add the `isVariantOf` property. + ## [1.0.0-alpha.13] - 2024-10-11 This version has been generated using: - [Connector code generator](https://github.com/datafoodconsortium/connector-codegen) [main](https://github.com/datafoodconsortium/connector-codegen/commit/c3bc0728a936106b79dfba61c6bf40bfe3934aaf). -- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [next](https://github.com/datafoodconsortium/data-model-uml/commit/edac40255591f46884e75da47e28f04adc53d97a) +- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [next](https://github.com/datafoodconsortium/data-model-uml/commit/edac40255591f46884e75da47e28f04adc53d97a). ### Changed @@ -23,30 +37,30 @@ This version has been generated using: This version has been generated using: - [Connector code generator](https://github.com/datafoodconsortium/connector-codegen) [main](https://github.com/datafoodconsortium/connector-codegen/commit/e0d4fceb069c029232ee63c9a631480f00f73a59). -- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [next](https://github.com/datafoodconsortium/data-model-uml/commit/7fec05679450864108e20ce7411cbc957e559d30) +- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [next](https://github.com/datafoodconsortium/data-model-uml/commit/7fec05679450864108e20ce7411cbc957e559d30). ## Changed - Bump semantizer from 1.0.5 to 1.1.1. - Semantic objects can now be compared with `==`. +- Semantic objects can now be compared with `==`. ## [1.0.0-alpha.11] - 2024-04-04 This version has been generated using: - [Connector code generator](https://github.com/datafoodconsortium/connector-codegen) [main](https://github.com/datafoodconsortium/connector-codegen/commit/4f27cdecff1fc727283cbbb0a7847e0e178b761c). -- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [next](https://github.com/datafoodconsortium/data-model-uml/commit/7fec05679450864108e20ce7411cbc957e559d30) +- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [next](https://github.com/datafoodconsortium/data-model-uml/commit/7fec05679450864108e20ce7411cbc957e559d30). ## [1.0.0-alpha.10] - 2024-01-30 This version has been generated using: - [Connector code generator](https://github.com/datafoodconsortium/connector-codegen) [58d66e80d2d317a715c3aeabac05efa38c39ea29](https://github.com/datafoodconsortium/connector-codegen/commit/58d66e80d2d317a715c3aeabac05efa38c39ea29). -- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [2.1.0](https://github.com/datafoodconsortium/data-model-uml/releases/tag/v2.1.0) +- [UML data model](https://github.com/datafoodconsortium/data-model-uml) [2.1.0](https://github.com/datafoodconsortium/data-model-uml/releases/tag/v2.1.0). ### Added -- Add Import method reading JSON and returning objects. ([PR #12](https://github.com/datafoodconsortium/connector-codegen/pull/12)) +- Add Import method reading JSON and returning objects. ([PR #12](https://github.com/datafoodconsortium/connector-codegen/pull/12)). - Add `SEMANTIC_TYPE` constant to every semantic class. ### Fixed @@ -56,13 +70,13 @@ This version has been generated using: - Enable loading of measures v1.0.2 (6ef17f7d4a19aebd9d89b544db115d36f7e6fe93). - Allow output context to be configured ([PR #8](https://github.com/datafoodconsortium/connector-codegen/pull/8)). - Improve SKOS Concept parsing ([PR #10](https://github.com/datafoodconsortium/connector-codegen/pull/10)). -- Replace revoked json-canonicalization version 0.3.2 with 1.0.0 +- Replace revoked json-canonicalization version 0.3.2 with 1.0.0. ### Changed - Preload context to avoid remote loading (4741acb). - Rewrite MiniTest tests as Rspec specs ([PR #9](https://github.com/datafoodconsortium/connector-codegen/pull/9)). -- Bump json-ld from 3.3.0 to 3.3.1 +- Bump json-ld from 3.3.0 to 3.3.1. ## [1.0.0-alpha.9] - 2023-11-06 @@ -140,7 +154,8 @@ This version has been generated using the [code generator](https://github.com/da - Initial version of this library. -[unreleased]: https://github.com/datafoodconsortium/connector-ruby/compare/v1.0.0-alpha.13...HEAD +[unreleased]: https://github.com/datafoodconsortium/connector-ruby/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/datafoodconsortium/connector-ruby/compare/v1.0.0-alpha.13...v1.0.0 [1.0.0-alpha.13]: https://github.com/datafoodconsortium/connector-ruby/compare/v1.0.0-alpha.12...v1.0.0-alpha.13 [1.0.0-alpha.12]: https://github.com/datafoodconsortium/connector-ruby/compare/v1.0.0-alpha.11...v1.0.0-alpha.12 [1.0.0-alpha.11]: https://github.com/datafoodconsortium/connector-ruby/compare/v1.0.0-alpha.10...v1.0.0-alpha.11 diff --git a/Gemfile.lock b/Gemfile.lock index 1628361..66c8ef4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - datafoodconsortium-connector (1.0.0.pre.alpha.13) + datafoodconsortium-connector (1.0.0) virtual_assembly-semantizer (~> 1.0, >= 1.0.5) GEM diff --git a/connector.gemspec b/connector.gemspec index 59ebd24..0c5376d 100644 --- a/connector.gemspec +++ b/connector.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = "datafoodconsortium-connector" - s.version = "1.0.0-alpha.13" + s.version = "1.0.0" s.summary = "Data Food Consortium connector" s.description = "A library to easily integrate the DFC standard within your application." s.authors = ["Maxime Lecoq"] diff --git a/lib/datafoodconsortium/connector/defined_product.rb b/lib/datafoodconsortium/connector/defined_product.rb index 52f808a..6273a04 100644 --- a/lib/datafoodconsortium/connector/defined_product.rb +++ b/lib/datafoodconsortium/connector/defined_product.rb @@ -85,6 +85,12 @@ class DataFoodConsortium::Connector::DefinedProduct # @return [String] attr_accessor :images + # @return [IDefinedProduct] + attr_accessor :variants + + # @return [IDefinedProduct] + attr_accessor :isVariantOf + # @param semanticId [String] # @param name [String] # @param description [String] @@ -103,7 +109,9 @@ class DataFoodConsortium::Connector::DefinedProduct # @param natureOrigin [ISKOSConcept] # @param partOrigin [ISKOSConcept] # @param images [String] - def initialize(semanticId, name: nil, description: nil, productType: nil, quantity: nil, alcoholPercentage: nil, lifetime: nil, claims: [], usageOrStorageConditions: nil, allergenCharacteristics: [], nutrientCharacteristics: [], physicalCharacteristics: [], geographicalOrigin: nil, catalogItems: [], certifications: [], natureOrigin: [], partOrigin: [], images: []) + # @param variants [IDefinedProduct] + # @param isVariantOf [IDefinedProduct] + def initialize(semanticId, name: nil, description: nil, productType: nil, quantity: nil, alcoholPercentage: nil, lifetime: nil, claims: [], usageOrStorageConditions: nil, allergenCharacteristics: [], nutrientCharacteristics: [], physicalCharacteristics: [], geographicalOrigin: nil, catalogItems: [], certifications: [], natureOrigin: [], partOrigin: [], images: [], variants: [], isVariantOf: []) super(semanticId) @name = name @description = description @@ -122,6 +130,8 @@ def initialize(semanticId, name: nil, description: nil, productType: nil, quanti @natureOrigin = natureOrigin @partOrigin = partOrigin @images = images + @variants = variants + @isVariantOf = isVariantOf self.semanticType = "dfc-b:DefinedProduct" registerSemanticProperty("dfc-b:name", &method("name")).valueSetter = method("name=") registerSemanticProperty("dfc-b:description", &method("description")).valueSetter = method("description=") @@ -140,6 +150,8 @@ def initialize(semanticId, name: nil, description: nil, productType: nil, quanti registerSemanticProperty("dfc-b:hasNatureOrigin", &method("natureOrigin")).valueSetter = method("natureOrigin=") registerSemanticProperty("dfc-b:hasPartOrigin", &method("partOrigin")).valueSetter = method("partOrigin=") registerSemanticProperty("dfc-b:image", &method("images")).valueSetter = method("images=") + registerSemanticProperty("dfc-b:hasVariant", &method("variants")).valueSetter = method("variants=") + registerSemanticProperty("dfc-b:isVariantOf", &method("isVariantOf")).valueSetter = method("isVariantOf=") end diff --git a/lib/datafoodconsortium/connector/order.rb b/lib/datafoodconsortium/connector/order.rb index 5010d21..fa5f3b5 100644 --- a/lib/datafoodconsortium/connector/order.rb +++ b/lib/datafoodconsortium/connector/order.rb @@ -46,6 +46,9 @@ class DataFoodConsortium::Connector::Order # @return [IAgent] attr_accessor :client + # @return [IAgent] + attr_accessor :soldBy + # @return [ISKOSConcept] attr_accessor :fulfilmentStatus @@ -61,16 +64,18 @@ class DataFoodConsortium::Connector::Order # @param saleSession [ISaleSession] # @param lines [IOrderLine] # @param client [IAgent] + # @param soldBy [IAgent] # @param fulfilmentStatus [ISKOSConcept] # @param orderStatus [ISKOSConcept] # @param paymentStatus [ISKOSConcept] - def initialize(semanticId, number: nil, date: nil, saleSession: nil, lines: [], client: nil, fulfilmentStatus: nil, orderStatus: nil, paymentStatus: nil) + def initialize(semanticId, number: nil, date: nil, saleSession: nil, lines: [], client: nil, soldBy: nil, fulfilmentStatus: nil, orderStatus: nil, paymentStatus: nil) super(semanticId) @number = number @date = date @saleSession = saleSession @lines = lines @client = client + @soldBy = soldBy @fulfilmentStatus = fulfilmentStatus @orderStatus = orderStatus @paymentStatus = paymentStatus @@ -80,6 +85,7 @@ def initialize(semanticId, number: nil, date: nil, saleSession: nil, lines: [], registerSemanticProperty("dfc-b:belongsTo", &method("saleSession")).valueSetter = method("saleSession=") registerSemanticProperty("dfc-b:hasPart", &method("lines")).valueSetter = method("lines=") registerSemanticProperty("dfc-b:orderedBy", &method("client")).valueSetter = method("client=") + registerSemanticProperty("dfc-b:soldBy", &method("soldBy")).valueSetter = method("soldBy=") registerSemanticProperty("dfc-b:hasFulfilmentStatus", &method("fulfilmentStatus")).valueSetter = method("fulfilmentStatus=") registerSemanticProperty("dfc-b:hasOrderStatus", &method("orderStatus")).valueSetter = method("orderStatus=") registerSemanticProperty("dfc-b:hasPaymentStatus", &method("paymentStatus")).valueSetter = method("paymentStatus=") diff --git a/lib/datafoodconsortium/connector/supplied_product.rb b/lib/datafoodconsortium/connector/supplied_product.rb index 8df7c38..0598760 100644 --- a/lib/datafoodconsortium/connector/supplied_product.rb +++ b/lib/datafoodconsortium/connector/supplied_product.rb @@ -60,8 +60,10 @@ class DataFoodConsortium::Connector::SuppliedProduct < DataFoodConsortium::Conne # @param natureOrigin [ISKOSConcept] # @param partOrigin [ISKOSConcept] # @param images [String] - def initialize(semanticId, totalTheoreticalStock: nil, name: nil, description: nil, productType: nil, quantity: nil, alcoholPercentage: nil, lifetime: nil, claims: [], usageOrStorageConditions: nil, allergenCharacteristics: [], nutrientCharacteristics: [], physicalCharacteristics: [], geographicalOrigin: nil, catalogItems: [], certifications: [], natureOrigin: [], partOrigin: [], images: []) - super(semanticId, name: name, description: description, productType: productType, quantity: quantity, alcoholPercentage: alcoholPercentage, lifetime: lifetime, claims: claims, usageOrStorageConditions: usageOrStorageConditions, allergenCharacteristics: allergenCharacteristics, nutrientCharacteristics: nutrientCharacteristics, physicalCharacteristics: physicalCharacteristics, geographicalOrigin: geographicalOrigin, catalogItems: catalogItems, certifications: certifications, natureOrigin: natureOrigin, partOrigin: partOrigin, images: images) + # @param variants [IDefinedProduct] + # @param isVariantOf [IDefinedProduct] + def initialize(semanticId, totalTheoreticalStock: nil, name: nil, description: nil, productType: nil, quantity: nil, alcoholPercentage: nil, lifetime: nil, claims: [], usageOrStorageConditions: nil, allergenCharacteristics: [], nutrientCharacteristics: [], physicalCharacteristics: [], geographicalOrigin: nil, catalogItems: [], certifications: [], natureOrigin: [], partOrigin: [], images: [], variants: [], isVariantOf: []) + super(semanticId, name: name, description: description, productType: productType, quantity: quantity, alcoholPercentage: alcoholPercentage, lifetime: lifetime, claims: claims, usageOrStorageConditions: usageOrStorageConditions, allergenCharacteristics: allergenCharacteristics, nutrientCharacteristics: nutrientCharacteristics, physicalCharacteristics: physicalCharacteristics, geographicalOrigin: geographicalOrigin, catalogItems: catalogItems, certifications: certifications, natureOrigin: natureOrigin, partOrigin: partOrigin, images: images, variants: variants, isVariantOf: isVariantOf) @totalTheoreticalStock = totalTheoreticalStock self.semanticType = "dfc-b:SuppliedProduct" registerSemanticProperty("dfc-b:totalTheoreticalStock", &method("totalTheoreticalStock")).valueSetter = method("totalTheoreticalStock=") diff --git a/lib/datafoodconsortium/connector/technical_product.rb b/lib/datafoodconsortium/connector/technical_product.rb index 27d1f93..7748723 100644 --- a/lib/datafoodconsortium/connector/technical_product.rb +++ b/lib/datafoodconsortium/connector/technical_product.rb @@ -48,8 +48,10 @@ class DataFoodConsortium::Connector::TechnicalProduct < DataFoodConsortium::Conn # @param natureOrigin [ISKOSConcept] # @param partOrigin [ISKOSConcept] # @param images [String] - def initialize(semanticId, name: nil, description: nil, productType: nil, quantity: nil, alcoholPercentage: nil, lifetime: nil, claims: [], usageOrStorageConditions: nil, allergenCharacteristics: [], nutrientCharacteristics: [], physicalCharacteristics: [], geographicalOrigin: nil, catalogItems: [], certifications: [], natureOrigin: [], partOrigin: [], images: []) - super(semanticId, name: name, description: description, productType: productType, quantity: quantity, alcoholPercentage: alcoholPercentage, lifetime: lifetime, claims: claims, usageOrStorageConditions: usageOrStorageConditions, allergenCharacteristics: allergenCharacteristics, nutrientCharacteristics: nutrientCharacteristics, physicalCharacteristics: physicalCharacteristics, geographicalOrigin: geographicalOrigin, catalogItems: catalogItems, certifications: certifications, natureOrigin: natureOrigin, partOrigin: partOrigin, images: images) + # @param variants [IDefinedProduct] + # @param isVariantOf [IDefinedProduct] + def initialize(semanticId, name: nil, description: nil, productType: nil, quantity: nil, alcoholPercentage: nil, lifetime: nil, claims: [], usageOrStorageConditions: nil, allergenCharacteristics: [], nutrientCharacteristics: [], physicalCharacteristics: [], geographicalOrigin: nil, catalogItems: [], certifications: [], natureOrigin: [], partOrigin: [], images: [], variants: [], isVariantOf: []) + super(semanticId, name: name, description: description, productType: productType, quantity: quantity, alcoholPercentage: alcoholPercentage, lifetime: lifetime, claims: claims, usageOrStorageConditions: usageOrStorageConditions, allergenCharacteristics: allergenCharacteristics, nutrientCharacteristics: nutrientCharacteristics, physicalCharacteristics: physicalCharacteristics, geographicalOrigin: geographicalOrigin, catalogItems: catalogItems, certifications: certifications, natureOrigin: natureOrigin, partOrigin: partOrigin, images: images, variants: variants, isVariantOf: isVariantOf) self.semanticType = "dfc-b:TechnicalProduct"