schema_org-rb 0.1.0 → 0.2.0

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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +5 -6
  4. data/lib/schema_org/generated_vocabulary.rb +9 -0
  5. data/lib/schema_org/mixins/action.rb +1 -1
  6. data/lib/schema_org/mixins/api_reference.rb +1 -1
  7. data/lib/schema_org/mixins/artery.rb +1 -1
  8. data/lib/schema_org/mixins/blog.rb +1 -1
  9. data/lib/schema_org/mixins/brand.rb +1 -1
  10. data/lib/schema_org/mixins/broadcast_service.rb +1 -1
  11. data/lib/schema_org/mixins/buy_action.rb +3 -1
  12. data/lib/schema_org/mixins/choose_action.rb +1 -1
  13. data/lib/schema_org/mixins/clip.rb +3 -3
  14. data/lib/schema_org/mixins/communicate_action.rb +1 -1
  15. data/lib/schema_org/mixins/contact_point.rb +2 -2
  16. data/lib/schema_org/mixins/creative_work.rb +11 -11
  17. data/lib/schema_org/mixins/creative_work_season.rb +4 -4
  18. data/lib/schema_org/mixins/dataset.rb +3 -1
  19. data/lib/schema_org/mixins/declaration_of_conformity.rb +16 -0
  20. data/lib/schema_org/mixins/delivery_charge_specification.rb +1 -1
  21. data/lib/schema_org/mixins/demand.rb +5 -3
  22. data/lib/schema_org/mixins/digital_product_passport.rb +16 -0
  23. data/lib/schema_org/mixins/drug.rb +1 -1
  24. data/lib/schema_org/mixins/educational_occupational_program.rb +1 -1
  25. data/lib/schema_org/mixins/entry_point.rb +1 -1
  26. data/lib/schema_org/mixins/environmental_product_declaration.rb +16 -0
  27. data/lib/schema_org/mixins/episode.rb +3 -3
  28. data/lib/schema_org/mixins/event.rb +9 -9
  29. data/lib/schema_org/mixins/exercise_action.rb +1 -1
  30. data/lib/schema_org/mixins/financial_incentive.rb +2 -2
  31. data/lib/schema_org/mixins/flight.rb +3 -1
  32. data/lib/schema_org/mixins/food_establishment.rb +1 -1
  33. data/lib/schema_org/mixins/health_insurance_plan.rb +1 -1
  34. data/lib/schema_org/mixins/how_to.rb +1 -1
  35. data/lib/schema_org/mixins/inform_action.rb +1 -1
  36. data/lib/schema_org/mixins/invite_action.rb +1 -1
  37. data/lib/schema_org/mixins/invoice.rb +3 -3
  38. data/lib/schema_org/mixins/job_posting.rb +2 -2
  39. data/lib/schema_org/mixins/join_action.rb +1 -1
  40. data/lib/schema_org/mixins/leave_action.rb +1 -1
  41. data/lib/schema_org/mixins/link_role.rb +1 -1
  42. data/lib/schema_org/mixins/lodging_business.rb +1 -1
  43. data/lib/schema_org/mixins/media_object.rb +1 -1
  44. data/lib/schema_org/mixins/merchant_return_policy.rb +2 -2
  45. data/lib/schema_org/mixins/merchant_return_policy_seasonal_override.rb +1 -1
  46. data/lib/schema_org/mixins/monetary_amount.rb +4 -4
  47. data/lib/schema_org/mixins/movie.rb +2 -2
  48. data/lib/schema_org/mixins/movie_series.rb +2 -2
  49. data/lib/schema_org/mixins/music_group.rb +2 -2
  50. data/lib/schema_org/mixins/music_playlist.rb +1 -1
  51. data/lib/schema_org/mixins/offer.rb +47 -5
  52. data/lib/schema_org/mixins/offer_shipping_details.rb +22 -0
  53. data/lib/schema_org/mixins/order.rb +5 -3
  54. data/lib/schema_org/mixins/organization.rb +34 -12
  55. data/lib/schema_org/mixins/parcel_delivery.rb +1 -1
  56. data/lib/schema_org/mixins/person.rb +6 -6
  57. data/lib/schema_org/mixins/place.rb +8 -6
  58. data/lib/schema_org/mixins/play_action.rb +2 -2
  59. data/lib/schema_org/mixins/podcast_series.rb +1 -1
  60. data/lib/schema_org/mixins/product.rb +164 -4
  61. data/lib/schema_org/mixins/product_group.rb +4 -4
  62. data/lib/schema_org/mixins/program_membership.rb +3 -1
  63. data/lib/schema_org/mixins/pronounceable_text.rb +1 -1
  64. data/lib/schema_org/mixins/property_value.rb +24 -4
  65. data/lib/schema_org/mixins/quantitative_value.rb +4 -4
  66. data/lib/schema_org/mixins/radio_series.rb +5 -5
  67. data/lib/schema_org/mixins/recipe.rb +1 -1
  68. data/lib/schema_org/mixins/reservation.rb +2 -2
  69. data/lib/schema_org/mixins/role.rb +1 -1
  70. data/lib/schema_org/mixins/service.rb +8 -8
  71. data/lib/schema_org/mixins/shipping_rate_settings.rb +20 -0
  72. data/lib/schema_org/mixins/software_application.rb +3 -3
  73. data/lib/schema_org/mixins/software_source_code.rb +2 -2
  74. data/lib/schema_org/mixins/trip.rb +1 -1
  75. data/lib/schema_org/mixins/tv_series.rb +5 -5
  76. data/lib/schema_org/mixins/update_action.rb +1 -1
  77. data/lib/schema_org/mixins/video_game.rb +2 -2
  78. data/lib/schema_org/mixins/video_game_series.rb +5 -5
  79. data/lib/schema_org/mixins/video_object.rb +2 -2
  80. data/lib/schema_org/mixins/visual_artwork.rb +1 -1
  81. data/lib/schema_org/mixins/web_page.rb +2 -2
  82. data/lib/schema_org/mixins/write_action.rb +1 -1
  83. data/lib/schema_org/schema_version.rb +1 -1
  84. data/lib/schema_org/types/declaration_of_conformity.rb +35 -0
  85. data/lib/schema_org/types/digital_product_passport.rb +35 -0
  86. data/lib/schema_org/types/environmental_product_declaration.rb +35 -0
  87. data/lib/schema_org/types/interaction_counter.rb +9 -0
  88. data/lib/schema_org/types/it_nonprofit_type.rb +8 -2
  89. data/lib/schema_org/types/medical_specialty.rb +3 -1
  90. data/lib/schema_org/types/price_type_enumeration.rb +2 -1
  91. data/lib/schema_org/version.rb +1 -1
  92. data/sig/schema_org.rbs +1646 -204
  93. metadata +8 -2
