schema_dot_org 0.3.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4bd245f102143fc57e4bf985a21e2ae949b84fb167cd8c4f7493a1b7a51a60a9
4
- data.tar.gz: 56f992158f40aa238b21db445f271c2003d2951487dcbf7ae877b7d960bbe234
3
+ metadata.gz: 93bc15aae93a080fe09852b3299ea6f81eba62d760b198ce84b4df685d771f55
4
+ data.tar.gz: 6cfe3d6685e94eb4a53ea84a9c5060409621d2efb9303736017fe41da4178699
5
5
  SHA512:
6
- metadata.gz: bdf3de02430450ea2d6485f70db9d596f7d106bd8a026976381a5807f61209f947e0c5d451acde42fd0bcbbb2852fbad676b8aa7f2a0d9c4f5a5671b59bc8619
7
- data.tar.gz: f63ed74bab57639271bcf92f73bd391ba7660a3a59a6d0c55332a72ccbb2b79e406c04d4012a7b547ee3e1a3887bfa9424a44f916360d89d47b88a9219193657
6
+ metadata.gz: bdf06df8bb7eb6670c8fd4a895e9c25355a550de4fc6fa5cc43700c3ab374fda20b2380f6ef31daeadbc8ef27f0cdb49a60887a5be2c0bc24b3cfcd778b39fcf
7
+ data.tar.gz: '04837cee51efa5f56cedadd141d24e99d60832307be1c7792b5eb72cc4ba9b030620fd8e3c3f8fbfb5de9730f8c8d117ec9f1cfec189228697d01bf1e259313f'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- schema_dot_org (0.2.0)
4
+ schema_dot_org (0.3.0)
5
5
  validated_object
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -21,6 +21,7 @@ include SchemaDotOrg
21
21
  org.name = "Public.Law"
22
22
  org.email = "say_hi@public.law"
23
23
  org.url = "https://www.public.law"
24
+ org.founding_date = Date.new(2009, 3, 6)
24
25
  org.founding_location = Place.new do |place|
25
26
  place.address = "Portland, OR"
26
27
  end
@@ -31,7 +32,7 @@ end
31
32
  <%= @public_law %>
32
33
  ```
33
34
 
34
- The generated webpage will contain correct Schema.org JSON-LD markup:
35
+ SchemaDotOrg will validate your code, and if correct, will generate Schema.org JSON-LD markup:
35
36
 
36
37
  ```html
37
38
  <script type="application/ld+json">
@@ -41,12 +42,18 @@ The generated webpage will contain correct Schema.org JSON-LD markup:
41
42
  "name": "Public.Law",
42
43
  "email": "say_hi@public.law",
43
44
  "url": "https://www.public.law",
45
+ "foundingDate": "2009-03-06",
44
46
  "foundingLocation": {
45
47
  "@type": "Place",
46
48
  "address": "Portland, OR"
47
49
  }
50
+ </script>
48
51
  ```
49
52
 
53
+ Notice how the `foundingDate` is in the required ISO-8601 format. The attribute requires a Ruby
54
+ `Date` and so can ensure correct formatting. In the same way, the `foundingLocation` is a `Place`
55
+ which adds the proper `@type` attribute.
56
+
50
57
  ### You cannot create invalid markup
51
58
 
52
59
  E.g., If you use the wrong type or try to set an unknown attribute, SchemaDotOrg will
@@ -102,14 +109,13 @@ but also _semantically_ correct. It should, e.g., ensure that only allowed
102
109
  attributes are used.
103
110
 
104
111
  ## Schema Development Roadmap
105
-
106
112
  | Type | Planned | Completed |
107
113
  | ---- |:-------:|:---------:|
108
- | Place | X | X |
109
- | Person | X |
110
- | Organization | X |
111
- | Date | X |
112
- | URL | X |
114
+ | [Place](http://schema.org/Place) | X | X |
115
+ | [Person](http://schema.org/Person) | X |
116
+ | [Organization](http://schema.org/Organization) | X |
117
+ | [Date](http://schema.org/Date) | X |
118
+ | [URL](http://schema.org/URL) | X |
113
119
 
114
120
  The plan is to implement a small subset of types and attributes relevant to the Google web crawler.
115
121
  Propose new types and attributes by opening an Issue.
@@ -1,11 +1,13 @@
1
+ require 'date'
1
2
  require 'schema_dot_org'
2
3
 
3
4
 
4
5
  module SchemaDotOrg
5
6
  class Organization < SchemaType
6
- attr_accessor :founding_location, :email, :name, :url
7
+ attr_accessor :founding_date, :founding_location, :email, :name, :url
7
8
 
8
9
  validates :email, type: String
10
+ validates :founding_date, type: Date
9
11
  validates :founding_location, type: Place
10
12
  validates :name, type: String
11
13
  validates :url, type: String
@@ -16,6 +18,7 @@ module SchemaDotOrg
16
18
  "name" => name,
17
19
  "email" => email,
18
20
  "url" => url,
21
+ "foundingDate" => founding_date.to_s,
19
22
  "foundingLocation" => founding_location.to_json_struct
20
23
  }
21
24
  end
@@ -1,3 +1,3 @@
1
1
  module SchemaDotOrg
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/test-script.rb CHANGED
@@ -1,12 +1,15 @@
1
+ require 'date'
2
+
1
3
  require 'schema_dot_org/place'
2
4
  require 'schema_dot_org/organization'
3
5
  include SchemaDotOrg
4
6
 
5
7
 
6
8
  public_law = Organization.new do |org|
7
- org.name = "Public.Law"
9
+ org.name = "Public.Law"
10
+ org.founding_date = Date.new(2009, 3, 6)
8
11
  org.email = "say_hi@public.law"
9
- org.url = "https://www.public.law"
12
+ org.url = "https://www.public.law"
10
13
  org.founding_location = Place.new do |place|
11
14
  place.address = "Portland, OR"
12
15
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_dot_org
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robb Shecter