json-merge 1.1.2 → 7.0.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.
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-merge
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
8
- bindir: exe
8
+ bindir: bin
9
9
  cert_chain:
10
10
  - |
11
11
  -----BEGIN CERTIFICATE-----
@@ -37,302 +37,74 @@ cert_chain:
37
37
  -----END CERTIFICATE-----
38
38
  date: 1980-01-02 00:00:00.000000000 Z
39
39
  dependencies:
40
- - !ruby/object:Gem::Dependency
41
- name: tree_haver
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '5.0'
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 5.0.5
50
- type: :runtime
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '5.0'
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: 5.0.5
60
40
  - !ruby/object:Gem::Dependency
61
41
  name: ast-merge
62
42
  requirement: !ruby/object:Gem::Requirement
63
43
  requirements:
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '4.0'
67
- - - ">="
44
+ - - '='
68
45
  - !ruby/object:Gem::Version
69
- version: 4.0.6
46
+ version: 7.0.0
70
47
  type: :runtime
71
48
  prerelease: false
72
49
  version_requirements: !ruby/object:Gem::Requirement
73
50
  requirements:
74
- - - "~>"
51
+ - - '='
75
52
  - !ruby/object:Gem::Version
76
- version: '4.0'
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: 4.0.6
53
+ version: 7.0.0
80
54
  - !ruby/object:Gem::Dependency
81
- name: version_gem
55
+ name: tree_haver
82
56
  requirement: !ruby/object:Gem::Requirement
83
57
  requirements:
84
- - - "~>"
85
- - !ruby/object:Gem::Version
86
- version: '1.1'
87
- - - ">="
58
+ - - '='
88
59
  - !ruby/object:Gem::Version
89
- version: 1.1.9
60
+ version: 7.0.0
90
61
  type: :runtime
91
62
  prerelease: false
92
63
  version_requirements: !ruby/object:Gem::Requirement
93
64
  requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '1.1'
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: 1.1.9
100
- - !ruby/object:Gem::Dependency
101
- name: kettle-dev
102
- requirement: !ruby/object:Gem::Requirement
103
- requirements:
104
- - - "~>"
105
- - !ruby/object:Gem::Version
106
- version: '1.1'
107
- type: :development
108
- prerelease: false
109
- version_requirements: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: '1.1'
114
- - !ruby/object:Gem::Dependency
115
- name: bundler-audit
116
- requirement: !ruby/object:Gem::Requirement
117
- requirements:
118
- - - "~>"
119
- - !ruby/object:Gem::Version
120
- version: 0.9.2
121
- type: :development
122
- prerelease: false
123
- version_requirements: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - "~>"
126
- - !ruby/object:Gem::Version
127
- version: 0.9.2
128
- - !ruby/object:Gem::Dependency
129
- name: rake
130
- requirement: !ruby/object:Gem::Requirement
131
- requirements:
132
- - - "~>"
133
- - !ruby/object:Gem::Version
134
- version: '13.0'
135
- type: :development
136
- prerelease: false
137
- version_requirements: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - "~>"
140
- - !ruby/object:Gem::Version
141
- version: '13.0'
142
- - !ruby/object:Gem::Dependency
143
- name: require_bench
144
- requirement: !ruby/object:Gem::Requirement
145
- requirements:
146
- - - "~>"
147
- - !ruby/object:Gem::Version
148
- version: '1.0'
149
- - - ">="
150
- - !ruby/object:Gem::Version
151
- version: 1.0.4
152
- type: :development
153
- prerelease: false
154
- version_requirements: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - "~>"
157
- - !ruby/object:Gem::Version
158
- version: '1.0'
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- version: 1.0.4
162
- - !ruby/object:Gem::Dependency
163
- name: appraisal2
164
- requirement: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '3.0'
169
- - - "~>"
170
- - !ruby/object:Gem::Version
171
- version: 3.0.6
172
- type: :development
173
- prerelease: false
174
- version_requirements: !ruby/object:Gem::Requirement
175
- requirements:
176
- - - "~>"
177
- - !ruby/object:Gem::Version
178
- version: '3.0'
179
- - - "~>"
180
- - !ruby/object:Gem::Version
181
- version: 3.0.6
182
- - !ruby/object:Gem::Dependency
183
- name: kettle-test
184
- requirement: !ruby/object:Gem::Requirement
185
- requirements:
186
- - - "~>"
187
- - !ruby/object:Gem::Version
188
- version: '1.0'
189
- - - ">="
190
- - !ruby/object:Gem::Version
191
- version: 1.0.10
192
- type: :development
193
- prerelease: false
194
- version_requirements: !ruby/object:Gem::Requirement
195
- requirements:
196
- - - "~>"
197
- - !ruby/object:Gem::Version
198
- version: '1.0'
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: 1.0.10
202
- - !ruby/object:Gem::Dependency
203
- name: ruby-progressbar
204
- requirement: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '1.13'
209
- type: :development
210
- prerelease: false
211
- version_requirements: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: '1.13'
216
- - !ruby/object:Gem::Dependency
217
- name: stone_checksums
218
- requirement: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: '1.0'
223
- - - ">="
224
- - !ruby/object:Gem::Version
225
- version: 1.0.3
226
- type: :development
227
- prerelease: false
228
- version_requirements: !ruby/object:Gem::Requirement
229
- requirements:
230
- - - "~>"
231
- - !ruby/object:Gem::Version
232
- version: '1.0'
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- version: 1.0.3
236
- - !ruby/object:Gem::Dependency
237
- name: gitmoji-regex
238
- requirement: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - "~>"
241
- - !ruby/object:Gem::Version
242
- version: '1.0'
243
- - - ">="
244
- - !ruby/object:Gem::Version
245
- version: 1.0.3
246
- type: :development
247
- prerelease: false
248
- version_requirements: !ruby/object:Gem::Requirement
249
- requirements:
250
- - - "~>"
251
- - !ruby/object:Gem::Version
252
- version: '1.0'
253
- - - ">="
65
+ - - '='
254
66
  - !ruby/object:Gem::Version