@@ -83,8 +83,18 @@ module SchemaOrg
83
83
  value: {
84
84
  schema_name: "value",
85
85
  schema_url: "https://schema.org/value",
86
- comment_lines: ["The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\\n\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', or 'StructuredValue'.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."].freeze,
87
- ranges: ["Boolean", "Number", "StructuredValue", "Text"].freeze,
86
+ comment_lines: ["The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\\n\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', 'StructuredValue' or 'QualitativeValue'.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."].freeze,
87
+ ranges: ["Boolean", "Number", "QualitativeValue", "StructuredValue", "Text"].freeze,
88
+ external_ranges: [].freeze,
89
+ inverse_of: nil,
90
+ superseded_by: nil,
91
+ supersedes: nil
92
+ }.freeze,
93
+ value_group: {
94
+ schema_name: "valueGroup",
95
+ schema_url: "https://schema.org/valueGroup",
96
+ comment_lines: ["A header or section name for grouping related property values."].freeze,
97
+ ranges: ["Text"].freeze,
88
98
  external_ranges: [].freeze,
89
99
  inverse_of: nil,
90
100
  superseded_by: nil,
@@ -193,16 +203,26 @@ module SchemaOrg
193
203
  write_property(:unit_text, value)
194
204
  end
195
205
 
196
- # The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', or 'StructuredValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.
206
+ # The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', 'StructuredValue' or 'QualitativeValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.
197
207
  def value
198
208
  read_property(:value)
199
209
  end
200
210
 
201
- # The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', or 'StructuredValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.
211
+ # The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', 'StructuredValue' or 'QualitativeValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.
202
212
  def value=(value)
203
213
  write_property(:value, value)
204
214
  end
205
215
 
216
+ # A header or section name for grouping related property values.
217
+ def value_group
218
+ read_property(:value_group)
219
+ end
220
+
221
+ # A header or section name for grouping related property values.
222
+ def value_group=(value)
223
+ write_property(:value_group, value)
224
+ end
225
+
206
226
  # A secondary value that provides additional information on the original value, e.g. a reference temperature or a type of measurement.
207
227
  def value_reference
208
228
  read_property(:value_reference)
@@ -63,8 +63,8 @@ module SchemaOrg
63
63
  value: {
64
64
  schema_name: "value",
65
65
  schema_url: "https://schema.org/value",
66
- comment_lines: ["The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\\n\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', or 'StructuredValue'.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."].freeze,
67
- ranges: ["Boolean", "Number", "StructuredValue", "Text"].freeze,
66
+ comment_lines: ["The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\\n\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', 'StructuredValue' or 'QualitativeValue'.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."].freeze,
67
+ ranges: ["Boolean", "Number", "QualitativeValue", "StructuredValue", "Text"].freeze,
68
68
  external_ranges: [].freeze,
69
69
  inverse_of: nil,
70
70
  superseded_by: nil,
@@ -135,12 +135,12 @@ module SchemaOrg
135
135
  write_property(:unit_text, value)
136
136
  end
137
137
 
138
- # The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', or 'StructuredValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.
138
+ # The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', 'StructuredValue' or 'QualitativeValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.
139
139
  def value
140
140
  read_property(:value)
141
141
  end
142
142
 
143
- # The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', or 'StructuredValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.
143
+ # The value of a [[QuantitativeValue]] (including [[Observation]]) or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text', 'Number', 'Boolean', 'StructuredValue' or 'QualitativeValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.
144
144
  def value=(value)
145
145
  write_property(:value, value)
146
146
  end
@@ -18,7 +18,7 @@ module SchemaOrg
18
18
  external_ranges: [].freeze,
19
19
  inverse_of: nil,
20
20
  superseded_by: nil,
21
- supersedes: "actors"
21
+ supersedes: ["actors"].freeze
22
22
  }.freeze,
23
23
  actors: {
24
24
  schema_name: "actors",
@@ -38,7 +38,7 @@ module SchemaOrg
38
38
  external_ranges: [].freeze,
39
39
  inverse_of: nil,
40
40
  superseded_by: nil,
41
- supersedes: "season"
41
+ supersedes: ["season"].freeze
42
42
  }.freeze,
43
43
  director: {
44
44
  schema_name: "director",
@@ -48,7 +48,7 @@ module SchemaOrg
48
48
  external_ranges: [].freeze,
49
49
  inverse_of: nil,
50
50
  superseded_by: nil,
51
- supersedes: "directors"
51
+ supersedes: ["directors"].freeze
52
52
  }.freeze,
53
53
  directors: {
54
54
  schema_name: "directors",
@@ -68,7 +68,7 @@ module SchemaOrg
68
68
  external_ranges: [].freeze,
69
69
  inverse_of: nil,
70
70
  superseded_by: nil,
71
- supersedes: "episodes"
71
+ supersedes: ["episodes"].freeze
72
72
  }.freeze,
73
73
  episodes: {
74
74
  schema_name: "episodes",
@@ -128,7 +128,7 @@ module SchemaOrg
128
128
  external_ranges: [].freeze,
129
129
  inverse_of: nil,
130
130
  superseded_by: "containsSeason",
131
- supersedes: "seasons"
131
+ supersedes: ["seasons"].freeze
132
132
  }.freeze,
133
133
  seasons: {
134
134
  schema_name: "seasons",
@@ -78,7 +78,7 @@ module SchemaOrg
78
78
  external_ranges: [].freeze,
79
79
  inverse_of: nil,
80
80
  superseded_by: nil,
81
- supersedes: "ingredients"
81
+ supersedes: ["ingredients"].freeze
82
82
  }.freeze,
83
83
  recipe_instructions: {
84
84
  schema_name: "recipeInstructions",
@@ -38,7 +38,7 @@ module SchemaOrg
38
38
  external_ranges: [].freeze,
39
39
  inverse_of: nil,
40
40
  superseded_by: nil,
41
- supersedes: "bookingAgent"
41
+ supersedes: ["bookingAgent"].freeze
42
42
  }.freeze,
43
43
  modified_time: {
44
44
  schema_name: "modifiedTime",
@@ -78,7 +78,7 @@ module SchemaOrg
78
78
  external_ranges: [].freeze,
79
79
  inverse_of: nil,
80
80
  superseded_by: nil,
81
- supersedes: "carrier"
81
+ supersedes: ["carrier"].freeze
82
82
  }.freeze,
83
83
  reservation_for: {
84
84
  schema_name: "reservationFor",
@@ -38,7 +38,7 @@ module SchemaOrg
38
38
  external_ranges: [].freeze,
39
39
  inverse_of: nil,
40
40
  superseded_by: nil,
41
- supersedes: "namedPosition"
41
+ supersedes: ["namedPosition"].freeze
42
42
  }.freeze,
43
43
  start_date: {
44
44
  schema_name: "startDate",
@@ -28,7 +28,7 @@ module SchemaOrg
28
28
  external_ranges: [].freeze,
29
29
  inverse_of: nil,
30
30
  superseded_by: nil,
31
- supersedes: "serviceArea"
31
+ supersedes: ["serviceArea"].freeze
32
32
  }.freeze,
33
33
  audience: {
34
34
  schema_name: "audience",
@@ -38,7 +38,7 @@ module SchemaOrg
38
38
  external_ranges: [].freeze,
39
39
  inverse_of: nil,
40
40
  superseded_by: nil,
41
- supersedes: "serviceAudience"
41
+ supersedes: ["serviceAudience"].freeze
42
42
  }.freeze,
43
43
  available_channel: {
44
44
  schema_name: "availableChannel",
@@ -58,7 +58,7 @@ module SchemaOrg
58
58
  external_ranges: [].freeze,
59
59
  inverse_of: nil,
60
60
  superseded_by: nil,
61
- supersedes: "awards"
61
+ supersedes: ["awards"].freeze
62
62
  }.freeze,
63
63
  brand: {
64
64
  schema_name: "brand",
@@ -78,7 +78,7 @@ module SchemaOrg
78
78
  external_ranges: [].freeze,
79
79
  inverse_of: nil,
80
80
  superseded_by: nil,
81
- supersedes: "bookingAgent"
81
+ supersedes: ["bookingAgent"].freeze
82
82
  }.freeze,
83
83
  category: {
84
84
  schema_name: "category",
@@ -178,7 +178,7 @@ module SchemaOrg
178
178
  external_ranges: [].freeze,
179
179
  inverse_of: nil,
180
180
  superseded_by: nil,
181
- supersedes: "carrier"
181
+ supersedes: ["carrier"].freeze
182
182
  }.freeze,
183
183
  provider_mobility: {
184
184
  schema_name: "providerMobility",
@@ -198,7 +198,7 @@ module SchemaOrg
198
198
  external_ranges: [].freeze,
199
199
  inverse_of: nil,
200
200
  superseded_by: nil,
201
- supersedes: "reviews"
201
+ supersedes: ["reviews"].freeze
202
202
  }.freeze,
203
203
  service_area: {
204
204
  schema_name: "serviceArea",
@@ -208,7 +208,7 @@ module SchemaOrg
208
208
  external_ranges: [].freeze,
209
209
  inverse_of: nil,
210
210
  superseded_by: "areaServed",
211
- supersedes: "area"
211
+ supersedes: ["area"].freeze
212
212
  }.freeze,
213
213
  service_audience: {
214
214
  schema_name: "serviceAudience",
@@ -228,7 +228,7 @@ module SchemaOrg
228
228
  external_ranges: [].freeze,
229
229
  inverse_of: nil,
230
230
  superseded_by: nil,
231
- supersedes: "produces"
231
+ supersedes: ["produces"].freeze
232
232
  }.freeze,
233
233
  service_type: {
234
234
  schema_name: "serviceType",
@@ -40,6 +40,16 @@ module SchemaOrg
40
40
  superseded_by: nil,
41
41
  supersedes: nil
42
42
  }.freeze,
43
+ minimum_order_value: {
44
+ schema_name: "minimumOrderValue",
45
+ schema_url: "https://schema.org/minimumOrderValue",
46
+ comment_lines: ["The minimum order value required for this shipping rate to apply."].freeze,
47
+ ranges: ["MonetaryAmount", "Number", "PriceSpecification"].freeze,
48
+ external_ranges: [].freeze,
49
+ inverse_of: nil,
50
+ superseded_by: nil,
51
+ supersedes: nil
52
+ }.freeze,
43
53
  order_percentage: {
44
54
  schema_name: "orderPercentage",
45
55
  schema_url: "https://schema.org/orderPercentage",
@@ -123,6 +133,16 @@ module SchemaOrg
123
133
  write_property(:is_unlabelled_fallback, value)
124
134
  end
125
135
 
136
+ # The minimum order value required for this shipping rate to apply.
137
+ def minimum_order_value
138
+ read_property(:minimum_order_value)
139
+ end
140
+
141
+ # The minimum order value required for this shipping rate to apply.
142
+ def minimum_order_value=(value)
143
+ write_property(:minimum_order_value, value)
144
+ end
145
+
126
146
  # Value representing the fraction of the value of the order that is charged as shipping cost. Example: 0.10 would mean shipping rate is 10% of the total order value.
127
147
  def order_percentage
128
148
  read_property(:order_percentage)
@@ -48,7 +48,7 @@ module SchemaOrg
48
48
  external_ranges: [].freeze,
49
49
  inverse_of: nil,
50
50
  superseded_by: nil,
51
- supersedes: "device"
51
+ supersedes: ["device"].freeze
52
52
  }.freeze,
53
53
  countries_not_supported: {
54
54
  schema_name: "countriesNotSupported",
@@ -188,7 +188,7 @@ module SchemaOrg
188
188
  external_ranges: [].freeze,
189
189
  inverse_of: nil,
190
190
  superseded_by: nil,
191
- supersedes: "runtime"
191
+ supersedes: ["runtime"].freeze
192
192
  }.freeze,
193
193
  screenshot: {
194
194
  schema_name: "screenshot",
@@ -228,7 +228,7 @@ module SchemaOrg
228
228
  external_ranges: [].freeze,
229
229
  inverse_of: nil,
230
230
  superseded_by: nil,
231
- supersedes: "requirements"
231
+ supersedes: ["requirements"].freeze
232
232
  }.freeze,
233
233
  software_version: {
234
234
  schema_name: "softwareVersion",
@@ -28,7 +28,7 @@ module SchemaOrg
28
28
  external_ranges: [].freeze,
29
29
  inverse_of: nil,
30
30
  superseded_by: nil,
31
- supersedes: "sampleType"
31
+ supersedes: ["sampleType"].freeze
32
32
  }.freeze,
33
33
  programming_language: {
34
34
  schema_name: "programmingLanguage",
@@ -58,7 +58,7 @@ module SchemaOrg
58
58
  external_ranges: [].freeze,
59
59
  inverse_of: nil,
60
60
  superseded_by: nil,
61
- supersedes: "runtime"
61
+ supersedes: ["runtime"].freeze
62
62
  }.freeze,
63
63
  sample_type: {
64
64
  schema_name: "sampleType",
@@ -68,7 +68,7 @@ module SchemaOrg
68
68
  external_ranges: [].freeze,
69
69
  inverse_of: nil,
70
70
  superseded_by: nil,
71
- supersedes: "carrier"
71
+ supersedes: ["carrier"].freeze
72
72
  }.freeze,
73
73
  sub_trip: {
74
74
  schema_name: "subTrip",
@@ -19,7 +19,7 @@ module SchemaOrg
19
19
  external_ranges: [].freeze,
20
20
  inverse_of: nil,
21
21
  superseded_by: nil,
22
- supersedes: "actors"
22
+ supersedes: ["actors"].freeze
23
23
  }.freeze,
24
24
  actors: {
25
25
  schema_name: "actors",
@@ -39,7 +39,7 @@ module SchemaOrg
39
39
  external_ranges: [].freeze,
40
40
  inverse_of: nil,
41
41
  superseded_by: nil,
42
- supersedes: "season"
42
+ supersedes: ["season"].freeze
43
43
  }.freeze,
44
44
  country_of_origin: {
45
45
  schema_name: "countryOfOrigin",
@@ -59,7 +59,7 @@ module SchemaOrg
59
59
  external_ranges: [].freeze,
60
60
  inverse_of: nil,
61
61
  superseded_by: nil,
62
- supersedes: "directors"
62
+ supersedes: ["directors"].freeze
63
63
  }.freeze,
64
64
  directors: {
65
65
  schema_name: "directors",
@@ -79,7 +79,7 @@ module SchemaOrg
79
79
  external_ranges: [].freeze,
80
80
  inverse_of: nil,
81
81
  superseded_by: nil,
82
- supersedes: "episodes"
82
+ supersedes: ["episodes"].freeze
83
83
  }.freeze,
84
84
  episodes: {
85
85
  schema_name: "episodes",
@@ -139,7 +139,7 @@ module SchemaOrg
139
139
  external_ranges: [].freeze,
140
140
  inverse_of: nil,
141
141
  superseded_by: "containsSeason",
142
- supersedes: "seasons"
142
+ supersedes: ["seasons"].freeze
143
143
  }.freeze,
144
144
  seasons: {
145
145
  schema_name: "seasons",
@@ -28,7 +28,7 @@ module SchemaOrg
28
28
  external_ranges: [].freeze,
29
29
  inverse_of: nil,
30
30
  superseded_by: nil,
31
- supersedes: "collection"
31
+ supersedes: ["collection"].freeze
32
32
  }.freeze
33
33
  }.freeze
