Skip to content

Commit

Permalink
Merge pull request #143 from marvinscham/develop
Browse files Browse the repository at this point in the history
Merge develop
  • Loading branch information
marvinscham authored Feb 17, 2024
2 parents 0d3e78d + df30149 commit b1d6783
Show file tree
Hide file tree
Showing 62 changed files with 2,550 additions and 1,534 deletions.
22 changes: 22 additions & 0 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[bumpversion]
current_version = 1.6.0
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-(?P<release>[a-z]+))?
commit = True
tag = False
serialize =
{major}.{minor}.{patch}-{release}
{major}.{minor}.{patch}

[bumpversion:part:release]
optional_value = gamma
values =
beta
gamma

[bumpversion:file:disenchanter.rb]
search = current_version = 'v{current_version}'
replace = current_version = 'v{new_version}'

[bumpversion:file:sonar-project.properties]
search = sonar.projectVersion=v{current_version}
replace = sonar.projectVersion=v{new_version}
54 changes: 54 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: CI

on:
push:
branches-ignore:
- 'dependabot**'
- 'release**'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

jobs:
analyze:
name: Analyze
if: github.event_name != 'pull_request' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions: read-all

steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.3
bundler-cache: true

- name: Install dependencies
run: bundle install

- name: RuboCop scan
run: bundle exec rubocop --format json -o rubocop-report.json || echo "Failed on RuboCop rules"

- name: Upload RuboCop report
uses: actions/upload-artifact@v2
with:
name: rubocop-report
path: rubocop-report.json

- name: SonarQube scan
uses: sonarsource/sonarqube-scan-action@master
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}

- name: Quality gate check
if: github.event_name != 'pull_request' || github.event_name == 'workflow_dispatch'
uses: sonarsource/sonarqube-quality-gate-action@master
timeout-minutes: 5
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ disenchanter_up.exe
tmpin
tmpout

disenchanter_*.json
settings.json
rubocop-report.json

*.gem
*.rbc
/.config
Expand Down
20 changes: 19 additions & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,20 @@
Style/EndOfLine:
AllCops:
NewCops: enable
Layout/EndOfLine:
EnforcedStyle: lf
Metrics/MethodLength:
CountAsOne: ['array', 'method_call', 'hash']
Max: 35
Severity: refactor
Metrics/CyclomaticComplexity:
Max: 15
Severity: refactor
Metrics/PerceivedComplexity:
Max: 15
Severity: refactor
Metrics/AbcSize:
CountRepeatedAttributes: false
Max: 30
Severity: refactor
Style/EmptyElse:
AllowComments: true
3 changes: 2 additions & 1 deletion .rufo
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
quote_style :single
quote_style :single
trailing_commas false
1 change: 1 addition & 0 deletions .wakatime-project
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
disenchanter
109 changes: 109 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Changelog

All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Related: [versioning strategy](./VERSIONING.md).

## v1.6.0 - Feb 17, 2024
### Added
- #35 Disenchanter can be started from anywhere now
- It will try to find your League Client via registry > start menu > default path > locally
- #57 Rerolling owned esports emotes that cannot be disenchanted
- #19 Tacticians can now be disenchanted
- Shortcut to your [Mastery Chart](https://masterychart.com) profile
- #27 Proper changelog and versioning info
### Changed
- (dev) Code is split in modules now instead of stuffed into a single script
- (dev) Switched from ocra to ocran for building the executable
### Fixed
- #142 Script won't crash if you don't have a summoner name
- Essentially Riot ID support
- #87 Shards of champions with no mastery will no longer falsely be considered for disenchanting
- #127 Champion permanents can be disenchanted again
- Reliability improvements via more flexible recipe and currency detection
- #128 Allows properly disenchanting things like blue essence granting summoner icons

## v1.5.0 - Jul 26, 2022
### Added
- Support for disenchanting champion, skin, ward skin and eternal permanents
- Mastery token upgrades will also use champion permanents
- Debug options for troubleshooting
- (dev) Linting and formatting rules
- Demo image in `README` :)
### Changed
- Smarter detection for items that aren't owned yet
- Blue essence directly looted from capsules is now included in stats
- Loot will be refreshed more frequently to prevent calls on stale data
### Fixed
- Clarity when upgrading mastery tokens
- Some chest display names like Honor Capsules will have the name manually injected instead
- Faulty crafting recipes adjusted
- Typos removed

## v1.4.0 - Jul 14, 2022
### Added
- Disenchanting summoner icons
- Efficient mastery 6/7 token upgrades
- Does not support champion permanents (yet)
### Changed
- Menu order is now like in the Client's loot tab
- Materials are in separate submenu now
### Fixed
- #21 Bugfix for event token crafting
- Smarter version check for people directly running the Ruby script
- Code cleanup, minor bugfixes

