ruby-enum 0.8.0 → 1.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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -10
  3. data/Dangerfile +4 -0
  4. data/Gemfile +10 -1
  5. data/Gemfile.lock +143 -33
  6. data/LICENSE.md +1 -1
  7. data/README.md +202 -76
  8. data/RELEASING.md +4 -11
  9. data/Rakefile +7 -0
  10. data/UPGRADING.md +44 -0
  11. data/benchmarks/case.rb +45 -0
  12. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc.png +0 -0
  13. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  14. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_both.png +0 -0
  15. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc.png +0 -0
  16. data/coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  17. data/coverage/assets/0.12.3/application.css +1 -0
  18. data/coverage/assets/0.12.3/application.js +7 -0
  19. data/coverage/assets/0.12.3/colorbox/border.png +0 -0
  20. data/coverage/assets/0.12.3/colorbox/controls.png +0 -0
  21. data/coverage/assets/0.12.3/colorbox/loading.gif +0 -0
  22. data/coverage/assets/0.12.3/colorbox/loading_background.png +0 -0
  23. data/coverage/assets/0.12.3/favicon_green.png +0 -0
  24. data/coverage/assets/0.12.3/favicon_red.png +0 -0
  25. data/coverage/assets/0.12.3/favicon_yellow.png +0 -0
  26. data/coverage/assets/0.12.3/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  27. data/coverage/assets/0.12.3/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  28. data/coverage/assets/0.12.3/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  29. data/coverage/assets/0.12.3/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  30. data/coverage/assets/0.12.3/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  31. data/coverage/assets/0.12.3/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  32. data/coverage/assets/0.12.3/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  33. data/coverage/assets/0.12.3/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  34. data/coverage/assets/0.12.3/images/ui-icons_222222_256x240.png +0 -0
  35. data/coverage/assets/0.12.3/images/ui-icons_2e83ff_256x240.png +0 -0
  36. data/coverage/assets/0.12.3/images/ui-icons_454545_256x240.png +0 -0
  37. data/coverage/assets/0.12.3/images/ui-icons_888888_256x240.png +0 -0
  38. data/coverage/assets/0.12.3/images/ui-icons_cd0a0a_256x240.png +0 -0
  39. data/coverage/assets/0.12.3/loading.gif +0 -0
  40. data/coverage/assets/0.12.3/magnify.png +0 -0
  41. data/coverage/index.html +8785 -0
  42. data/lib/ruby-enum/enum/case.rb +84 -0
  43. data/lib/ruby-enum/enum/i18n_mock.rb +19 -0
  44. data/lib/ruby-enum/enum.rb +14 -5
  45. data/lib/ruby-enum/errors/base.rb +3 -3
  46. data/lib/ruby-enum/version.rb +1 -1
  47. data/lib/ruby-enum.rb +15 -3
  48. data/ruby-enum.gemspec +2 -1
  49. data/spec/ruby-enum/enum/case_spec.rb +118 -0
  50. data/spec/ruby-enum/enum_spec.rb +143 -34
  51. data/spec/spec_helper.rb +4 -0
  52. data/spec_i18n/Gemfile +9 -0
  53. data/spec_i18n/Gemfile.lock +35 -0
  54. data/spec_i18n/Rakefile +12 -0
  55. data/spec_i18n/spec/i18n_spec.rb +48 -0
  56. data/spec_i18n/spec/spec_helper.rb +8 -0
  57. metadata +52 -24