34
34
  end
@@ -19,7 +19,7 @@ module SchemaOrg
19
19
  external_ranges: [].freeze,
20
20
  inverse_of: nil,
21
21
  superseded_by: nil,
22
- supersedes: "actors"
22
+ supersedes: ["actors"].freeze
23
23
  }.freeze,
24
24
  actors: {
25
25
  schema_name: "actors",
@@ -49,7 +49,7 @@ module SchemaOrg
49
49
  external_ranges: [].freeze,
50
50
  inverse_of: nil,
51
51
  superseded_by: nil,
52
- supersedes: "directors"
52
+ supersedes: ["directors"].freeze
53
53
  }.freeze,
54
54
  directors: {
55
55
  schema_name: "directors",
@@ -18,7 +18,7 @@ module SchemaOrg
18
18
  external_ranges: [].freeze,
19
19
  inverse_of: nil,
20
20
  superseded_by: nil,
21
- supersedes: "actors"
21
+ supersedes: ["actors"].freeze
22
22
  }.freeze,
23
23
  actors: {
24
24
  schema_name: "actors",
@@ -58,7 +58,7 @@ module SchemaOrg
58
58
  external_ranges: [].freeze,
59
59
  inverse_of: nil,
60
60
  superseded_by: nil,
61
- supersedes: "season"
61
+ supersedes: ["season"].freeze
62
62
  }.freeze,