## v1.3.2 - Jun 30, 2022
### Fixed
- #10 Collection feature properly retains one shard per champion

## v1.3.1 - Jun 29, 2022
### Fixed
- Fixed "keep shards of champions you don't own yet" option
- Fixed in-place updater + added backwards compatibility

## v1.3.0 - Jun 28, 2022
### Added
- In-place updating
- Future versions can replace the old script with the latest version
- More things to disenchant:
- Ward skins
- Skins
- Eternals
### Changed
- Swapped to new, less bloated menu style
### Fixed
- Reliability improvements to existing options

## v1.2.3 - Jun 21, 2022
### Fixed
- Clarity in wording and visuals
- Fixes to conservative options

## v1.2.2 - Jun 21, 2022
### Fixed
- Failing one step will no longer break the script but fall back to the main menu

## v1.2.1 - Jun 19, 2022
### Fixed
- Bugfix for capsule handling
### Docs
- Added info on malware false positives

## v1.2.0 - Jun 19, 2022
### Added
- Mythic Essence crafting to random skin shards, blue essence and orange essence
- Opening of keyless capsules
- Colors in terminal
- User can now specify how many event tokens should be used

## v1.1.1 - Jun 18, 2022
### Fixed
- Bugfix in stat submission

## v1.1.0 - Jun 17, 2022
### Added
- Will notify the user whether the latest version is running

## v1.0.0 - Jun 17, 2022
### Added
- Initial Release
16 changes: 10 additions & 6 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
# frozen_string_literal: true

source 'https://rubygems.org'
git_source(:github) { |repo| 'https://github.com/#{repo}.git' }
ruby '3.1.2'
git_source(:github) { |_repo| 'https://github.com/marvinscham/disenchanter.git' }
ruby '3.2.3'

gem 'base64', '~> 0.1.1'
gem 'colorize', '~> 0.8.1'
gem 'base64', '~> 0.2'
gem 'colorize', '~> 1.1'
gem 'json', '~> 2.6'
gem 'launchy', '~> 2.5'
gem 'openssl', '= 3.1.0'
gem 'open-uri', '~> 0.2.0'
gem 'win32-shortcut', '~> 0.3.0'

group :development do
# Builds windows executable
gem 'ocra', '1.3.11', require: false
gem 'ocran', '1.3.15', require: false
# Ruby formatter, config in .rufo
gem 'rufo', '>= 0.13.0', require: false
# Ruby linter, config in .rubocop
gem 'rubocop', '~> 1.50', require: false
gem 'rubocop', '~> 1.60', require: false
end
62 changes: 35 additions & 27 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,64 +1,72 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.1)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
base64 (0.1.1)
colorize (0.8.1)
date (3.2.2)
json (2.6.3)
base64 (0.2.0)
colorize (1.1.0)
date (3.3.4)
json (2.7.1)
language_server-protocol (3.17.0.3)
launchy (2.5.2)
addressable (~> 2.8)
ocra (1.3.11)
ocran (1.3.15)
open-uri (0.2.0)
stringio
time
uri
parallel (1.22.1)
parser (3.2.2.0)
openssl (3.1.0)
parallel (1.24.0)
parser (3.3.0.5)
ast (~> 2.4.1)
public_suffix (5.0.1)
racc
public_suffix (5.0.4)
racc (1.7.3)
rainbow (3.1.1)
regexp_parser (2.8.0)
rexml (3.2.5)
rubocop (1.50.2)
regexp_parser (2.9.0)
rexml (3.2.6)
rubocop (1.60.2)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.0.0)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.0, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.28.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
ruby-progressbar (1.13.0)
rufo (0.16.0)
stringio (3.0.2)
time (0.2.0)
rufo (0.17.1)
stringio (3.1.0)
time (0.3.0)
date
unicode-display_width (2.4.2)
uri (0.11.0)
unicode-display_width (2.5.0)
uri (0.13.0)
win32-shortcut (0.3.0)

PLATFORMS
x64-unknown
x64-mingw-ucrt
x64-unknown
x86_64-linux

DEPENDENCIES
base64 (~> 0.1.1)
colorize (~> 0.8.1)
base64 (~> 0.2)
colorize (~> 1.1)
json (~> 2.6)
launchy (~> 2.5)
ocra (= 1.3.11)
ocran (= 1.3.15)
open-uri (~> 0.2.0)
rubocop (~> 1.50)
openssl (= 3.1.0)
rubocop (~> 1.60)
rufo (>= 0.13.0)
win32-shortcut (~> 0.3.0)

RUBY VERSION
ruby 3.1.2p20
ruby 3.2.3p157

BUNDLED WITH
2.3.15
2.4.19
Loading

0 comments on commit b1d6783

Please sign in to comment.