255
- version: 1.0.3
256
- description: "☯️ Json::Merge provides smart JSON file merging that understands JSON
257
- structure. Perfect for merging strict JSON configuration files like package.json,
258
- tsconfig.json (without comments), and other standard JSON files. For JSON with Comments
259
- (JSONC) files like devcontainer.json and VS Code settings, use jsonc-merge instead."
67
+ version: 7.0.0
68
+ description: Portable JSON and JSONC analysis, owner matching, fallback, and merge
69
+ behavior for Structured Merge.
260
70
  email:
261
- - floss@galtzo.com
71
+ - info@structuredmerge.org
262
72
  executables: []
263
73
  extensions: []
264
- extra_rdoc_files:
265
- - CHANGELOG.md
266
- - CITATION.cff
267
- - CODE_OF_CONDUCT.md
268
- - CONTRIBUTING.md
269
- - FUNDING.md
270
- - LICENSE.txt
271
- - README.md
272
- - REEK
273
- - RUBOCOP.md
274
- - SECURITY.md
74
+ extra_rdoc_files: []
275
75
  files:
276
- - CHANGELOG.md
277
- - CITATION.cff
278
- - CODE_OF_CONDUCT.md
279
- - CONTRIBUTING.md
280
- - FUNDING.md
281
- - LICENSE.txt
282
- - README.md
283
- - REEK
284
- - RUBOCOP.md
285
- - SECURITY.md
286
76
  - lib/json-merge.rb
287
77
  - lib/json/merge.rb
288
- - lib/json/merge/conflict_resolver.rb
289
- - lib/json/merge/debug_logger.rb
290
- - lib/json/merge/emitter.rb
291
- - lib/json/merge/file_analysis.rb
292
- - lib/json/merge/merge_result.rb
293
- - lib/json/merge/node_wrapper.rb
294
- - lib/json/merge/object_match_refiner.rb
295
- - lib/json/merge/smart_merger.rb
296
78
  - lib/json/merge/version.rb