63
63
  director: {
64
64
  schema_name: "director",
@@ -68,7 +68,7 @@ module SchemaOrg
68
68
  external_ranges: [].freeze,
69
69
  inverse_of: nil,
70
70
  superseded_by: nil,
71
- supersedes: "directors"
71
+ supersedes: ["directors"].freeze
72
72
  }.freeze,
73
73
  directors: {
74
74
  schema_name: "directors",
@@ -88,7 +88,7 @@ module SchemaOrg
88
88
  external_ranges: [].freeze,
89
89
  inverse_of: nil,
90
90
  superseded_by: nil,
91
- supersedes: "episodes"
91
+ supersedes: ["episodes"].freeze
92
92
  }.freeze,
93
93
  episodes: {
94
94
  schema_name: "episodes",
@@ -208,7 +208,7 @@ module SchemaOrg
208
208
  external_ranges: [].freeze,
209
209
  inverse_of: nil,
210
210
  superseded_by: "containsSeason",
211
- supersedes: "seasons"
211
+ supersedes: ["seasons"].freeze
212
212
  }.freeze,
213
213
  seasons: {
214
214
  schema_name: "seasons",
@@ -18,7 +18,7 @@ module SchemaOrg
18
18
  external_ranges: [].freeze,
19
19
  inverse_of: nil,
20
20
  superseded_by: nil,
21
- supersedes: "actors"
21
+ supersedes: ["actors"].freeze
22
22
  }.freeze,
