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
         
     |