297
- - sig/json/merge.rbs
298
- homepage: https://github.com/kettle-rb/json-merge
79
+ homepage: https://github.com/structuredmerge/structuredmerge-ruby
299
80
  licenses:
300
- - MIT
81
+ - AGPL-3.0-only
82
+ - PolyForm-Small-Business-1.0.0
301
83
  metadata:
302
- homepage_uri: https://json-merge.galtzo.com/
303
- source_code_uri: https://github.com/kettle-rb/json-merge/tree/v1.1.2
304
- changelog_uri: https://github.com/kettle-rb/json-merge/blob/v1.1.2/CHANGELOG.md
305
- bug_tracker_uri: https://github.com/kettle-rb/json-merge/issues
306
- documentation_uri: https://www.rubydoc.info/gems/json-merge/1.1.2
84
+ homepage_uri: https://structuredmerge.org
85
+ source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.0.0
86
+ changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.0.0/CHANGELOG.md
87
+ bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
88
+ documentation_uri: https://www.rubydoc.info/gems/json-merge/7.0.0
307
89
  funding_uri: https://github.com/sponsors/pboling
308
- wiki_uri: https://github.com/kettle-rb/json-merge/wiki
309
- news_uri: https://www.railsbling.com/tags/json-merge
90
+ wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
310
91
  discord_uri: https://discord.gg/3qme4XHNKN
311
92
  rubygems_mfa_required: 'true'
312
- rdoc_options:
313
- - "--title"
314
- - json-merge - ☯️ Intelligent JSON file merging using tree-sitter AST analysis
315
- - "--main"
316
- - README.md
317
- - "--exclude"
318
- - "^sig/"
319
- - "--line-numbers"
320
- - "--inline-source"
321
- - "--quiet"
93
+ rdoc_options: []
322
94
  require_paths:
323
95
  - lib
324
96
  required_ruby_version: !ruby/object:Gem::Requirement
325
97
  requirements:
326
98
  - - ">="
327
99
  - !ruby/object:Gem::Version
328
- version: 3.2.0
100
+ version: 4.0.0
329
101
  required_rubygems_version: !ruby/object:Gem::Requirement
330
102
  requirements:
331
103
  - - ">="
332
104
  - !ruby/object:Gem::Version
333
105
  version: '0'
334
106
  requirements: []
335
- rubygems_version: 4.0.5
107
+ rubygems_version: 4.0.10
336
108
  specification_version: 4
337
- summary: "☯️ Intelligent JSON file merging using tree-sitter AST analysis"
109
+ summary: Structured Merge JSON analysis and merge for Ruby
338
110
  test_files: []