23
23
  actors: {
24
24
  schema_name: "actors",
@@ -48,7 +48,7 @@ module SchemaOrg
48
48
  external_ranges: [].freeze,
49
49
  inverse_of: nil,
50
50
  superseded_by: nil,
51
- supersedes: "directors"
51
+ supersedes: ["directors"].freeze
52
52
  }.freeze,
53
53
  directors: {
54
54
  schema_name: "directors",
@@ -58,7 +58,7 @@ module SchemaOrg
58
58
  external_ranges: [].freeze,
59
59
  inverse_of: nil,
60
60
  superseded_by: nil,
61
- supersedes: "surface"
61
+ supersedes: ["surface"].freeze
62
62
  }.freeze,
63
63
  colorist: {
64
64
  schema_name: "colorist",
@@ -38,7 +38,7 @@ module SchemaOrg
38
38
  external_ranges: [].freeze,
39
39
  inverse_of: nil,
40
40
  superseded_by: nil,
41
- supersedes: "aspect"
41
+ supersedes: ["aspect"].freeze
42
42
  }.freeze,
43
43
  primary_image_of_page: {
44
44
  schema_name: "primaryImageOfPage",
@@ -78,7 +78,7 @@ module SchemaOrg
78
78
  external_ranges: [].freeze,
79
79
  inverse_of: nil,
80
80
  superseded_by: nil,
81
- supersedes: "significantLinks"
81
+ supersedes: ["significantLinks"].freeze
82
82
  }.freeze,