@@ -0,0 +1,35 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ ruby-enum (1.0.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.5.0)
10
+ rake (13.1.0)
11
+ rspec (3.12.0)
12
+ rspec-core (~> 3.12.0)
13
+ rspec-expectations (~> 3.12.0)
14
+ rspec-mocks (~> 3.12.0)
15
+ rspec-core (3.12.2)
16
+ rspec-support (~> 3.12.0)
17
+ rspec-expectations (3.12.3)
18
+ diff-lcs (>= 1.2.0, < 2.0)
19
+ rspec-support (~> 3.12.0)
20
+ rspec-mocks (3.12.6)
21
+ diff-lcs (>= 1.2.0, < 2.0)
22
+ rspec-support (~> 3.12.0)
23
+ rspec-support (3.12.1)
24
+
25
+ PLATFORMS
26
+ arm64-darwin-22
27
+ ruby
28
+
29
+ DEPENDENCIES
30
+ rake
31
+ rspec (~> 3.0)
32
+ ruby-enum!
33
+
34
+ BUNDLED WITH
35
+ 2.5.1
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rubygems'
4
+
5
+ require 'rspec/core'
6
+ require 'rspec/core/rake_task'
7
+
8
+ RSpec::Core::RakeTask.new(:spec) do |spec|
9
+ spec.pattern = FileList['spec/**/*_spec.rb']
10
+ end
11
+
12
+ task default: %i[spec]
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ test_class = Class.new do
6
+ include Ruby::Enum
7
+
8
+ define :RED, 'red'
9
+ define :GREEN, 'green'
10
+ end
11
+
12
+ describe Ruby::Enum do
13
+ context 'when the i18n gem is not loaded' do
14
+ it 'raises UninitializedConstantError on an invalid constant' do
15
+ expect do
16
+ test_class::ANYTHING
17
+ end.to raise_error Ruby::Enum::Errors::UninitializedConstantError, /ruby.enum.errors.messages.uninitialized_constant.summary/
18
+ end
19
+
20
+ context 'when a duplicate key is used' do
21
+ before do
22
+ allow(described_class).to receive(:i18n).and_return(Ruby::Enum::I18nMock)
23
+ end
24
+
25
+ it 'raises DuplicateKeyError' do
26
+ expect do
27
+ test_class.class_eval do
28
+ define :RED, 'some'
29
+ end
30
+ end.to raise_error Ruby::Enum::Errors::DuplicateKeyError, /ruby.enum.errors.messages.duplicate_key.message/
31
+ end
32
+ end
33
+
34
+ context 'when a duplicate value is used' do
35
+ before do
36
+ allow(described_class).to receive(:i18n).and_return(Ruby::Enum::I18nMock)
37
+ end
38
+
39
+ it 'raises a DuplicateValueError' do
40
+ expect do
41
+ test_class.class_eval do
42
+ define :Other, 'red'
43
+ end
44
+ end.to raise_error Ruby::Enum::Errors::DuplicateValueError, /ruby.enum.errors.messages.duplicate_value.summary/
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
4
+
5
+ require 'rubygems'
6
+
7
+ require 'rspec'
8
+ require 'ruby-enum'
metadata CHANGED
@@ -1,30 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-27 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: i18n
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- description:
11
+ date: 2024-01-10 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description:
28
14
  email: dblock@dblock.org
29
15
  executables: []
30
16
  extensions: []
@@ -32,15 +18,50 @@ extra_rdoc_files: []
32
18
  files:
33
19
  - CHANGELOG.md
34
20
  - CONTRIBUTING.md
21
+ - Dangerfile
35
22
  - Gemfile
36
23
  - Gemfile.lock
37
24
  - LICENSE.md
38
25
  - README.md
39
26
  - RELEASING.md
40
27
  - Rakefile
