Skip to content
This repository has been archived by the owner on Aug 24, 2023. It is now read-only.

Many improvements #34

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 100

[*.md]
indent_style = space
indent_size = 4
3 changes: 3 additions & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
--color
--format documentation
--require spec_helper.rb
24 changes: 24 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
require:
- rubocop-performance
- rubocop-rspec

Layout/LineLength:
Max: 100
Layout/MultilineOperationIndentation:
EnforcedStyle: indented
Layout/MultilineMethodCallIndentation:
EnforcedStyle: indented
Layout/ArgumentAlignment:
EnforcedStyle: with_fixed_indentation

AllCops:
NewCops: enable

Metrics/BlockLength:
Exclude:
- spec/**/*.rb

RSpec/NestedGroups:
Max: 5
RSpec/MultipleMemoizedHelpers:
Enabled: false
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
## master

* Remove `Twitch.new`, use `Twitch::Client.new`.
* Use `twitch_oauth2` gem for authentication (parameters changed).
Check `README` for additional info.
* Add `tokens`, `access_token` and `refresh_token` getters.
* Replace custom adapters and `HTTParty` with `Faraday` and its adapters.
* Delete undocumented `channel_panels` and `chat_links` methods
not from Kraken version.
* Rename `edit_channel` to `update_channel`.
* Add support of options (`stream_type`) for `stream`.
* Add `retriable`: retry requests on fails.
* Add `Twitch::ServerError` for 5xx HTTP errors, apply `retriable` to them.
* Specify required Ruby version, 2.4, and support Ruby 3.
* Use [`VCR`](https://relishapp.com/vcr/vcr/docs) (recorded HTTP requests)
for tests.
* Add [RuboCop](https://docs.rubocop.org/).
* Add [EditorConfig](https://editorconfig.org/) file.
* Increase max line length from 80 (previous RuboCop's default)
to 100 (average between previous and new RuboCop's default, 120).
* Replace `add_dependency` with more explicit `add_runtime_dependency` in gem spec.

## 0.1.3

* Add options to `following` and `followed` methods.
* Add `channel_panels` method.

## 0.1.2

* Fix `Twitch::Client#unfollow` method name.
* Allow `Twitch::Client#subscribed` method to receive query string options.

## 0.1.1

* Allow to override `oauth_token` in options.

## 0.1.0

* Replace `camelCase` method names with `snake_case`.
* Remove `get_` prefix from method names.
* Make `your_` prefix optional (e.g. `user` and `your_user` are equal).
3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# frozen_string_literal: true

source 'https://rubygems.org'

gemspec
102 changes: 80 additions & 22 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,38 +1,96 @@
PATH
remote: .
specs:
twitch (0.1.2)
httparty
json
twitch (0.1.3)
faraday (~> 1.0)
faraday_middleware (~> 1.0)
retriable (~> 3.0)
twitch_oauth2 (~> 0.2.0)

GEM
remote: https://rubygems.org/
specs:
diff-lcs (1.2.5)
httparty (0.13.7)
json (~> 1.8)
multi_xml (>= 0.5.2)
json (1.8.3)
multi_xml (0.5.5)
rspec (3.0.0)
rspec-core (~> 3.0.0)
rspec-expectations (~> 3.0.0)
rspec-mocks (~> 3.0.0)
rspec-core (3.0.3)
rspec-support (~> 3.0.0)
rspec-expectations (3.0.3)
ast (2.4.2)
byebug (11.1.3)
coderay (1.1.3)
diff-lcs (1.4.4)
docile (1.3.5)
faraday (1.3.0)
faraday-net_http (~> 1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
faraday-net_http (1.0.1)
faraday_middleware (1.0.0)
faraday (~> 1.0)
method_source (1.0.0)
multipart-post (2.1.1)
parallel (1.20.1)
parser (3.0.1.0)
ast (~> 2.4.1)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.9.0)
byebug (~> 11.0)
pry (~> 0.13.0)
rainbow (3.0.0)
regexp_parser (2.1.1)
retriable (3.1.2)
rexml (3.2.5)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
rspec-mocks (~> 3.10.0)
rspec-core (3.10.1)
rspec-support (~> 3.10.0)
rspec-expectations (3.10.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.0.0)
rspec-mocks (3.0.3)
rspec-support (~> 3.0.0)
rspec-support (3.0.3)
rspec-support (~> 3.10.0)
rspec-mocks (3.10.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-support (3.10.2)
rubocop (0.89.1)
parallel (~> 1.10)
parser (>= 2.7.1.1)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.7)
rexml
rubocop-ast (>= 0.3.0, < 1.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
rubocop-ast (0.8.0)
parser (>= 2.7.1.5)
rubocop-performance (1.8.1)
rubocop (>= 0.87.0)
rubocop-ast (>= 0.4.0)
rubocop-rspec (1.44.1)
rubocop (~> 0.87)
rubocop-ast (>= 0.7.1)
ruby-progressbar (1.11.0)
ruby2_keywords (0.0.4)
simplecov (0.18.5)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov-html (0.12.3)
twitch_oauth2 (0.2.0)
faraday (~> 1.0)
faraday_middleware (~> 1.0)
unicode-display_width (1.7.0)
vcr (6.0.0)

PLATFORMS
ruby

DEPENDENCIES
rspec
pry-byebug (~> 3.9)
rspec (~> 3.9)
rubocop (~> 0.89.0)
rubocop-performance (~> 1.5)
rubocop-rspec (~> 1.38)
simplecov (~> 0.18.0)
twitch!
vcr (~> 6.0)

BUNDLED WITH
1.11.2
2.2.6
Loading