ruby-enum 0.8.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []