kagaribi 0.1.0 → 0.1.1
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/CHANGELOG.md +7 -1
- data/README.md +16 -0
- data/lib/kagaribi/collection.rb +25 -4
- data/lib/kagaribi/version.rb +1 -1
- data/sig/kagaribi/collection.rbs +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6341d635aacd9883dd113c02dd8d96494a1f7cbc52e727f521fa25210dbc4951
|
4
|
+
data.tar.gz: 4cc8aa1c3c4243a403c0a7299313063c20be62eb534b02c8f59a1c1b0f8dea85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f91c7d409d479cb25648a2cf873751a9d9c30c009ea4053593802a7eb1a05a4d8d9ba080ec80a666759cc2563ff8fee19431d454876f536db416403abc2ad33e
|
7
|
+
data.tar.gz: 04e176fa8b69703742932bde47be84b3c6e969ee8f9c41dc375fb2cda5e134e5201c92065c6c0b1e1a70655d0b48c8b19188144a08c719a95aff2b1b70102149
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
## [Unreleased]
|
2
|
-
[full changelog](http://github.com/sue445/kagaribi/compare/v0.1.
|
2
|
+
[full changelog](http://github.com/sue445/kagaribi/compare/v0.1.1...main)
|
3
|
+
|
4
|
+
## [0.1.1] - 2024-05-12
|
5
|
+
[full changelog](http://github.com/sue445/kagaribi/compare/v0.1.0...v0.1.1)
|
6
|
+
|
7
|
+
- Add missing rbs
|
8
|
+
- https://github.com/sue445/kagaribi/pull/18
|
3
9
|
|
4
10
|
## [0.1.0] - 2024-05-11
|
5
11
|
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Kagaribi(篝火) :fire:
|
2
2
|
Simple client for [Cloud Firestore](https://cloud.google.com/firestore)
|
3
3
|
|
4
|
+
[](https://badge.fury.io/rb/kagaribi)
|
4
5
|
[](https://github.com/sue445/kagaribi/actions/workflows/test.yml)
|
5
6
|
|
6
7
|
## Installation
|
@@ -22,13 +23,28 @@ Pass environment variables for Firestore authentication
|
|
22
23
|
|
23
24
|
see https://cloud.google.com/ruby/docs/reference/google-cloud-firestore/latest/AUTHENTICATION
|
24
25
|
|
26
|
+
### Requirements
|
27
|
+
Firestore CRUD(Create/Read/Update/Delete) requires at least the following IAM Role
|
28
|
+
|
29
|
+
* [Cloud Datastore User](https://cloud.google.com/iam/docs/understanding-roles#datastore.user) (`roles/datastore.user`)
|
30
|
+
|
25
31
|
### Simple usage
|
26
32
|
```ruby
|
27
33
|
require "kagaribi"
|
28
34
|
|
29
35
|
collection = Kagaribi.collection("users")
|
30
36
|
|
37
|
+
# or
|
38
|
+
|
39
|
+
class UsersCollection < Kagaribi::Collection
|
40
|
+
def initialize
|
41
|
+
super("users")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
collection = UsersCollection.new
|
45
|
+
|
31
46
|
collection.set("sue445", name: "sue445", url: "https://github.com/sue445")
|
47
|
+
#=> document is stored in a key named "users/sue445" to Firestore collection
|
32
48
|
|
33
49
|
collection.get("sue445")
|
34
50
|
#=> { name: "sue445", url: "https://github.com/sue445" }
|
data/lib/kagaribi/collection.rb
CHANGED
@@ -1,24 +1,45 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Kagaribi
|
4
|
+
# Manage a Firestore collection
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
# require "kagaribi"
|
8
|
+
#
|
9
|
+
# collection = Kagaribi.collection("users")
|
10
|
+
#
|
11
|
+
# # or
|
12
|
+
#
|
13
|
+
# class UsersCollection < Kagaribi::Collection
|
14
|
+
# def initialize
|
15
|
+
# super("users")
|
16
|
+
# end
|
17
|
+
# end
|
18
|
+
# collection = UsersCollection.new
|
19
|
+
#
|
20
|
+
# collection.set("sue445", name: "sue445", url: "https://github.com/sue445")
|
21
|
+
# #=> document is stored in a key named "users/sue445" to Firestore collection
|
22
|
+
#
|
23
|
+
# collection.get("sue445")
|
24
|
+
# #=> { name: "sue445", url: "https://github.com/sue445" }
|
4
25
|
class Collection
|
5
26
|
MAX_RETRY_COUNT = 5
|
6
27
|
|
7
28
|
# @!attribute [r] collection_name
|
8
|
-
#
|
29
|
+
# @return [String]
|
9
30
|
attr_reader :collection_name
|
10
31
|
|
11
32
|
# @!attribute [r] database_id
|
12
|
-
#
|
33
|
+
# @return [String,nil]
|
13
34
|
attr_reader :database_id
|
14
35
|
|
15
36
|
# @!attribute [r] logger
|
16
|
-
#
|
37
|
+
# @return [Logger]
|
17
38
|
attr_reader :logger
|
18
39
|
|
19
40
|
# @param collection_name [String]
|
20
41
|
# @param database_id [String,nil] Identifier for a Firestore database. If not present, the default database of the project is used.
|
21
|
-
# @param logger [Logger] default is `STDOUT` Logger
|
42
|
+
# @param logger [Logger,nil] default is `STDOUT` Logger
|
22
43
|
def initialize(collection_name, database_id: nil, logger: nil)
|
23
44
|
@collection_name = collection_name
|
24
45
|
@database_id = database_id
|
data/lib/kagaribi/version.rb
CHANGED
data/sig/kagaribi/collection.rbs
CHANGED
@@ -13,6 +13,7 @@ module Kagaribi
|
|
13
13
|
|
14
14
|
def initialize: (String collection_name, ?database_id: string?, ?logger: Logger?) -> void
|
15
15
|
def set: (String doc_key, Hash[untyped, untyped] data) -> void
|
16
|
+
def update: (String doc_key, Hash[untyped, untyped] data) -> void
|
16
17
|
def get: (String doc_key) -> Hash[Symbol, untyped]
|
17
18
|
def exists?: (String doc_key) -> bool
|
18
19
|
def delete: (String doc_key) -> void
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kagaribi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sue445
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-cloud-firestore
|