arosa 0.1.1 → 0.1.3

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: 35f28ac507aed0a001301603188128a173c4136f70e17073bc5616ce09a9ae06
4
- data.tar.gz: 558a643ba9b5791a52b0261923cc4e36bbb9938d8e5af4267069a80b462e6afb
3
+ metadata.gz: '09bc174946a4518203e74962640aec60f2638e70070ee1051837fb5f4e60f56f'
4
+ data.tar.gz: 543c50c4ff514634ba95c163181266b37ae56fe92955f4197cbae82e3de4c030
5
5
  SHA512:
6
- metadata.gz: 7fece26c0f93ff317797ce437a922b4ce071f620ca45a78d6a3d871fadb4857cf3eb54e95a5df38ff2690858c9fa247e94374be7e96e3d38cc6bd734546388aa
7
- data.tar.gz: 48e224a93526e8f8076873956d5d8a3b76fbc949fe3b2b901ae4e8d008f3b7663dea751a9586a8aed96ea909402113e5fc79fdab21656eb3581e39d54b7e6ef0
6
+ metadata.gz: a1bb6dadc1e45b2fa8da0a7d66660b3c332e6c7664efdb7c5159b8e638e479a6bfc669b62c1a872f3fcb520ac7fe52cfed05922612abcff58d4320ca08fb706a
7
+ data.tar.gz: e577296fa561fde3aef4bbb87c9792f26a411812b5dc1abbfcb369b9c7333c61eec09b4448f653c1fcd536ab48ee454ca90d07370f9b51d60413b55db518506c
data/README.md CHANGED
@@ -24,6 +24,8 @@ Then `bundle install`.
24
24
  | [BreadcrumbList](#breadcrumblist) | [schema.org/BreadcrumbList](https://schema.org/BreadcrumbList) |
25
25
  | [ListItem](#listitem) | [schema.org/ListItem](https://schema.org/ListItem) |
26
26
  | [Language](#language) | [schema.org/Language](https://schema.org/Language) |
27
+ | [WebApplication](#webapplication) | [schema.org/WebApplication](https://schema.org/WebApplication) |
28
+ | [Article](#article) | [schema.org/Article](https://schema.org/Article) |
27
29
 
28
30
  More types coming.
29
31
 
@@ -213,6 +215,93 @@ Arosa::Schemas::Language.new(
213
215
  )
214
216
  ```
215
217
 
218
+ ### WebApplication
219
+
220
+ | Property | Type |
221
+ |----------|------|
222
+ | name | String |
223
+ | description | String |
224
+ | url | String |
225
+ | image | String |
226
+ | application_category | String |
227
+ | application_sub_category | String |
228
+ | browser_requirements | String |
229
+ | operating_system | String |
230
+ | software_version | String |
231
+ | download_url | String |
232
+ | install_url | String |
233
+ | screenshot | Array of String |
234
+ | feature_list | Array of String |
235
+ | release_notes | String |
236
+ | permissions | String |
237
+ | software_requirements | String |
238
+ | same_as | Array of String |
239
+
240
+ ```ruby
241
+ Arosa::Schemas::WebApplication.new(
242
+ name: "Acme Task Manager",
243
+ description: "A web-based task management application",
244
+ url: "https://tasks.acme.com",
245
+ application_category: "BusinessApplication",
246
+ browser_requirements: "Requires JavaScript and HTML5 support",
247
+ software_version: "2.1.0",
248
+ feature_list: [
249
+ "Real-time collaboration",
250
+ "Calendar integration",
251
+ "Mobile-friendly interface"
252
+ ],
253
+ screenshot: [
254
+ "https://tasks.acme.com/screenshots/dashboard.png",
255
+ "https://tasks.acme.com/screenshots/calendar.png"
256
+ ]
257
+ )
258
+ ```
259
+
260
+ ### Article
261
+
262
+ | Property | Type |
263
+ |----------|------|
264
+ | name | String |
265
+ | url | String |
266
+ | image | String |
267
+ | same_as | Array of String |
268
+ | headline | String |
269
+ | alternative_headline | String |
270
+ | description | String |
271
+ | author | String |
272
+ | publisher | String |
273
+ | date_published | Date |
274
+ | date_modified | Date |
275
+ | date_created | Date |
276
+ | keywords | String |
277
+ | in_language | String |
278
+ | thumbnail_url | String |
279
+ | abstract | String |
280
+ | comment_count | Integer |
281
+ | copyright_holder | String |
282
+ | copyright_year | Integer |
283
+ | editor | String |
284
+ | genre | String |
285
+ | is_accessible_for_free | Boolean |
286
+ | license | String |
287
+ | article_section | String |
288
+ | word_count | Integer |
289
+
290
+ ```ruby
291
+ Arosa::Schemas::Article.new(
292
+ headline: "How to Tie a Reef Knot",
293
+ author: "John Doe",
294
+ date_published: Date.new(2026, 2, 26),
295
+ description: "A step-by-step guide to tying the classic reef knot.",
296
+ article_section: "Outdoors",
297
+ word_count: 1200,
298
+ image: "https://example.com/images/reef-knot.jpg",
299
+ keywords: "knots, sailing, outdoors",
300
+ in_language: "en",
301
+ is_accessible_for_free: true
302
+ )
303
+ ```
304
+
216
305
  ## Validation
217
306
 
218
307
  Wrong types and unknown properties raise errors immediately:
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Arosa
4
+ module Schemas
5
+ # Schema.org Article type
6
+ #
7
+ # https://schema.org/Article
8
+ class Article < Schema
9
+ schema_type "Article"
10
+
11
+ property :name, type: String
12
+ property :url, type: String
13
+ property :image, type: String
14
+ property :same_as, type: [String]
15
+ property :headline, type: String
16
+ property :alternative_headline, type: String
17
+ property :description, type: String
18
+ property :author, type: String
19
+ property :publisher, type: String
20
+ property :date_published, type: Date
21
+ property :date_modified, type: Date
22
+ property :date_created, type: Date
23
+ property :keywords, type: String
24
+ property :in_language, type: String
25
+ property :thumbnail_url, type: String
26
+ property :abstract, type: String
27
+ property :comment_count, type: Integer
28
+ property :copyright_holder, type: String
29
+ property :copyright_year, type: Integer
30
+ property :editor, type: String
31
+ property :genre, type: String
32
+ property :is_accessible_for_free
33
+ property :license, type: String
34
+ property :article_section, type: String
35
+ property :word_count, type: Integer
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Arosa
4
+ module Schemas
5
+ # Schema.org WebApplication type
6
+ #
7
+ # https://schema.org/WebApplication
8
+ class WebApplication < Schema
9
+ schema_type "WebApplication"
10
+
11
+ property :name, type: String
12
+ property :description, type: String
13
+ property :url, type: String
14
+ property :image, type: String
15
+ property :application_category, type: String
16
+ property :application_sub_category, type: String
17
+ property :browser_requirements, type: String
18
+ property :operating_system, type: String
19
+ property :software_version, type: String
20
+ property :download_url, type: String
21
+ property :install_url, type: String
22
+ property :screenshot, type: [String]
23
+ property :feature_list, type: [String]
24
+ property :release_notes, type: String
25
+ property :permissions, type: String
26
+ property :software_requirements, type: String
27
+ property :same_as, type: [String]
28
+ end
29
+ end
30
+ end
data/lib/arosa/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Arosa
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.3"
5
5
  end
data/lib/arosa.rb CHANGED
@@ -12,6 +12,8 @@ require_relative "arosa/schemas/contact_point"
12
12
  require_relative "arosa/schemas/organization"
13
13
  require_relative "arosa/schemas/list_item"
14
14
  require_relative "arosa/schemas/breadcrumb_list"
15
+ require_relative "arosa/schemas/web_application"
16
+ require_relative "arosa/schemas/article"
15
17
 
16
18
  module Arosa
17
19
  class Error < StandardError; end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arosa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuenti
@@ -22,12 +22,14 @@ files:
22
22
  - Rakefile
23
23
  - lib/arosa.rb
24
24
  - lib/arosa/schema.rb
25
+ - lib/arosa/schemas/article.rb
25
26
  - lib/arosa/schemas/breadcrumb_list.rb
26
27
  - lib/arosa/schemas/contact_point.rb
27
28
  - lib/arosa/schemas/language.rb
28
29
  - lib/arosa/schemas/list_item.rb
29
30
  - lib/arosa/schemas/organization.rb
30
31
  - lib/arosa/schemas/postal_address.rb
32
+ - lib/arosa/schemas/web_application.rb
31
33
  - lib/arosa/version.rb
32
34
  - sig/arosa.rbs
33
35
  homepage: https://github.com/samuenti/arosa