stream-chat-ruby 2.16.0 → 2.17.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/.github/workflows/ci.yml +12 -4
- data/.github/workflows/initiate_release.yml +47 -0
- data/.github/workflows/release.yml +40 -0
- data/.gitignore +2 -1
- data/.rubocop.yml +3 -3
- data/.versionrc.js +16 -0
- data/CHANGELOG.md +14 -3
- data/Gemfile +1 -0
- data/README.md +10 -6
- data/lib/stream-chat/channel.rb +3 -2
- data/lib/stream-chat/client.rb +2 -2
- data/lib/stream-chat/version.rb +1 -1
- data/scripts/get_changelog_diff.js +26 -0
- data/stream-chat.gemspec +1 -1
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b89ec4be90e50aefec0c944f7dcd33ea5cca18b709f431467f20e44a303b7bfe
|
4
|
+
data.tar.gz: a94ca94e1c4144f9bdc699d694a55f88ab1a1f46306941ffa912573af45a2bb7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9a030a478585db63eaccc77cfe5375610afe83c2a4858f6e5f3965ad0802f08a2eba9a949f66bc3bf7e89dd8b8211098d782e9096b83b1ed946a3a113704d72
|
7
|
+
data.tar.gz: b7d4e530a4a5599fce27c56d18b2689980a5aae0153290aa0065bf9e2efde674555693c3ebfb19a27eeba28f238b80814b5679afb8fb81dd1c0062a0ec0d46bd
|
data/.github/workflows/ci.yml
CHANGED
@@ -8,18 +8,26 @@ jobs:
|
|
8
8
|
strategy:
|
9
9
|
max-parallel: 1
|
10
10
|
matrix:
|
11
|
-
ruby: ['2.5', '2.6', '2.7', '3.0']
|
12
|
-
name: Ruby ${{ matrix.ruby }}
|
11
|
+
ruby: ['2.5', '2.6', '2.7', '3.0', '3.1']
|
12
|
+
name: 💎 Ruby ${{ matrix.ruby }}
|
13
13
|
steps:
|
14
14
|
- uses: actions/checkout@v2
|
15
|
+
with:
|
16
|
+
fetch-depth: 0 # gives the commit linter access to previous commits
|
17
|
+
|
18
|
+
- name: Commit message linter
|
19
|
+
if: ${{ matrix.ruby == '2.5' }}
|
20
|
+
uses: wagoid/commitlint-github-action@v4
|
21
|
+
|
15
22
|
- uses: ruby/setup-ruby@v1
|
16
23
|
with:
|
17
24
|
ruby-version: ${{ matrix.ruby }}
|
18
25
|
bundler-cache: true
|
19
26
|
|
20
27
|
- run: bundle exec rake rubocop
|
21
|
-
|
28
|
+
|
29
|
+
- run: bundle exec rake test
|
30
|
+
env:
|
22
31
|
STREAM_CHAT_API_KEY: ${{ secrets.STREAM_CHAT_API_KEY }}
|
23
32
|
STREAM_CHAT_API_SECRET: ${{ secrets.STREAM_CHAT_API_SECRET }}
|
24
33
|
STREAM_CHAT_API_HOST: ${{ secrets.STREAM_CHAT_API_HOST }}
|
25
|
-
run: bundle exec rake test
|
@@ -0,0 +1,47 @@
|
|
1
|
+
name: Create release PR
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
inputs:
|
6
|
+
version:
|
7
|
+
description: "The new version number with 'v' prefix. Example: v1.40.1"
|
8
|
+
required: true
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
init_release:
|
12
|
+
name: 🚀 Create release PR
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v2
|
16
|
+
with:
|
17
|
+
fetch-depth: 0 # gives the changelog generator access to all previous commits
|
18
|
+
|
19
|
+
- name: Update CHANGELOG.md, version.rb and push release branch
|
20
|
+
env:
|
21
|
+
VERSION: ${{ github.event.inputs.version }}
|
22
|
+
run: |
|
23
|
+
npx --yes standard-version@9.3.2 --release-as "$VERSION" --skip.tag --skip.commit --tag-prefix=v
|
24
|
+
git config --global user.name 'github-actions'
|
25
|
+
git config --global user.email 'release@getstream.io'
|
26
|
+
git checkout -q -b "release-$VERSION"
|
27
|
+
git commit -am "chore(release): $VERSION"
|
28
|
+
git push -q -u origin "release-$VERSION"
|
29
|
+
|
30
|
+
- name: Get changelog diff
|
31
|
+
uses: actions/github-script@v5
|
32
|
+
with:
|
33
|
+
script: |
|
34
|
+
const get_change_log_diff = require('./scripts/get_changelog_diff.js')
|
35
|
+
core.exportVariable('CHANGELOG', get_change_log_diff())
|
36
|
+
|
37
|
+
- name: Open pull request
|
38
|
+
env:
|
39
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
40
|
+
run: |
|
41
|
+
gh pr create \
|
42
|
+
-t "Release ${{ github.event.inputs.version }}" \
|
43
|
+
-b "# :rocket: ${{ github.event.inputs.version }}
|
44
|
+
Make sure to use squash & merge when merging!
|
45
|
+
Once this is merged, another job will kick off automatically and publish the package.
|
46
|
+
# :memo: Changelog
|
47
|
+
${{ env.CHANGELOG }}"
|
@@ -0,0 +1,40 @@
|
|
1
|
+
name: Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
types: [closed]
|
6
|
+
branches:
|
7
|
+
- master
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
Release:
|
11
|
+
name: 🚀 Release
|
12
|
+
if: github.event.pull_request.merged && startsWith(github.head_ref, 'release-')
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v2
|
16
|
+
with:
|
17
|
+
fetch-depth: 0
|
18
|
+
|
19
|
+
- uses: actions/github-script@v5
|
20
|
+
with:
|
21
|
+
script: |
|
22
|
+
const get_change_log_diff = require('./scripts/get_changelog_diff.js')
|
23
|
+
core.exportVariable('CHANGELOG', get_change_log_diff())
|
24
|
+
|
25
|
+
// Getting the release version from the PR source branch
|
26
|
+
// Source branch looks like this: release-1.0.0
|
27
|
+
const version = context.payload.pull_request.head.ref.split('-')[1]
|
28
|
+
core.exportVariable('VERSION', version)
|
29
|
+
|
30
|
+
- name: Publish gem
|
31
|
+
uses: dawidd6/action-publish-gem@v1
|
32
|
+
with:
|
33
|
+
api_key: ${{secrets.RUBYGEMS_API_KEY}}
|
34
|
+
|
35
|
+
- name: Create release on GitHub
|
36
|
+
uses: ncipollo/release-action@v1
|
37
|
+
with:
|
38
|
+
body: ${{ env.CHANGELOG }}
|
39
|
+
tag: ${{ env.VERSION }}
|
40
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
data/.gitignore
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
/test/tmp/
|
10
10
|
/test/version_tmp/
|
11
11
|
/tmp/
|
12
|
+
.vscode
|
12
13
|
|
13
14
|
# Used by dotenv library to load environment variables.
|
14
15
|
# .env
|
@@ -43,7 +44,7 @@ build-iPhoneSimulator/
|
|
43
44
|
# for a library or gem, you might want to ignore these files since the code is
|
44
45
|
# intended to run in multiple environments; otherwise, check them in:
|
45
46
|
Gemfile.lock
|
46
|
-
|
47
|
+
.ruby-version
|
47
48
|
# .ruby-gemset
|
48
49
|
|
49
50
|
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
data/.rubocop.yml
CHANGED
@@ -21,9 +21,6 @@ Metrics/MethodLength:
|
|
21
21
|
Naming/AccessorMethodName:
|
22
22
|
Enabled: false
|
23
23
|
|
24
|
-
Security/Open:
|
25
|
-
Enabled: false
|
26
|
-
|
27
24
|
Style/AccessorGrouping:
|
28
25
|
Enabled: false
|
29
26
|
Style/Documentation:
|
@@ -32,3 +29,6 @@ Style/DoubleCopDisableDirective:
|
|
32
29
|
Enabled: false
|
33
30
|
Style/FrozenStringLiteralComment:
|
34
31
|
Enabled: false
|
32
|
+
|
33
|
+
Gemspec/RequireMFA:
|
34
|
+
Enabled: false
|
data/.versionrc.js
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
const versionFileUpdater = {
|
2
|
+
VERSION_REGEX: /VERSION = '(.+)'/,
|
3
|
+
|
4
|
+
readVersion: function (contents) {
|
5
|
+
const version = this.VERSION_REGEX.exec(contents)[1];
|
6
|
+
return version;
|
7
|
+
},
|
8
|
+
|
9
|
+
writeVersion: function (contents, version) {
|
10
|
+
return contents.replace(this.VERSION_REGEX.exec(contents)[0], `VERSION = '${version}'`);
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
module.exports = {
|
15
|
+
bumpFiles: [{ filename: './lib/stream-chat/version.rb', updater: versionFileUpdater }],
|
16
|
+
}
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,19 @@
|
|
1
|
-
|
1
|
+
# Changelog
|
2
2
|
|
3
|
-
-
|
3
|
+
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
4
4
|
|
5
|
-
##
|
5
|
+
## [2.17.0](https://github.com/GetStream/stream-chat-ruby/compare/v2.16.0...v2.17.0) (2022-01-14)
|
6
|
+
|
7
|
+
|
8
|
+
### Features
|
9
|
+
|
10
|
+
* add options to add members ([#63](https://github.com/GetStream/stream-chat-ruby/issues/63)) ([89c9fa9](https://github.com/GetStream/stream-chat-ruby/commit/89c9fa98e19565c4b5353077523a1d407e1f10c9))
|
11
|
+
|
12
|
+
## [2.16.0](https://github.com/GetStream/stream-chat-ruby/compare/v2.15.0...v2.16.0) (2021-12-01)
|
13
|
+
|
14
|
+
- Add permissions v2 APIs by @ffenix113 in #62
|
15
|
+
|
16
|
+
## [2.15.0](https://github.com/GetStream/stream-chat-ruby/compare/v2.14.0...v2.15.0) (2021-11-25)
|
6
17
|
|
7
18
|
- Add configuration support for channel truncate
|
8
19
|
- truncated_at: to truncate channel up to given time
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -14,7 +14,7 @@ Android SDK libraries (https://getstream.io/chat/).
|
|
14
14
|
|
15
15
|
stream-chat-ruby supports:
|
16
16
|
|
17
|
-
- Ruby (
|
17
|
+
- Ruby (2.5, 2.6, 2.7, 3.0, 3.1)
|
18
18
|
|
19
19
|
#### Install
|
20
20
|
|
@@ -216,12 +216,16 @@ First, make sure you can run the test suite. Tests are run via rspec
|
|
216
216
|
STREAM_CHAT_API_KEY=my_api_key STREAM_CHAT_API_SECRET=my_api_secret bundle exec rake spec
|
217
217
|
```
|
218
218
|
|
219
|
+
This repository follows a commit message convention in order to automatically generate the [CHANGELOG](./CHANGELOG.md). Make sure you follow the rules of [conventional commits](https://www.conventionalcommits.org/) when opening a pull request.
|
220
|
+
|
219
221
|
### Releasing a new version
|
220
222
|
|
221
223
|
In order to release new version you need to be a maintainer of the library.
|
222
224
|
|
223
|
-
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
-
|
225
|
+
- Kick off a job called `initiate_release` ([link](https://github.com/GetStream/stream-chat-ruby/actions/workflows/initiate_release.yml)).
|
226
|
+
|
227
|
+
The job creates a pull request with the changelog. Check if it looks good.
|
228
|
+
|
229
|
+
- Merge the pull request.
|
230
|
+
|
231
|
+
Once the PR is merged, it automatically kicks off another job which will upload the Gem to RubyGems.org and creates a GitHub release.
|
data/lib/stream-chat/channel.rb
CHANGED
@@ -99,8 +99,9 @@ module StreamChat
|
|
99
99
|
@client.post("#{url}/truncate", data: options)
|
100
100
|
end
|
101
101
|
|
102
|
-
def add_members(user_ids)
|
103
|
-
|
102
|
+
def add_members(user_ids, **options)
|
103
|
+
payload = options.merge({ add_members: user_ids })
|
104
|
+
@client.post(url, data: payload)
|
104
105
|
end
|
105
106
|
|
106
107
|
def invite_members(user_ids)
|
data/lib/stream-chat/client.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
# lib/client.rb
|
4
4
|
require 'open-uri'
|
5
5
|
require 'faraday'
|
6
|
+
require 'faraday/multipart'
|
6
7
|
require 'jwt'
|
7
8
|
require 'time'
|
8
9
|
require 'stream-chat/channel'
|
@@ -389,10 +390,9 @@ module StreamChat
|
|
389
390
|
def send_file(relative_url, file_url, user, content_type = 'application/octet-stream')
|
390
391
|
url = [@base_url, relative_url].join('/')
|
391
392
|
|
392
|
-
file = open(file_url)
|
393
393
|
body = { user: user.to_json }
|
394
394
|
|
395
|
-
body[:file] = Faraday::UploadIO.new(
|
395
|
+
body[:file] = Faraday::UploadIO.new(file_url, content_type)
|
396
396
|
|
397
397
|
response = @conn.post url do |req|
|
398
398
|
req.headers['X-Stream-Client'] = get_user_agent
|
data/lib/stream-chat/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
/*
|
2
|
+
Here we're trying to parse the latest changes from CHANGELOG.md file.
|
3
|
+
The changelog looks like this:
|
4
|
+
|
5
|
+
## 0.0.3
|
6
|
+
- Something #3
|
7
|
+
## 0.0.2
|
8
|
+
- Something #2
|
9
|
+
## 0.0.1
|
10
|
+
- Something #1
|
11
|
+
|
12
|
+
In this case we're trying to extract "- Something #3" since that's the latest change.
|
13
|
+
*/
|
14
|
+
module.exports = () => {
|
15
|
+
const fs = require('fs')
|
16
|
+
|
17
|
+
changelog = fs.readFileSync('CHANGELOG.md', 'utf8')
|
18
|
+
releases = changelog.match(/## [?[0-9](.+)/g)
|
19
|
+
|
20
|
+
current_release = changelog.indexOf(releases[0])
|
21
|
+
previous_release = changelog.indexOf(releases[1])
|
22
|
+
|
23
|
+
latest_changes = changelog.substr(current_release, previous_release - current_release)
|
24
|
+
|
25
|
+
return latest_changes
|
26
|
+
}
|
data/stream-chat.gemspec
CHANGED
@@ -23,5 +23,5 @@ Gem::Specification.new do |gem|
|
|
23
23
|
gem.add_development_dependency 'rake'
|
24
24
|
gem.add_development_dependency 'rspec'
|
25
25
|
gem.add_development_dependency 'simplecov'
|
26
|
-
gem.metadata['rubygems_mfa_required'] = '
|
26
|
+
gem.metadata['rubygems_mfa_required'] = 'false'
|
27
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stream-chat-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mircea Cosbuc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -88,8 +88,11 @@ extra_rdoc_files: []
|
|
88
88
|
files:
|
89
89
|
- ".github/CODEOWNERS"
|
90
90
|
- ".github/workflows/ci.yml"
|
91
|
+
- ".github/workflows/initiate_release.yml"
|
92
|
+
- ".github/workflows/release.yml"
|
91
93
|
- ".gitignore"
|
92
94
|
- ".rubocop.yml"
|
95
|
+
- ".versionrc.js"
|
93
96
|
- CHANGELOG.md
|
94
97
|
- Gemfile
|
95
98
|
- LICENSE
|
@@ -102,11 +105,12 @@ files:
|
|
102
105
|
- lib/stream-chat/errors.rb
|
103
106
|
- lib/stream-chat/util.rb
|
104
107
|
- lib/stream-chat/version.rb
|
108
|
+
- scripts/get_changelog_diff.js
|
105
109
|
- stream-chat.gemspec
|
106
110
|
homepage: http://github.com/GetStream/stream-chat-ruby
|
107
111
|
licenses: []
|
108
112
|
metadata:
|
109
|
-
rubygems_mfa_required: '
|
113
|
+
rubygems_mfa_required: 'false'
|
110
114
|
post_install_message:
|
111
115
|
rdoc_options: []
|
112
116
|
require_paths:
|
@@ -122,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
126
|
- !ruby/object:Gem::Version
|
123
127
|
version: '0'
|
124
128
|
requirements: []
|
125
|
-
rubygems_version: 3.
|
129
|
+
rubygems_version: 3.1.2
|
126
130
|
signing_key:
|
127
131
|
specification_version: 4
|
128
132
|
summary: The low level client for serverside calls for Stream Chat.
|