83
83
  significant_links: {
84
84
  schema_name: "significantLinks",
@@ -18,7 +18,7 @@ module SchemaOrg
18
18
  external_ranges: [].freeze,
19
19
  inverse_of: nil,
20
20
  superseded_by: nil,
21
- supersedes: "language"
21
+ supersedes: ["language"].freeze
22
22
  }.freeze,
23
23
  language: {
24
24
  schema_name: "language",
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SchemaOrg
4
- SCHEMA_VERSION = "v30.0"
4
+ SCHEMA_VERSION = "v30.1"
5
5
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated Ruby code is licensed under MIT.
4
+ # Schema.org descriptions in comments and metadata are licensed under CC BY-SA 3.0.
5
+ # See LICENSE-SCHEMA-ORG.txt.
6
+ module SchemaOrg
7
+ # https://schema.org/DeclarationOfConformity
8
+ #
9
+ # A Declaration of Conformity (DoC), a formal document issued by a manufacturer declaring that a product meets specific regulatory requirements.
10
+ class DeclarationOfConformity < Base
11
+ include Mixins::DeclarationOfConformity
12
+
13
+ SCHEMA_NAME = "DeclarationOfConformity"
14
+ SCHEMA_TYPES = [self, SchemaOrg::Certification, SchemaOrg::CreativeWork, SchemaOrg::Thing].freeze
15
+
16
+ class << self
17
+ def schema_name
18
+ SCHEMA_NAME
19
+ end
20
+
21
+ def schema_types
22
+ SCHEMA_TYPES
23
+ end
24
+
25
+ def schema_type?(other_type)
26
+ Base.schema_type_argument!(other_type)
27
+ SCHEMA_TYPES.include?(other_type)
28
+ end
29
+
30
+ def new(**properties)
31
+ super
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated Ruby code is licensed under MIT.
4
+ # Schema.org descriptions in comments and metadata are licensed under CC BY-SA 3.0.
5
+ # See LICENSE-SCHEMA-ORG.txt.
6
+ module SchemaOrg
7
+ # https://schema.org/DigitalProductPassport
8
+ #
9
+ # A digital product passport (DPP), a record containing information about a product's lifecycle, sustainability, and compliance.
10
+ class DigitalProductPassport < Base
11
+ include Mixins::DigitalProductPassport
12
+
13
+ SCHEMA_NAME = "DigitalProductPassport"
14
+ SCHEMA_TYPES = [self, SchemaOrg::Certification, SchemaOrg::CreativeWork, SchemaOrg::Thing].freeze
15
+
16
+ class << self
17
+ def schema_name
18
+ SCHEMA_NAME
19
+ end
20
+
21
+ def schema_types
22
+ SCHEMA_TYPES
23
+ end
24
+
25
+ def schema_type?(other_type)
26
+ Base.schema_type_argument!(other_type)
27
+ SCHEMA_TYPES.include?(other_type)
28
+ end
29
+
30
+ def new(**properties)
31
+ super
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated Ruby code is licensed under MIT.
4
+ # Schema.org descriptions in comments and metadata are licensed under CC BY-SA 3.0.
5
+ # See LICENSE-SCHEMA-ORG.txt.
6
+ module SchemaOrg
7
+ # https://schema.org/EnvironmentalProductDeclaration
8
+ #
9
+ # An Environmental Product Declaration (EPD) that quantifies environmental information on the life cycle of a product.
10
+ class EnvironmentalProductDeclaration < Base
11
+ include Mixins::EnvironmentalProductDeclaration
12
+
13
+ SCHEMA_NAME = "EnvironmentalProductDeclaration"
14
+ SCHEMA_TYPES = [self, SchemaOrg::Certification, SchemaOrg::CreativeWork, SchemaOrg::Thing].freeze
15
+
16
+ class << self
17
+ def schema_name
18
+ SCHEMA_NAME
19
+ end
20
+
21
+ def schema_types
22
+ SCHEMA_TYPES
23
+ end
24
+
25
+ def schema_type?(other_type)
26
+ Base.schema_type_argument!(other_type)
27
+ SCHEMA_TYPES.include?(other_type)
28
+ end
29
+
30
+ def new(**properties)
31
+ super
32
+ end
33
+ end
34
+ end
35
+ end
@@ -7,6 +7,15 @@ module SchemaOrg
7
7
  # https://schema.org/InteractionCounter
8
8
  #
9
9
  # NOTE: Supersedes `UserBlocks`.
10
+ # NOTE: Supersedes `UserCheckins`.
11
+ # NOTE: Supersedes `UserComments`.
12
+ # NOTE: Supersedes `UserDownloads`.
13
+ # NOTE: Supersedes `UserInteraction`.
14
+ # NOTE: Supersedes `UserLikes`.
15
+ # NOTE: Supersedes `UserPageVisits`.
16
+ # NOTE: Supersedes `UserPlays`.
17
+ # NOTE: Supersedes `UserPlusOnes`.
18
+ # NOTE: Supersedes `UserTweets`.
10
19
  #
11
20
  # A summary of how users have interacted with this CreativeWork. In most cases, authors will use a subtype to specify the specific type of interaction.
12
21
  class InteractionCounter < Base