28
+ - UPGRADING.md
29
+ - benchmarks/case.rb
30
+ - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc.png
31
+ - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_asc_disabled.png
32
+ - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_both.png
33
+ - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc.png
34
+ - coverage/assets/0.12.3/DataTables-1.10.20/images/sort_desc_disabled.png
35
+ - coverage/assets/0.12.3/application.css
36
+ - coverage/assets/0.12.3/application.js
37
+ - coverage/assets/0.12.3/colorbox/border.png
38
+ - coverage/assets/0.12.3/colorbox/controls.png
39
+ - coverage/assets/0.12.3/colorbox/loading.gif
40
+ - coverage/assets/0.12.3/colorbox/loading_background.png
41
+ - coverage/assets/0.12.3/favicon_green.png
42
+ - coverage/assets/0.12.3/favicon_red.png
43
+ - coverage/assets/0.12.3/favicon_yellow.png
44
+ - coverage/assets/0.12.3/images/ui-bg_flat_0_aaaaaa_40x100.png
45
+ - coverage/assets/0.12.3/images/ui-bg_flat_75_ffffff_40x100.png
46
+ - coverage/assets/0.12.3/images/ui-bg_glass_55_fbf9ee_1x400.png
47
+ - coverage/assets/0.12.3/images/ui-bg_glass_65_ffffff_1x400.png
48
+ - coverage/assets/0.12.3/images/ui-bg_glass_75_dadada_1x400.png
49
+ - coverage/assets/0.12.3/images/ui-bg_glass_75_e6e6e6_1x400.png
50
+ - coverage/assets/0.12.3/images/ui-bg_glass_95_fef1ec_1x400.png
51
+ - coverage/assets/0.12.3/images/ui-bg_highlight-soft_75_cccccc_1x100.png
52
+ - coverage/assets/0.12.3/images/ui-icons_222222_256x240.png
53
+ - coverage/assets/0.12.3/images/ui-icons_2e83ff_256x240.png
54
+ - coverage/assets/0.12.3/images/ui-icons_454545_256x240.png
55
+ - coverage/assets/0.12.3/images/ui-icons_888888_256x240.png
56
+ - coverage/assets/0.12.3/images/ui-icons_cd0a0a_256x240.png
57
+ - coverage/assets/0.12.3/loading.gif
58
+ - coverage/assets/0.12.3/magnify.png
59
+ - coverage/index.html
41
60
  - lib/config/locales/en.yml
42
61
  - lib/ruby-enum.rb
43
62
  - lib/ruby-enum/enum.rb
63
+ - lib/ruby-enum/enum/case.rb
64
+ - lib/ruby-enum/enum/i18n_mock.rb
44
65
  - lib/ruby-enum/errors/base.rb
45
66
  - lib/ruby-enum/errors/duplicate_key_error.rb
46
67
  - lib/ruby-enum/errors/duplicate_value_error.rb
@@ -48,14 +69,21 @@ files:
48
69
  - lib/ruby-enum/version.rb
49
70
  - lib/ruby_enum.rb
50
71
  - ruby-enum.gemspec
72
+ - spec/ruby-enum/enum/case_spec.rb
51
73
  - spec/ruby-enum/enum_spec.rb
52
74
  - spec/ruby-enum/version_spec.rb
53
75
  - spec/spec_helper.rb
76
+ - spec_i18n/Gemfile
77
+ - spec_i18n/Gemfile.lock
78
+ - spec_i18n/Rakefile
79
+ - spec_i18n/spec/i18n_spec.rb
80
+ - spec_i18n/spec/spec_helper.rb
54
81
  homepage: http://github.com/dblock/ruby-enum
55
82
  licenses:
56
83
  - MIT
57
- metadata: {}
58
- post_install_message:
84
+ metadata:
85
+ rubygems_mfa_required: 'true'
86
+ post_install_message:
59
87
  rdoc_options: []
60
88
  require_paths:
61
89
  - lib
@@ -63,15 +91,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
63
91
  requirements:
64
92
  - - ">="
65
93
  - !ruby/object:Gem::Version
66
- version: '0'
94
+ version: '2.7'
67
95
  required_rubygems_version: !ruby/object:Gem::Requirement
68
96
  requirements:
69
97
  - - ">="
70
98
  - !ruby/object:Gem::Version
71
99
  version: 1.3.6
72
100
  requirements: []
73
- rubygems_version: 3.0.3
74
- signing_key:
101
+ rubygems_version: 3.5.1
102
+ signing_key:
75
103
  specification_version: 4
76
104
  summary: Enum-like behavior for Ruby.
77
105
  test_files: []