discovery_v1 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.
- checksums.yaml +4 -4
- data/.commitlintrc.yml +16 -0
- data/.husky/commit-msg +1 -0
- data/.markdownlint.yml +25 -0
- data/.rubocop.yml +5 -34
- data/.yardopts +8 -0
- data/CHANGELOG.md +25 -0
- data/LICENSE.txt +1 -1
- data/README.md +62 -1
- data/Rakefile +2 -10
- data/lib/discovery_v1/version.rb +1 -1
- data/package.json +11 -0
- metadata +50 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fde1c6614a635f843b6571f3aded90f26b1d1c5468b6aca77dbf593ce8ca9171
|
4
|
+
data.tar.gz: '0945b34e86bee4f36fb0a74caa6a60d65dac2e4dc0e77d4c5b68af80d2cc9338'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: acec4cd8de56990b8b2ddb940c7f18d9e64f7dbd40d565083d6eabf8560101fe0852aa069427693de7db466d2448d8ba7181882150dd30b2a9e8471d138647c9
|
7
|
+
data.tar.gz: 7f86e5a69c105cf89627245428ea5f8a5317979e1c4a24e6505497ba45a2d08ed10a853e946f077b373359855b5fcaa9b1fbde444e066f4238bea1d4198395b8
|
data/.commitlintrc.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
extends: '@commitlint/config-conventional'
|
3
|
+
|
4
|
+
rules:
|
5
|
+
# See: https://commitlint.js.org/reference/rules.html
|
6
|
+
#
|
7
|
+
# Rules are made up by a name and a configuration array. The configuration array contains:
|
8
|
+
#
|
9
|
+
# * Severity [0..2]: 0 disable rule, 1 warning if violated, or 2 error if violated
|
10
|
+
# * Applicability [always|never]: never inverts the rule
|
11
|
+
# * Value: value to use for this rule
|
12
|
+
#
|
13
|
+
# Run `npx commitlint --print-config` to see the current setting for all rules.
|
14
|
+
#
|
15
|
+
body-leading-blank: [2, 'always']
|
16
|
+
footer-leading-blank: [2, 'always']
|
data/.husky/commit-msg
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
npx --no-install commitlint --edit "$1"
|
data/.markdownlint.yml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
default: true
|
2
|
+
|
3
|
+
# Unordered list indentation
|
4
|
+
MD007: { indent: 2 }
|
5
|
+
|
6
|
+
# Line length
|
7
|
+
MD013: { line_length: 90, tables: false, code_blocks: false }
|
8
|
+
|
9
|
+
# Heading duplication is allowed for non-sibling headings
|
10
|
+
MD024: { siblings_only: true }
|
11
|
+
|
12
|
+
# Do not allow the specified trailing punctuation in a header
|
13
|
+
MD026: { punctuation: '.,;:' }
|
14
|
+
|
15
|
+
# Order list items must have a prefix that increases in numerical order
|
16
|
+
MD029: { style: 'ordered' }
|
17
|
+
|
18
|
+
# Lists do not need to be surrounded by blank lines
|
19
|
+
MD032: false
|
20
|
+
|
21
|
+
# Allow raw HTML in Markdown
|
22
|
+
MD033: false
|
23
|
+
|
24
|
+
# Allow emphasis to be used instead of a heading
|
25
|
+
MD036: false
|
data/.rubocop.yml
CHANGED
@@ -1,36 +1,7 @@
|
|
1
|
+
inherit_gem:
|
2
|
+
main_branch_shared_rubocop_config: config/rubocop.yml
|
3
|
+
|
1
4
|
AllCops:
|
2
|
-
|
3
|
-
#
|
4
|
-
DisplayCopNames: true
|
5
|
-
DisplayStyleGuide: true
|
6
|
-
ExtraDetails: true
|
7
|
-
SuggestExtensions: false
|
8
|
-
# RuboCop enforces rules depending on the oldest version of Ruby which
|
9
|
-
# your project supports:
|
5
|
+
# Pin this project to Ruby 3.1 in case the shared config above is upgraded to 3.2
|
6
|
+
# or later.
|
10
7
|
TargetRubyVersion: 3.1
|
11
|
-
|
12
|
-
Gemspec/DevelopmentDependencies:
|
13
|
-
EnforcedStyle: gemspec
|
14
|
-
|
15
|
-
# The default max line length is 80 characters
|
16
|
-
Layout/LineLength:
|
17
|
-
Max: 120
|
18
|
-
|
19
|
-
# The DSL for RSpec and the gemspec file make it very hard to limit block length:
|
20
|
-
Metrics/BlockLength:
|
21
|
-
Exclude:
|
22
|
-
- "spec/spec_helper.rb"
|
23
|
-
- "spec/**/*_spec.rb"
|
24
|
-
- "*.gemspec"
|
25
|
-
|
26
|
-
Metrics/ModuleLength:
|
27
|
-
CountAsOne: ['hash']
|
28
|
-
|
29
|
-
# When writing minitest tests, it is very hard to limit test class length:
|
30
|
-
Metrics/ClassLength:
|
31
|
-
CountAsOne: ['hash']
|
32
|
-
Exclude:
|
33
|
-
- "test/**/*_test.rb"
|
34
|
-
|
35
|
-
Style/AsciiComments:
|
36
|
-
Enabled: false
|
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,31 @@ Changes for each release are listed in this file.
|
|
4
4
|
|
5
5
|
This project adheres to [Semantic Versioning](https://semver.org/) for its releases.
|
6
6
|
|
7
|
+
## v0.2.0 (2024-10-11)
|
8
|
+
|
9
|
+
[Full Changelog](https://github.com/main-branch/discovery_v1/compare/v0.1.0..v0.2.0)
|
10
|
+
|
11
|
+
Changes since v0.1.0:
|
12
|
+
|
13
|
+
* fbd2c75 build: remove semver pr label check
|
14
|
+
* 9234cb0 build: enforce conventional commit message formatting
|
15
|
+
* 70c72f9 Use shared Rubocop config (#16)
|
16
|
+
* 101cb6c Update copyright notice in this project (#15)
|
17
|
+
* 32986c4 Update links in gemspec (#14)
|
18
|
+
* ee4305f Add Slack badge for this project in README (#13)
|
19
|
+
* 1e05724 Use standard badges at the top of the README (#12)
|
20
|
+
* 02ec62a Update yardopts with new standard options (#11)
|
21
|
+
* 8b65f81 Standardize YARD and Markdown Lint configurations (#10)
|
22
|
+
* d105374 Update CODEOWNERS file (#9)
|
23
|
+
* 870934e Set JRuby --debug option when running tests in GitHub Actions workflows (#8)
|
24
|
+
* 351659c Integrate simplecov-rspec into the project (#7)
|
25
|
+
* 3ca83ee Update continuous integration and experimental ruby builds (#6)
|
26
|
+
* cb454b8 Enforce the use of semver tags on PRs (#5)
|
27
|
+
* 68d0136 Auto correct rubocop Gemspec/AddRuntimeDependency offense (#4)
|
28
|
+
* 5c4115a Add links to other gems in the Google API helpers series (#3)
|
29
|
+
* 2aa6534 Merge pull request #2 from main-branch/document_extensions
|
30
|
+
* 92d158c Document extensions to Google::Apis::DiscoveryV1 classes
|
31
|
+
|
7
32
|
## v0.1.0 (2023-11-21)
|
8
33
|
|
9
34
|
[Full Changelog](https://github.com/main-branch/discovery_v1/compare/6e9fb12..v0.1.0)
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -3,12 +3,24 @@
|
|
3
3
|
[](https://badge.fury.io/rb/discovery_v1)
|
4
4
|
[](https://rubydoc.info/gems/discovery_v1/)
|
5
5
|
[](https://rubydoc.info/gems/discovery_v1/file/CHANGELOG.md)
|
6
|
-
[](https://github.com/main-branch/discovery_v1/actions/workflows/continuous_integration.yml)
|
7
7
|
[](https://codeclimate.com/github/main-branch/discovery_v1/maintainability)
|
8
8
|
[](https://codeclimate.com/github/main-branch/discovery_v1/test_coverage)
|
9
|
+
[](https://conventionalcommits.org)
|
11
|
+
[](https://main-branch.slack.com/archives/C07MT5MG7V1)
|
9
12
|
|
10
13
|
Unofficial helpers and extensions for the Google Discovery V1 API
|
11
14
|
|
15
|
+
Gems in the Google API helper, extensions, and examples series:
|
16
|
+
|
17
|
+
* [discovery_v1](https://github.com/main-branch/discovery_v1)
|
18
|
+
* [drive_v3](https://github.com/main-branch/drive_v3)
|
19
|
+
* [sheets_v4](https://github.com/main-branch/sheets_v4)
|
20
|
+
|
21
|
+
## Contents
|
22
|
+
|
23
|
+
* [Contents](#contents)
|
12
24
|
* [Installation](#installation)
|
13
25
|
* [Examples](#examples)
|
14
26
|
* [Important links](#important-links)
|
@@ -19,8 +31,12 @@ Unofficial helpers and extensions for the Google Discovery V1 API
|
|
19
31
|
* [Obtaining a DiscoveryService](#obtaining-a-discoveryservice)
|
20
32
|
* [Downloading an API discovery document](#downloading-an-api-discovery-document)
|
21
33
|
* [Validating API objects](#validating-api-objects)
|
34
|
+
* [Google Extensions](#google-extensions)
|
35
|
+
* [RestDescription Extensions](#restdescription-extensions)
|
22
36
|
* [Development](#development)
|
23
37
|
* [Contributing](#contributing)
|
38
|
+
* [Commit message guidelines](#commit-message-guidelines)
|
39
|
+
* [Pull request guidelines](#pull-request-guidelines)
|
24
40
|
* [License](#license)
|
25
41
|
* [Code of Conduct](#code-of-conduct)
|
26
42
|
|
@@ -159,6 +175,26 @@ will raise a RuntimeError noting where the object structure did not conform to
|
|
159
175
|
the schema. `RuntimeError#message` will give details about where the structure did
|
160
176
|
not conform.
|
161
177
|
|
178
|
+
### Google Extensions
|
179
|
+
|
180
|
+
The `DiscoveryV1::GoogleExtensions` module provides extensions to the `Google::Apis::DiscoveryV1`
|
181
|
+
modules and classes to simplify use of the SheetsV4 API.
|
182
|
+
|
183
|
+
These extensions are not loaded by default and are not required to use other parts
|
184
|
+
of this Gem. To enable these extension, you must:
|
185
|
+
|
186
|
+
```Ruby
|
187
|
+
require 'discovery_v1/google_extensions'
|
188
|
+
```
|
189
|
+
|
190
|
+
#### RestDescription Extensions
|
191
|
+
|
192
|
+
Convenience methods are been added to `Google::Apis::DiscoveryV1::RestDescription`:
|
193
|
+
* [RestDescription#object_schema_names](https://rubydoc.info/gems/discovery_v1/Google/Apis/DiscoveryV1/RestDescription#object_schema_names-instance_method):
|
194
|
+
The names of the schemas defined by this `RestDescription`.
|
195
|
+
* [RestDescription#validate_object](https://rubydoc.info/gems/discovery_v1/Google/Apis/DiscoveryV1/RestDescription#validate_object-instance_method):
|
196
|
+
Raises an error if the given object does not conform to the named schema.
|
197
|
+
|
162
198
|
## Development
|
163
199
|
|
164
200
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -169,6 +205,31 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
169
205
|
|
170
206
|
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/discovery_v1. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/discovery_v1/blob/main/CODE_OF_CONDUCT.md).
|
171
207
|
|
208
|
+
### Commit message guidelines
|
209
|
+
|
210
|
+
All commit messages must follow the [Conventional Commits
|
211
|
+
standard](https://www.conventionalcommits.org/en/v1.0.0/). This helps us maintain a
|
212
|
+
clear and structured commit history, automate versioning, and generate changelogs
|
213
|
+
effectively.
|
214
|
+
|
215
|
+
To ensure compliance, this project includes:
|
216
|
+
|
217
|
+
* A git commit-msg hook that validates your commit messages before they are accepted.
|
218
|
+
|
219
|
+
To activate the hook, you must have node installed and run `npm install`.
|
220
|
+
|
221
|
+
* A GitHub Actions workflow that will enforce the Conventional Commit standard as
|
222
|
+
part of the continuous integration pipeline.
|
223
|
+
|
224
|
+
Any commit message that does not conform to the Conventional Commits standard will
|
225
|
+
cause the workflow to fail and not allow the PR to be merged.
|
226
|
+
|
227
|
+
### Pull request guidelines
|
228
|
+
|
229
|
+
All pull requests must be merged using rebase merges. This ensures that commit
|
230
|
+
messages from the feature branch are preserved in the release branch, keeping the
|
231
|
+
history clean and meaningful.
|
232
|
+
|
172
233
|
## License
|
173
234
|
|
174
235
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
CHANGED
@@ -48,17 +48,9 @@ CLEAN << 'rspec-report.xml'
|
|
48
48
|
|
49
49
|
require 'rubocop/rake_task'
|
50
50
|
|
51
|
-
RuboCop::RakeTask.new
|
52
|
-
t.options = %w[
|
53
|
-
--display-cop-names
|
54
|
-
--display-style-guide
|
55
|
-
--extra-details
|
56
|
-
--format progress
|
57
|
-
--format json --out rubocop-report.json
|
58
|
-
]
|
59
|
-
end
|
51
|
+
RuboCop::RakeTask.new
|
60
52
|
|
61
|
-
|
53
|
+
# YARD
|
62
54
|
|
63
55
|
unless RUBY_PLATFORM == 'java'
|
64
56
|
# yard:build
|
data/lib/discovery_v1/version.rb
CHANGED
data/package.json
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discovery_v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Couball
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler-audit
|
@@ -30,56 +30,70 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1
|
33
|
+
version: '2.1'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1
|
40
|
+
version: '2.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: main_branch_shared_rubocop_config
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.1'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.1'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '13.
|
61
|
+
version: '13.2'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '13.
|
68
|
+
version: '13.2'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rspec
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: '3.
|
75
|
+
version: '3.13'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: '3.
|
82
|
+
version: '3.13'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rubocop
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: '1.
|
89
|
+
version: '1.66'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
96
|
+
version: '1.66'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: simplecov
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +122,20 @@ dependencies:
|
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0.8'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: simplecov-rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0.3'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.3'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: redcarpet
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,28 +218,28 @@ dependencies:
|
|
190
218
|
requirements:
|
191
219
|
- - "~>"
|
192
220
|
- !ruby/object:Gem::Version
|
193
|
-
version: '0.
|
221
|
+
version: '0.19'
|
194
222
|
type: :runtime
|
195
223
|
prerelease: false
|
196
224
|
version_requirements: !ruby/object:Gem::Requirement
|
197
225
|
requirements:
|
198
226
|
- - "~>"
|
199
227
|
- !ruby/object:Gem::Version
|
200
|
-
version: '0.
|
228
|
+
version: '0.19'
|
201
229
|
- !ruby/object:Gem::Dependency
|
202
230
|
name: json_schemer
|
203
231
|
requirement: !ruby/object:Gem::Requirement
|
204
232
|
requirements:
|
205
233
|
- - "~>"
|
206
234
|
- !ruby/object:Gem::Version
|
207
|
-
version: '2.
|
235
|
+
version: '2.3'
|
208
236
|
type: :runtime
|
209
237
|
prerelease: false
|
210
238
|
version_requirements: !ruby/object:Gem::Requirement
|
211
239
|
requirements:
|
212
240
|
- - "~>"
|
213
241
|
- !ruby/object:Gem::Version
|
214
|
-
version: '2.
|
242
|
+
version: '2.3'
|
215
243
|
description: Unofficial helpers and extensions for the Google Discovery V1 API
|
216
244
|
email:
|
217
245
|
- jcouball@yahoo.com
|
@@ -219,8 +247,12 @@ executables: []
|
|
219
247
|
extensions: []
|
220
248
|
extra_rdoc_files: []
|
221
249
|
files:
|
250
|
+
- ".commitlintrc.yml"
|
251
|
+
- ".husky/commit-msg"
|
252
|
+
- ".markdownlint.yml"
|
222
253
|
- ".rspec"
|
223
254
|
- ".rubocop.yml"
|
255
|
+
- ".yardopts"
|
224
256
|
- CHANGELOG.md
|
225
257
|
- CODE_OF_CONDUCT.md
|
226
258
|
- LICENSE.txt
|
@@ -237,6 +269,7 @@ files:
|
|
237
269
|
- lib/discovery_v1/validation/traverse_object_tree.rb
|
238
270
|
- lib/discovery_v1/validation/validate_object.rb
|
239
271
|
- lib/discovery_v1/version.rb
|
272
|
+
- package.json
|
240
273
|
- sig/discovery_v1.rbs
|
241
274
|
homepage: https://github.com/main-branch/discovery_v1
|
242
275
|
licenses:
|
@@ -245,7 +278,8 @@ metadata:
|
|
245
278
|
allowed_push_host: https://rubygems.org
|
246
279
|
homepage_uri: https://github.com/main-branch/discovery_v1
|
247
280
|
source_code_uri: https://github.com/main-branch/discovery_v1
|
248
|
-
|
281
|
+
documentation_uri: https://rubydoc.info/gems/discovery_v1/0.2.0
|
282
|
+
changelog_uri: https://rubydoc.info/gems/discovery_v1/0.2.0/file/CHANGELOG.md
|
249
283
|
rubygems_mfa_required: 'true'
|
250
284
|
post_install_message:
|
251
285
|
rdoc_options: []
|
@@ -262,7 +296,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
262
296
|
- !ruby/object:Gem::Version
|
263
297
|
version: '0'
|
264
298
|
requirements: []
|
265
|
-
rubygems_version: 3.
|
299
|
+
rubygems_version: 3.5.16
|
266
300
|
signing_key:
|
267
301
|
specification_version: 4
|
268
302
|
summary: Unofficial helpers and extensions for the Google Discovery V1 API
|