esi-sdk 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +9 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. data/.github/ISSUE_TEMPLATE/support.md +7 -0
  6. data/.github/PULL_REQUEST_TEMPLATE.md +37 -0
  7. data/.github/dependabot.yml +17 -0
  8. data/.github/workflows/cicd.yml +181 -0
  9. data/.gitignore +11 -0
  10. data/.rspec +2 -0
  11. data/.rubocop.yml +36 -0
  12. data/.ruby-version +1 -0
  13. data/.yardext.rb +18 -0
  14. data/.yardopts +17 -0
  15. data/CHANGELOG.md +17 -0
  16. data/CODE_OF_CONDUCT.md +84 -0
  17. data/CONTRIBUTING.md +69 -0
  18. data/Gemfile +24 -0
  19. data/Gemfile.lock +141 -0
  20. data/LICENSE.txt +21 -0
  21. data/README.md +87 -0
  22. data/Rakefile +349 -0
  23. data/SECURITY.md +13 -0
  24. data/bin/console +15 -0
  25. data/bin/setup +8 -0
  26. data/esi-sdk.gemspec +32 -0
  27. data/exe/esi-sdk +4 -0
  28. data/lib/esi/client/alliance.rb +104 -0
  29. data/lib/esi/client/assets.rb +179 -0
  30. data/lib/esi/client/bookmarks.rb +126 -0
  31. data/lib/esi/client/calendar.rb +139 -0
  32. data/lib/esi/client/character.rb +389 -0
  33. data/lib/esi/client/clones.rb +69 -0
  34. data/lib/esi/client/contacts.rb +277 -0
  35. data/lib/esi/client/contracts.rb +274 -0
  36. data/lib/esi/client/corporation.rb +626 -0
  37. data/lib/esi/client/dogma.rb +117 -0
  38. data/lib/esi/client/faction_warfare.rb +196 -0
  39. data/lib/esi/client/fittings.rb +93 -0
  40. data/lib/esi/client/fleets.rb +428 -0
  41. data/lib/esi/client/incursions.rb +30 -0
  42. data/lib/esi/client/industry.rb +237 -0
  43. data/lib/esi/client/insurance.rb +30 -0
  44. data/lib/esi/client/killmails.rb +95 -0
  45. data/lib/esi/client/location.rb +100 -0
  46. data/lib/esi/client/loyalty.rb +61 -0
  47. data/lib/esi/client/mail.rb +244 -0
  48. data/lib/esi/client/market.rb +302 -0
  49. data/lib/esi/client/opportunities.rb +124 -0
  50. data/lib/esi/client/planetary_interaction.rb +122 -0
  51. data/lib/esi/client/routes.rb +37 -0
  52. data/lib/esi/client/search.rb +68 -0
  53. data/lib/esi/client/skills.rb +97 -0
  54. data/lib/esi/client/sovereignty.rb +74 -0
  55. data/lib/esi/client/status.rb +31 -0
  56. data/lib/esi/client/universe.rb +640 -0
  57. data/lib/esi/client/user_interface.rb +145 -0
  58. data/lib/esi/client/wallet.rb +191 -0
  59. data/lib/esi/client/wars.rb +82 -0
  60. data/lib/esi/client.rb +225 -0
  61. data/lib/esi/errors.rb +51 -0
  62. data/lib/esi/version.rb +5 -0
  63. data/lib/esi-sdk.rb +8 -0
  64. data/release.config.js +32 -0
  65. data/yard/fulldoc/html/css/pygments-default.css +69 -0
  66. data/yard/fulldoc/html/setup.rb +6 -0
  67. data/yard/layout/html/setup.rb +6 -0
  68. metadata +156 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: f9e2a18361aa7db1d4cdda4bbea2cbb20bf13be9c55c0f09508875b10a669648
