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 +4 -4
- data/README.md +89 -0
- data/lib/arosa/schemas/article.rb +38 -0
- data/lib/arosa/schemas/web_application.rb +30 -0
- data/lib/arosa/version.rb +1 -1
- data/lib/arosa.rb +2 -0
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '09bc174946a4518203e74962640aec60f2638e70070ee1051837fb5f4e60f56f'
|
|
4
|
+
data.tar.gz: 543c50c4ff514634ba95c163181266b37ae56fe92955f4197cbae82e3de4c030
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
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.
|
|
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
|