metadata.gz.sig CHANGED
Binary file
data/CHANGELOG.md DELETED
@@ -1,149 +0,0 @@
1
- # Changelog
2
-
3
- [![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog]
4
-
5
- All notable changes to this project will be documented in this file.
6
-
7
- The format is based on [Keep a Changelog][📗keep-changelog],
8
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
9
- and [yes][📌major-versions-not-sacred], platform and engine support are part of the [public API][📌semver-breaking].
10
- Please file a bug if you notice a violation of semantic versioning.
11
-
12
- [📌semver]: https://semver.org/spec/v2.0.0.html
13
- [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
14
- [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
15
- [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
16
- [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
17
- [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
18
-
19
- ## [Unreleased]
20
-
21
- ### Added
22
-
23
- ### Changed
24
-
25
- ### Deprecated
26
-
27
- ### Removed
28
-
29
- ### Fixed
30
-
31
- ### Security
32
-
33
- ## [1.1.2] - 2026-02-19
34
-
35
- - TAG: [v1.1.2][1.1.2t]
36
- - COVERAGE: 95.72% -- 604/631 lines in 10 files
37
- - BRANCH COVERAGE: 77.81% -- 235/302 branches in 10 files
38
- - 96.63% documented
39
-
40
- ### Added
41
-
42
- - AGENTS.md
43
-
44
- ### Changed
45
-
46
- - appraisal2 v3.0.6
47
- - kettle-test v1.0.10
48
- - stone_checksums v1.0.3
49
- - [ast-merge v4.0.6](https://github.com/kettle-rb/ast-merge/releases/tag/v4.0.6)
50
- - [tree_haver v5.0.5](https://github.com/kettle-rb/tree_haver/releases/tag/v5.0.5)
51
- - tree_stump v0.2.0
52
- - fork no longer required, updates all applied upstream
53
- - Updated documentation on hostile takeover of RubyGems
54
- - https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo
55
-
56
- ## [1.1.1] - 2026-01-26
57
-
58
- - TAG: [v1.1.1][1.1.1t]
59
- - COVERAGE: 95.72% -- 604/631 lines in 10 files
60
- - BRANCH COVERAGE: 77.81% -- 235/302 branches in 10 files
61
- - 96.63% documented
62
-
63
- ### Added
64
-
65
- - ConflictResolver now applies per-node-type preferences via `node_typing`.
66
-
67
- ### Changed
68
-
69
- - Upgrade to [ast-merge v4.0.4](https://github.com/kettle-rb/ast-merge/releases/tag/v4.0.4)
70
- - Upgrade to [tree_haver v5.0.2](https://github.com/kettle-rb/tree_haver/releases/tag/v5.0.2)
71
-
72
- ## [1.1.0] - 2026-01-12
73
-
74
- - TAG: [v1.1.0][1.1.0t]
75
- - COVERAGE: 95.77% -- 589/615 lines in 10 files
76
- - BRANCH COVERAGE: 78.82% -- 227/288 branches in 10 files
77
- - 96.63% documented
78
-
79
- ### Added
80
-
81
- - bin/rspec-ffi to run FFI isolated specs
82
- - Also bin/rake ffi_specs
83
- - FFI backend isolation for test suite
84
- - Added `bin/rspec-ffi` script to run FFI specs in isolation (before MRI backend loads)
85
- - Added `spec/spec_ffi_helper.rb` for FFI-specific test configuration
86
- - Updated Rakefile with `ffi_specs` and `remaining_specs` tasks
87
- - The `:test` task now runs FFI specs first, then remaining specs
88
-
89
- ### Changed
90
-
91
- - Upgrade to [ast-merge v4.0.2](https://github.com/kettle-rb/ast-merge/releases/tag/v4.0.2)
92
- - Includes Ast::Merge::EmitterBase
93
- - Upgrade to [tree_haver v5.0.1](https://github.com/kettle-rb/tree_haver/releases/tag/v5.0.1)
94
- - Many Backend improvements
95
- - Many error handling improvements
96
- - **Simplified dependency_tags.rb**: Removed redundant debug code
97
- - Removed `JSON_MERGE_DEBUG` env var handling (use `TREE_HAVER_DEBUG` instead)
98
- - tree_haver's debug output now respects blocked backends via `compute_blocked_backends`
99
- - Avoids accidentally loading MRI backend during FFI-only test runs
100
-
101
- ### Removed
102
-
103
- - **Obsolete Tests**: Removed 3 obsolete integration tests
104
- - Tests for `add_node_to_result` and `add_wrapper_to_result` methods
105
- - These methods don't exist in the `:batch` strategy (ConflictResolver now uses Emitter)
106
- - Tests were for old `:node` strategy pattern
107
-
108
- ### Fixed
109
-
110
- - **NodeWrapper signature tests**: Updated tests to expect `:root_object`/`:root_array` for root-level containers
111
- - Root-level objects now correctly return `[:root_object, ...]` instead of `[:object, ...]`
112
- - Root-level arrays now correctly return `[:root_array]` instead of `[:array, count]`
113
- - Added `:parent` method stubs to mock node tests for `root_level_container?` compatibility
114
- - **ConflictResolver#emit_node**: Fixed handling of pair nodes with object values
115
- - When emitting a pair like `"features": {...}`, the value was treated as raw text
116
- - Now correctly detects when a pair's value is an object container
117
- - Recursively emits object structure using `emit_nested_object_start/end`
118
- - Treats arrays as atomic values (emits as raw text)
119
- - Prevents double key emission and invalid JSON output in nested merges
120
- - **ConflictResolver#merge_matched_nodes_to_emitter**: Fixed array handling in merge logic
121
- - Arrays are now treated atomically and replaced based on preference setting
122
- - Only objects (not arrays) are recursively merged
123
- - Fixes potential "expected object key, got number" errors when merging arrays
124
- - Arrays like `[1,2,3]` are now correctly replaced with `[4,5]` based on preference
125
-
126
- ## [1.0.0] - 2026-01-06
127
-
128
- - TAG: [v1.0.0][1.0.0t]
129
- - COVERAGE: 100.00% -- 194/194 lines in 2 files
130
- - BRANCH COVERAGE: 84.15% -- 69/82 branches in 2 files
131
- - 96.67% documented
132
-
133
- ### Added
134
-
135
- - Initial release
136
-
137
- ### Security
138
-
139
- [Unreleased]: https://github.com/kettle-rb/json-merge/compare/v1.1.2...HEAD
140
- [1.1.3]: https://github.com/kettle-rb/json-merge/compare/v1.1.2...v1.1.3
141
- [1.1.3t]: https://github.com/kettle-rb/json-merge/releases/tag/v1.1.3
142
- [1.1.2]: https://github.com/kettle-rb/json-merge/compare/v1.1.1...v1.1.2
143
- [1.1.2t]: https://github.com/kettle-rb/json-merge/releases/tag/v1.1.2
144
- [1.1.1]: https://github.com/kettle-rb/json-merge/compare/v1.1.0...v1.1.1
145
- [1.1.1t]: https://github.com/kettle-rb/json-merge/releases/tag/v1.1.1
146
- [1.1.0]: https://github.com/kettle-rb/json-merge/compare/v1.0.0...v1.1.0
147
- [1.1.0t]: https://github.com/kettle-rb/json-merge/releases/tag/v1.1.0
148
- [1.0.0]: https://github.com/kettle-rb/json-merge/compare/f1cc25b1d9b79c598270e3aa203fa56787e6c6fc...v1.0.0
149
- [1.0.0t]: https://github.com/kettle-rb/json-merge/tags/v1.0.0
data/CITATION.cff DELETED
@@ -1,20 +0,0 @@
1
- cff-version: 1.2.0
2
- title: json-merge
3
- message: >-
4
- If you use this work and you want to cite it,
5
- then you can use the metadata from this file.
6
- type: software
7
- authors:
8
- - given-names: Peter Hurn
9
- family-names: Boling
10
- email: peter@railsbling.com
11
- affiliation: railsbling.com
12
- orcid: 'https://orcid.org/0009-0008-8519-441X'
13
- identifiers:
14
- - type: url
15
- value: 'https://github.com/kettle-rb/json-merge'
16
- description: json-merge
17
- repository-code: 'https://github.com/kettle-rb/json-merge'
18
- abstract: >-
19
- json-merge
20
- license: See license file
data/CODE_OF_CONDUCT.md DELETED
@@ -1,134 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- We as members, contributors, and leaders pledge to make participation in our
6
- community a harassment-free experience for everyone, regardless of age, body
7
- size, visible or invisible disability, ethnicity, sex characteristics, gender
8
- identity and expression, level of experience, education, socio-economic status,
9
- nationality, personal appearance, race, caste, color, religion, or sexual
10
- identity and orientation.
11
-
12
- We pledge to act and interact in ways that contribute to an open, welcoming,
13
- diverse, inclusive, and healthy community.
14
-
15
- ## Our Standards
16
-
17
- Examples of behavior that contributes to a positive environment for our
18
- community include:
19
-
20
- * Demonstrating empathy and kindness toward other people
21
- * Being respectful of differing opinions, viewpoints, and experiences
22
- * Giving and gracefully accepting constructive feedback
23
- * Accepting responsibility and apologizing to those affected by our mistakes,
24
- and learning from the experience
25
- * Focusing on what is best not just for us as individuals, but for the overall
26
- community
27
-
28
- Examples of unacceptable behavior include:
29
-
30
- * The use of sexualized language or imagery, and sexual attention or advances of
31
- any kind
32
- * Trolling, insulting or derogatory comments, and personal or political attacks
33
- * Public or private harassment
34
- * Publishing others' private information, such as a physical or email address,
35
- without their explicit permission
36
- * Other conduct which could reasonably be considered inappropriate in a
37
- professional setting
38
-
39
- ## Enforcement Responsibilities
40
-
41
- Community leaders are responsible for clarifying and enforcing our standards of
42
- acceptable behavior and will take appropriate and fair corrective action in
43
- response to any behavior that they deem inappropriate, threatening, offensive,
44
- or harmful.
45
-
46
- Community leaders have the right and responsibility to remove, edit, or reject
47
- comments, commits, code, wiki edits, issues, and other contributions that are
48
- not aligned to this Code of Conduct, and will communicate reasons for moderation
49
- decisions when appropriate.
50
-
51
- ## Scope
52
-
53
- This Code of Conduct applies within all community spaces, and also applies when
54
- an individual is officially representing the community in public spaces.
55
- Examples of representing our community include using an official email address,
56
- posting via an official social media account, or acting as an appointed
57
- representative at an online or offline event.
58
-
59
- ## Enforcement
60
-
61
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
- reported to the community leaders responsible for enforcement at
63
- [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact].
64
- All complaints will be reviewed and investigated promptly and fairly.
65
-
66
- All community leaders are obligated to respect the privacy and security of the
67
- reporter of any incident.
68
-
69
- ## Enforcement Guidelines
70
-
71
- Community leaders will follow these Community Impact Guidelines in determining
72
- the consequences for any action they deem in violation of this Code of Conduct:
73
-
74
- ### 1. Correction
75
-
76
- **Community Impact**: Use of inappropriate language or other behavior deemed
77
- unprofessional or unwelcome in the community.
78
-
79
- **Consequence**: A private, written warning from community leaders, providing
80
- clarity around the nature of the violation and an explanation of why the
81
- behavior was inappropriate. A public apology may be requested.
82
-
83
- ### 2. Warning
84
-
85
- **Community Impact**: A violation through a single incident or series of
86
- actions.
87
-
88
- **Consequence**: A warning with consequences for continued behavior. No
89
- interaction with the people involved, including unsolicited interaction with
90
- those enforcing the Code of Conduct, for a specified period of time. This
91
- includes avoiding interactions in community spaces as well as external channels
92
- like social media. Violating these terms may lead to a temporary or permanent
93
- ban.
94
-
95
- ### 3. Temporary Ban
96
-
97
- **Community Impact**: A serious violation of community standards, including
98
- sustained inappropriate behavior.
99
-
100
- **Consequence**: A temporary ban from any sort of interaction or public
101
- communication with the community for a specified period of time. No public or
102
- private interaction with the people involved, including unsolicited interaction
103
- with those enforcing the Code of Conduct, is allowed during this period.
104
- Violating these terms may lead to a permanent ban.
105
-
106
- ### 4. Permanent Ban
107
-
108
- **Community Impact**: Demonstrating a pattern of violation of community
109
- standards, including sustained inappropriate behavior, harassment of an
110
- individual, or aggression toward or disparagement of classes of individuals.
111
-
112
- **Consequence**: A permanent ban from any sort of public interaction within the
113
- community.
114
-
115
- ## Attribution
116
-
117
- This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118
- version 2.1, available at
119
- [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
120
-
121
- Community Impact Guidelines were inspired by
122
- [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
123
-
124
- For answers to common questions about this code of conduct, see the FAQ at
125
- [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
126
- [https://www.contributor-covenant.org/translations][translations].
127
-
128
- [homepage]: https://www.contributor-covenant.org
129
- [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
130
- [Mozilla CoC]: https://github.com/mozilla/diversity
131
- [FAQ]: https://www.contributor-covenant.org/faq
132
- [translations]: https://www.contributor-covenant.org/translations
133
- [🚂maint-contact]: http://www.railsbling.com/contact
134
- [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red