4
+ data.tar.gz: 40823ea81c2590c58058280d9c5a20bf11c6996e92ca58cbe16f67b9fe5d5693
5
+ SHA512:
6
+ metadata.gz: bfff60dc11675e8cec7f94bedf744abb970b67a6e1753655f6ebda5d95f5412bc5fbbc7e26bb37b512d8b2e0825570cffcbe2431a27c37a53415007b9bf9e4e2
7
+ data.tar.gz: f27e443090c80e0fd069b9e782d26211d96fc26f21ce866e699ea9151b55a3d8939b98250ddf1fadcbef6fc1a9229aef9fe3a775b5d16628102aed84d57bd1f0
data/.editorconfig ADDED
@@ -0,0 +1,9 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ insert_final_newline = true
7
+ trim_trailing_whitespace = true
8
+ indent_style = space
9
+ indent_size = 2
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ ---
5
+
6
+ **Describe the bug**
7
+
8
+ <!-- A clear and concise description of what the bug is. -->
9
+
10
+ **To Reproduce**
11
+
12
+ Steps to reproduce the behavior:
13
+
14
+ <!--
15
+ 1. Call function `foo.Bar`
16
+ 2. Function returns invalid value `baz`
17
+ -->
18
+
19
+ **Expected behavior**
20
+
21
+ <!-- A clear and concise description of what you expected to happen. -->
22
+
23
+ **Expected behavior**
24
+
25
+ <!-- A clear and concise description of what you expected to happen. -->
26
+
27
+ **Environment**
28
+
29
+ <!--
30
+ - Version: v1.2.3, git sha hash
31
+ - Environment: Debian, Docker, ...
32
+ -->
33
+
34
+ **Additional context**
35
+
36
+ <!-- Add any other context about the problem here. -->
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ ---
5
+
6
+ **Is your feature request related to a problem? Please describe.**
7
+
8
+ <!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
9
+
10
+ **Describe the solution you'd like**
11
+
12
+ <!-- A clear and concise description of what you want to happen. -->
13
+
14
+ **Describe alternatives you've considered**
15
+
16
+ <!-- A clear and concise description of any alternative solutions or features you've considered. -->
17
+
18
+ **Additional context**
19
+
20
+ <!-- Add any other context or screenshots about the feature request here. -->
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: Support request
3
+ about:
4
+ Please use our Discord (https://discord.gg/cyjjZ45c) to ask for support
5
+ ---
6
+
7
+ Please use issues only to file potential bugs or request features. For everything else please go to EVE Member Mailer, join our [Discord](https://discord.gg/cyjjZ45c).
@@ -0,0 +1,37 @@
1
+ ## Related issue
2
+
3
+ <!--
4
+ Please link the GitHub issue this pull request resolves in the format of `#1234`. If you discussed this change with a maintainer, please mention her/him using the `@` syntax (e.g. `@bokoboshahni`).
5
+
6
+ If this change neither resolves an existing issue nor has sign-off from one of the maintainers, there is a chance substantial changes will be requested or that the changes will be rejected.
7
+
8
+ You can discuss changes with maintainers in the [bokobo.space Discord](https://discord.gg/cyjjZ45c).
9
+ -->
10
+
11
+ ## Proposed changes
12
+
13
+ <!--
14
+ Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
15
+ -->
16
+
17
+ ## Checklist
18
+
19
+ <!--
20
+ Put an `x` in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.
21
+ -->
22
+
23
+ - [ ] I have read the [contributing guidelines](../blob/main/CONTRIBUTING.md)
24
+ - [ ] I have read the [security policy](../security/policy)
25
+ - [ ] I confirm that this pull request does not address a security
26
+ vulnerability. If this pull request addresses a security vulnerability, I
27
+ confirm that I got green light (please contact
28
+ [shahni@bokobo.space](mailto:shahni@bokobo.space)) from the maintainers to push
29
+ the changes.
30
+ - [ ] I have added tests that prove my fix is effective or that my feature works
31
+ - [ ] I have added necessary documentation within the code base (if appropriate)
32
+
33
+ ## Further comments
34
+
35
+ <!--
36
+ If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...
37
+ -->
@@ -0,0 +1,17 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
7
+ commit-message:
8
+ prefix: "chore"
9
+ include: "scope"
10
+
11
+ - package-ecosystem: "bundler"
12
+ directory: "/"
13
+ schedule:
14
+ interval: "daily"
15
+ commit-message:
16
+ prefix: "chore"
17
+ include: "scope"
@@ -0,0 +1,181 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - main
7
+ push:
8
+ branches:
9
+ - main
10
+
11
+ jobs:
12
+ build:
13
+ name: Build
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout code
17
+ uses: actions/checkout@v2
18
+
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+
22
+ - name: Ruby gem cache
23
+ uses: actions/cache@v2
24
+ with:
25
+ path: vendor/bundle
26
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
27
+ restore-keys: |
28
+ ${{ runner.os }}-gems-
29
+
30
+ - name: Install gems
31
+ run: |
32
+ bundle config path vendor/bundle
33
+ bundle install --jobs 4 --retry 3
34
+
35
+ - name: Run linters
36
+ run: |
37
+ bundle exec rake build
38
+
39
+ docs:
40
+ name: Documentation
41
+ runs-on: ubuntu-latest
42
+
43
+ steps:
44
+ - name: Checkout code
45
+ uses: actions/checkout@v2
46
+
47
+ - name: Set up Ruby
48
+ uses: ruby/setup-ruby@v1
49
+
50
+ - name: Ruby gem cache
51
+ uses: actions/cache@v2
52
+ with:
53
+ path: vendor/bundle
54
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
55
+ restore-keys: |
56
+ ${{ runner.os }}-gems-
57
+
58
+ - name: Install gems
59
+ run: |
60
+ bundle config path vendor/bundle
61
+ bundle install --jobs 4 --retry 3
62
+
63
+ - name: Generate documentation
64
+ run: |
65
+ bundle exec rake doc
66
+
67
+ - name: Deploy documentation
68
+ uses: peaceiris/actions-gh-pages@v3
69
+ if: ${{ github.event_name != 'pull_request' }}
70
+ env:
71
+ GIT_AUTHOR_NAME: "Bokobo Shahni"
72
+ GIT_AUTHOR_EMAIL: "shahni@bokobo.space"
73
+ GIT_COMMITTER_NAME: "Bokobo Shahni"
74
+ GIT_COMMITTER_EMAIL: "shahni@bokobo.space"
75
+ with:
76
+ github_token: ${{ secrets.GITHUB_TOKEN }}
77
+ publish_dir: ./doc
78
+
79
+ lint:
80
+ name: Lint
81
+ runs-on: ubuntu-latest
82
+ steps:
83
+ - name: Checkout code
84
+ uses: actions/checkout@v2
85
+
86
+ - name: Set up Ruby
87
+ uses: ruby/setup-ruby@v1
88
+
89
+ - name: Ruby gem cache
90
+ uses: actions/cache@v2
91
+ with:
92
+ path: vendor/bundle
93
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
94
+ restore-keys: |
95
+ ${{ runner.os }}-gems-
96
+
97
+ - name: Install gems
98
+ run: |
99
+ bundle config path vendor/bundle
100
+ bundle install --jobs 4 --retry 3
101
+
102
+ - name: Run linters
103
+ run: |
104
+ bundle exec rake rubocop
105
+
106
+ test:
107
+ name: Test
108
+ runs-on: ubuntu-latest
109
+
110
+ steps:
111
+ - name: Checkout code
112
+ uses: actions/checkout@v2
113
+
114
+ - name: Set up Ruby
115
+ uses: ruby/setup-ruby@v1
116
+
117
+ - name: Ruby gem cache
118
+ uses: actions/cache@v2
119
+ with:
120
+ path: vendor/bundle
121
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
122
+ restore-keys: |
123
+ ${{ runner.os }}-gems-
124
+
125
+ - name: Install gems
126
+ run: |
127
+ bundle config path vendor/bundle
128
+ bundle install --jobs 4 --retry 3
129
+
130
+ - name: Run tests
131
+ env:
132
+ USER_AGENT: "ESI SDK Tests/1.0; (+https://github.com/bokoboshahni/esi-sdk-ruby)"
133
+ run: |
134
+ bundle exec rake spec
135
+
136
+ release:
137
+ name: Release
138
+ runs-on: ubuntu-latest
139
+ needs:
140
+ - build
141
+ - docs
142
+ - lint
143
+ - test
144
+ if: needs.build.result == 'success' && needs.lint.result == 'success' && needs.test.result == 'success' && needs.docs.result == 'success'
145
+
146
+ steps:
147
+ - name: Checkout code
148
+ uses: actions/checkout@v2
149
+
150
+ - name: Set up Ruby
151
+ uses: ruby/setup-ruby@v1
152
+
153
+ - name: Ruby gem cache
154
+ uses: actions/cache@v2
155
+ with:
156
+ path: vendor/bundle
157
+ key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
158
+ restore-keys: |
159
+ ${{ runner.os }}-gems-
160
+
161
+ - name: Install gems
162
+ run: |
163
+ bundle config path vendor/bundle
164
+ bundle install --jobs 4 --retry 3
165
+
166
+ - name: Set up Node
167
+ uses: actions/setup-node@v2
168
+ with:
169
+ node-version: '16'
170
+
171
+ - name: Release
172
+ env:
173
+ GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
174
+ GIT_AUTHOR_NAME: "Bokobo Shahni"
175
+ GIT_AUTHOR_EMAIL: "shahni@bokobo.space"
176
+ GIT_COMMITTER_NAME: "Bokobo Shahni"
177
+ GIT_COMMITTER_EMAIL: "shahni@bokobo.space"
178
+ GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
179
+ run: |
180
+ npm install -g @semantic-release/changelog @semantic-release/exec @semantic-release/git
181
+ npx semantic-release ${{ github.event_name == 'pull_request' && '--dry-run' || ' ' }}
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,36 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ TargetRubyVersion: 3.0
4
+
5
+ Style/StringLiterals:
6
+ Enabled: true
7
+ EnforcedStyle: double_quotes
8
+
9
+ Style/StringLiteralsInInterpolation:
10
+ Enabled: true
11
+ EnforcedStyle: double_quotes
12
+
13
+ Layout/LineLength:
14
+ Max: 120
15
+ Exclude:
16
+ - lib/esi/client/*.rb
17
+ - spec/lib/esi/client/*_spec.rb
18
+ - Rakefile
19
+
20
+ Metrics/BlockLength:
21
+ Exclude:
22
+ - Rakefile
23
+ - spec/**/*_spec.rb
24
+
25
+ Metrics/ModuleLength:
26
+ Exclude:
27
+ - lib/esi/client/*.rb
28
+
29
+ Metrics/ParameterLists:
30
+ Exclude:
31
+ - lib/esi/client/*.rb
32
+
33
+ Naming/FileName:
34
+ Exclude:
35
+ - lib/esi-sdk.rb
36
+ - spec/lib/esi-sdk_spec.rb
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.0.2
data/.yardext.rb ADDED
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "kramdown"
4
+ require "yard"
5
+
6
+ # Make new Kramdown class with Github Formatted Markdown on
7
+ class KramdownGFM < Kramdown::Document
8
+ def initialize(text, opts = {})
9
+ super(text, opts.merge(input: "GFM", hard_wrap: false))
10
+ end
11
+ end
12
+
13
+ # Register new KramdownGFM
14
+ YARD::Templates::Helpers::MarkupHelper::MARKUP_PROVIDERS[:markdown] <<
15
+ { lib: :"kramdown-parser-gfm", const: "KramdownGFM" }
16
+
17
+ # Register custom templates
18
+ YARD::Templates::Engine.register_template_path File.expand_path("yard/templates", __dir__)
data/.yardopts ADDED
@@ -0,0 +1,17 @@
1
+ --load .yardext.rb
2
+ --embed-mixins
3
+ --markup markdown
4
+ --markup-provider kramdown-parser-gfm
5
+ --no-private
6
+ --protected
7
+ --title "ESI SDK"
8
+ --tag esi_scope:"Scopes"
9
+ --tag esi_version:"Alternate Versions"
10
+ lib/**/*.rb
11
+ -
12
+ CHANGELOG.md
13
+ CODE_OF_CONDUCT.md
14
+ CONTRIBUTING.md
15
+ LICENSE.txt
16
+ README.md
17
+ SECURITY.md
data/CHANGELOG.md ADDED
@@ -0,0 +1,17 @@
1
+ # ESI SDK Changelog
2
+
3
+ ## [1.1.1](https://github.com/bokoboshahni/esi-sdk-ruby/compare/v1.1.0...v1.1.1) (2021-07-19)
4
+
5
+ # [1.1.0](https://github.com/bokoboshahni/esi-sdk-ruby/compare/v1.0.0...v1.1.0) (2021-07-19)
6
+
7
+
8
+ ### Features
9
+
10
+ * Generate ESI client and unit tests ([c42f3be](https://github.com/bokoboshahni/esi-sdk-ruby/commit/c42f3beb9da9c905b24e0c1779d21bd43f8a054f))
11
+
12
+ # 1.0.0 (2021-07-18)
13
+
14
+
15
+ ### Features
16
+
17
+ * Initial gem skeleton ([07c4533](https://github.com/bokoboshahni/esi-sdk-ruby/commit/07c4533a1a4d25c1025248280eb9da5f1e913021))
@@ -0,0 +1,84 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
8
+
9
+ ## Our Standards
10
+
11
+ Examples of behavior that contributes to a positive environment for our community include:
12
+
13
+ * Demonstrating empathy and kindness toward other people
14
+ * Being respectful of differing opinions, viewpoints, and experiences
15
+ * Giving and gracefully accepting constructive feedback
16
+ * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
17
+ * Focusing on what is best not just for us as individuals, but for the overall community
18
+
19
+ Examples of unacceptable behavior include:
20
+
21
+ * The use of sexualized language or imagery, and sexual attention or
22
+ advances of any kind
23
+ * Trolling, insulting or derogatory comments, and personal or political attacks
24
+ * Public or private harassment
25
+ * Publishing others' private information, such as a physical or email
26
+ address, without their explicit permission
27
+ * Other conduct which could reasonably be considered inappropriate in a
28
+ professional setting
29
+
30
+ ## Enforcement Responsibilities
31
+
32
+ Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
33
+
34
+ Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
35
+
36
+ ## Scope
37
+
38
+ This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
39
+
40
+ ## Enforcement
41
+
42
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at tony@tonyburns.net. All complaints will be reviewed and investigated promptly and fairly.
43
+
44
+ All community leaders are obligated to respect the privacy and security of the reporter of any incident.
45
+
46
+ ## Enforcement Guidelines
47
+
48
+ Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
49
+
50
+ ### 1. Correction
51
+
52
+ **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
53
+
54
+ **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
55
+
56
+ ### 2. Warning
57
+
58
+ **Community Impact**: A violation through a single incident or series of actions.
59
+
60
+ **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
61
+
62
+ ### 3. Temporary Ban
63
+
64
+ **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
65
+
66
+ **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
67
+
68
+ ### 4. Permanent Ban
69
+
70
+ **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
71
+
72
+ **Consequence**: A permanent ban from any sort of public interaction within the community.
73
+
74
+ ## Attribution
75
+
76
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
77
+ available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
78
+
79
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
80
+
81
+ [homepage]: https://www.contributor-covenant.org
82
+
83
+ For answers to common questions about this code of conduct, see the FAQ at
84
+ https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,69 @@
1
+ # Contributing to ESI SDK
2
+
3
+ - [Introduction](#introduction)
4
+ - [Contributing Code](#contributing-code)
5
+ - [Disclosing vulnerabilities](#disclosing-vulnerabilities)
6
+ - [Code Style](#code-style)
7
+ - [Pull request procedure](#pull-request-procedure)
8
+ - [Communication](#communication)
9
+ - [Conduct](#conduct)
10
+
11
+ ## Introduction
12
+
13
+ Please note: We take ESI SDK's security and our users' trust very seriously. If you believe you have found a security issue in ESI SDK, please responsibly disclose by contacting us at [security@bokobo.space](mailto:security@bokobo.space).
14
+
15
+ First: if you're unsure or afraid of anything, just ask or submit the issue or pull request anyways. You won't be yelled at for giving it your best effort. The worst that can happen is that you'll be politely asked to change something. We appreciate any sort of contributions, and don't want a wall of rules to get in the way of that.
16
+
17
+ That said, if you want to ensure that a pull request is likely to be merged, talk to us! You can find out our thoughts and ensure that your contribution won't clash or be obviated by ESI SDK's normal direction. A great way to do this is via the [bokobo.space Discord](https://discord.gg/CJmCwTdm).
18
+
19
+ ## Contributing Code
20
+
21
+ Unless you are fixing a known bug, we **strongly** recommend discussing it with the core team via a GitHub issue or [in our chat](https://discord.gg/CJmCwTdm) before getting started to ensure your work is consistent with ESI SDK's roadmap and architecture.
22
+
23
+ All contributions are made via pull request. Note that **all patches from all contributors get reviewed**. After a pull request is made other contributors will offer feedback, and if the patch passes review a maintainer will accept it with a comment. When pull requests fail testing, authors are expected to update their pull requests to address the failures until the tests pass and the pull request merges successfully.
24
+
25
+ At least one review from a maintainer is required for all patches (even patches from maintainers).
26
+
27
+ Reviewers should leave an approving GitHub pull request review once they are satisfied with the patch. If the patch was submitted by a maintainer with write access, the pull request should be merged by the submitter after review.
28
+
29
+ ## Disclosing vulnerabilities
30
+
31
+ Please disclose vulnerabilities exclusively to [security@bokobo.space](mailto:security@bokobo.space). Do not use GitHub issues.
32
+
33
+ ## Code Style
34
+
35
+ Please follow these guidelines when formatting source code:
36
+
37
+ - Ruby code should not have any failures for `bundle exec rake rubocop`
38
+
39
+ ## Pull request procedure
40
+
41
+ To make a pull request, you will need a GitHub account; if you are unclear on this process, see GitHub's documentation on [forking](https://help.github.com/articles/fork-a-repo) and [pull requests](https://help.github.com/articles/using-pull-requests). Pull requests should be targeted at the `main` branch. Before creating a pull request, go through this checklist:
42
+
43
+ 1. Create a feature branch off of `main` so that changes do not get mixed up.
44
+ 1. [Rebase](http://git-scm.com/book/en/Git-Branching-Rebasing) your local changes against the `main` branch.
45
+ 1. Run the full project test suite with the `bundle exec rake spec` (or equivalent) command and confirm that it passes.
46
+ 1. Run `bundle exec rake rubocop`.
47
+ 1. Ensure that each commit has the proper prefix for semantic versioning subsystem prefix (ex: `feat:`). We follow the [Angular commit message conventions](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#type).
48
+
49
+ Pull requests will be treated as "review requests," and maintainers will give feedback on the style and substance of the patch.
50
+
51
+ Normally, all pull requests must include tests that test your change. Occasionally, a change will be very difficult to test for. In those cases, please include a note in your commit message explaining why.
52
+
53
+ ## Communication
54
+
55
+ We use [Discord](https://discord.gg/CJmCwTdm). You are welcome to drop in and ask questions, discuss bugs, etc.
56
+
57
+ ## Conduct
58
+
59
+ Whether you are a regular contributor or a newcomer, we care about making this community a safe place for you and we've got your back.
60
+
61
+ - We are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, disability, ethnicity religion, or similar personal characteristic.
62
+ - Please avoid using nicknames that might detract from a friendly, safe and welcoming environment for all.
63
+ - Be kind and courteous. There is no need to be mean or rude.
64
+ - We will exclude you from interaction if you insult, demean or harass anyone. In particular, we do not tolerate behavior that excludes people in socially marginalized groups.
65
+ - Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel ops immediately.
66
+ - Likewise any spamming, trolling, flaming, baiting or other attention-stealing behaviour is not welcome.
67
+
68
+ We welcome discussion about creating a welcoming, safe, and productive environment for the community. If you have any questions, feedback, or concerns
69
+ [please let us know](https://discord.gg/CJmCwTdm).
data/Gemfile ADDED
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ ruby "3.0.2"
6
+
7
+ gemspec
8
+
9
+ gem "activesupport", "~> 6.1"
10
+ gem "rake", "~> 13.0"
11
+ gem "rspec", "~> 3.10"
12
+ gem "rubocop", "~> 1.18"
13
+ gem "rubocop-performance", "~> 1.11"
14
+ gem "rubocop-rake", "~> 0.6"
15
+ gem "rubocop-rspec", "~> 2.4"
16
+ gem "simplecov", "~> 0.21"
17
+ gem "simplecov_json_formatter", "~> 0.1", require: false
18
+ gem "vcr", "~> 6.0"
19
+ gem "webmock", "~> 3.13"
20
+ gem "yard", "~> 0.9"
21
+
22
+ gem "kramdown-parser-gfm", "~> 1.1"
23
+
24
+ gem "rouge", "~> 3.26"