typesafe_enum 0.2.2 → 0.3.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.
- checksums.yaml +4 -4
- data/.gitignore +206 -29
- data/.idea/.rakeTasks +7 -0
- data/.idea/codeStyles/Project.xml +45 -0
- data/.idea/codeStyles/codeStyleConfig.xml +5 -0
- data/.idea/go.imports.xml +6 -0
- data/.idea/inspectionProfiles/Project_Default.xml +17 -0
- data/.idea/misc.xml +9 -0
- data/.idea/modules.xml +8 -0
- data/.idea/typesafe_enum.iml +38 -0
- data/.idea/vcs.xml +6 -0
- data/.rubocop.yml +184 -22
- data/.ruby-version +1 -1
- data/.travis.yml +7 -0
- data/CHANGES.md +8 -0
- data/README.md +14 -0
- data/lib/typesafe_enum/base.rb +29 -12
- data/lib/typesafe_enum/module_info.rb +1 -1
- data/spec/.rubocop.yml +3 -0
- data/spec/unit/typesafe_enum/base_spec.rb +58 -4
- data/typesafe_enum.gemspec +4 -2
- metadata +20 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e86150c4dbad18dc3b34bc33f36af102c1f6a971de91e1fdd77eda854f00ff88
|
|
4
|
+
data.tar.gz: 5e05fae89f1428427afff174ceaf42336e2031851d1428a58b9cf98adef42ba1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 866a544ab2935cd10e40fc44ee9f965ee08f21fcfed13a0412eaccbe09157b93a5a3df067a1c25b2c75d676c7d2dcbcccfe25141de708c77f32230d73cfca93d
|
|
7
|
+
data.tar.gz: ba826a728d1e2bed282df2f9d550ea7edd780f45f07c1bcdf6967710de52edd8898ec512281f48d36ba8dfb6d781655e8de7bd5e2adb16473dccf98f8c87416f
|
data/.gitignore
CHANGED
|
@@ -1,50 +1,227 @@
|
|
|
1
|
-
|
|
1
|
+
############################################################
|
|
2
|
+
# Custom ignores
|
|
2
3
|
|
|
3
|
-
.
|
|
4
|
-
/
|
|
4
|
+
# apps need Gemfile.lock in source control, gems don't
|
|
5
|
+
/Gemfile.lock
|
|
5
6
|
|
|
6
|
-
#
|
|
7
|
+
# https://youtrack.jetbrains.com/issue/IDEA-233049
|
|
8
|
+
.idea/$CACHE_FILE$
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/
|
|
10
|
+
############################################################
|
|
11
|
+
# Generated ignores
|
|
12
|
+
|
|
13
|
+
#### joe made this: http://goel.io/joe
|
|
14
|
+
|
|
15
|
+
#### ruby ####
|
|
16
|
+
*.gem
|
|
17
|
+
*.rbc
|
|
18
|
+
/.config
|
|
12
19
|
/coverage/
|
|
13
|
-
/
|
|
20
|
+
/InstalledFiles
|
|
14
21
|
/pkg/
|
|
15
22
|
/spec/reports/
|
|
23
|
+
/spec/examples.txt
|
|
24
|
+
/test/tmp/
|
|
25
|
+
/test/version_tmp/
|
|
16
26
|
/tmp/
|
|
17
|
-
*.bundle
|
|
18
|
-
*.so
|
|
19
|
-
*.o
|
|
20
|
-
*.a
|
|
21
|
-
mkmf.log
|
|
22
27
|
|
|
23
|
-
#
|
|
24
|
-
|
|
28
|
+
# Used by dotenv library to load environment variables.
|
|
29
|
+
# .env
|
|
30
|
+
|
|
31
|
+
# Ignore Byebug command history file.
|
|
32
|
+
.byebug_history
|
|
25
33
|
|
|
26
|
-
|
|
34
|
+
## Specific to RubyMotion:
|
|
35
|
+
.dat*
|
|
36
|
+
.repl_history
|
|
37
|
+
build/
|
|
38
|
+
*.bridgesupport
|
|
39
|
+
build-iPhoneOS/
|
|
40
|
+
build-iPhoneSimulator/
|
|
27
41
|
|
|
28
|
-
|
|
42
|
+
## Specific to RubyMotion (use of CocoaPods):
|
|
43
|
+
#
|
|
44
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
|
45
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
|
46
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
|
47
|
+
#
|
|
48
|
+
# vendor/Pods/
|
|
29
49
|
|
|
30
|
-
|
|
50
|
+
## Documentation cache and generated files:
|
|
51
|
+
/.yardoc/
|
|
52
|
+
/_yardoc/
|
|
53
|
+
/doc/
|
|
54
|
+
/rdoc/
|
|
31
55
|
|
|
32
|
-
|
|
56
|
+
## Environment normalization:
|
|
57
|
+
/.bundle/
|
|
58
|
+
/vendor/bundle
|
|
59
|
+
/lib/bundler/man/
|
|
33
60
|
|
|
34
|
-
#
|
|
61
|
+
# for a library or gem, you might want to ignore these files since the code is
|
|
62
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
63
|
+
# Gemfile.lock
|
|
64
|
+
# .ruby-version
|
|
65
|
+
# .ruby-gemset
|
|
35
66
|
|
|
36
|
-
|
|
37
|
-
|
|
67
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
|
68
|
+
.rvmrc
|
|
69
|
+
|
|
70
|
+
# Used by RuboCop. Remote config files pulled in from inherit_from directive.
|
|
71
|
+
# .rubocop-https?--*
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
#### jetbrains ####
|
|
75
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
|
76
|
+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
|
77
|
+
|
|
78
|
+
# User-specific stuff
|
|
79
|
+
.idea/**/workspace.xml
|
|
80
|
+
.idea/**/tasks.xml
|
|
81
|
+
.idea/**/usage.statistics.xml
|
|
82
|
+
.idea/**/dictionaries
|
|
83
|
+
.idea/**/shelf
|
|
84
|
+
|
|
85
|
+
# Generated files
|
|
86
|
+
.idea/**/contentModel.xml
|
|
87
|
+
|
|
88
|
+
# Sensitive or high-churn files
|
|
89
|
+
.idea/**/dataSources/
|
|
90
|
+
.idea/**/dataSources.ids
|
|
91
|
+
.idea/**/dataSources.local.xml
|
|
92
|
+
.idea/**/sqlDataSources.xml
|
|
93
|
+
.idea/**/dynamic.xml
|
|
94
|
+
.idea/**/uiDesigner.xml
|
|
95
|
+
.idea/**/dbnavigator.xml
|
|
96
|
+
|
|
97
|
+
# Gradle
|
|
98
|
+
.idea/**/gradle.xml
|
|
99
|
+
.idea/**/libraries
|
|
100
|
+
|
|
101
|
+
# Gradle and Maven with auto-import
|
|
102
|
+
# When using Gradle or Maven with auto-import, you should exclude module files,
|
|
103
|
+
# since they will be recreated, and may cause churn. Uncomment if using
|
|
104
|
+
# auto-import.
|
|
105
|
+
# .idea/artifacts
|
|
106
|
+
# .idea/compiler.xml
|
|
107
|
+
# .idea/jarRepositories.xml
|
|
108
|
+
# .idea/modules.xml
|
|
109
|
+
# .idea/*.iml
|
|
110
|
+
# .idea/modules
|
|
111
|
+
# *.iml
|
|
112
|
+
# *.ipr
|
|
113
|
+
|
|
114
|
+
# CMake
|
|
115
|
+
cmake-build-*/
|
|
116
|
+
|
|
117
|
+
# Mongo Explorer plugin
|
|
118
|
+
.idea/**/mongoSettings.xml
|
|
119
|
+
|
|
120
|
+
# File-based project format
|
|
38
121
|
*.iws
|
|
39
|
-
*.ids
|
|
40
|
-
.rakeTasks
|
|
41
122
|
|
|
42
|
-
#
|
|
123
|
+
# IntelliJ
|
|
124
|
+
out/
|
|
125
|
+
|
|
126
|
+
# mpeltonen/sbt-idea plugin
|
|
127
|
+
.idea_modules/
|
|
43
128
|
|
|
129
|
+
# JIRA plugin
|
|
130
|
+
atlassian-ide-plugin.xml
|
|
131
|
+
|
|
132
|
+
# Cursive Clojure plugin
|
|
133
|
+
.idea/replstate.xml
|
|
134
|
+
|
|
135
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
136
|
+
com_crashlytics_export_strings.xml
|
|
137
|
+
crashlytics.properties
|
|
138
|
+
crashlytics-build.properties
|
|
139
|
+
fabric.properties
|
|
140
|
+
|
|
141
|
+
# Editor-based Rest Client
|
|
142
|
+
.idea/httpRequests
|
|
143
|
+
|
|
144
|
+
# Android studio 3.1+ serialized cache file
|
|
145
|
+
.idea/caches/build_file_checksums.ser
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
#### emacs ####
|
|
149
|
+
# -*- mode: gitignore; -*-
|
|
44
150
|
*~
|
|
45
|
-
|
|
46
|
-
|
|
151
|
+
\#*\#
|
|
152
|
+
/.emacs.desktop
|
|
153
|
+
/.emacs.desktop.lock
|
|
154
|
+
*.elc
|
|
155
|
+
auto-save-list
|
|
156
|
+
tramp
|
|
157
|
+
.\#*
|
|
158
|
+
|
|
159
|
+
# Org-mode
|
|
160
|
+
.org-id-locations
|
|
161
|
+
*_archive
|
|
162
|
+
|
|
163
|
+
# flymake-mode
|
|
164
|
+
*_flymake.*
|
|
165
|
+
|
|
166
|
+
# eshell files
|
|
167
|
+
/eshell/history
|
|
168
|
+
/eshell/lastdir
|
|
169
|
+
|
|
170
|
+
# elpa packages
|
|
171
|
+
/elpa/
|
|
172
|
+
|
|
173
|
+
# reftex files
|
|
174
|
+
*.rel
|
|
175
|
+
|
|
176
|
+
# AUCTeX auto folder
|
|
177
|
+
/auto/
|
|
47
178
|
|
|
48
|
-
#
|
|
179
|
+
# cask packages
|
|
180
|
+
.cask/
|
|
181
|
+
dist/
|
|
49
182
|
|
|
183
|
+
# Flycheck
|
|
184
|
+
flycheck_*.el
|
|
185
|
+
|
|
186
|
+
# server auth directory
|
|
187
|
+
/server/
|
|
188
|
+
|
|
189
|
+
# projectiles files
|
|
190
|
+
.projectile
|
|
191
|
+
|
|
192
|
+
# directory configuration
|
|
193
|
+
.dir-locals.el
|
|
194
|
+
|
|
195
|
+
# network security
|
|
196
|
+
/network-security.data
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
#### macos ####
|
|
201
|
+
# General
|
|
50
202
|
.DS_Store
|
|
203
|
+
.AppleDouble
|
|
204
|
+
.LSOverride
|
|
205
|
+
|
|
206
|
+
# Icon must end with two \r
|
|
207
|
+
Icon
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
# Thumbnails
|
|
211
|
+
._*
|
|
212
|
+
|
|
213
|
+
# Files that might appear in the root of a volume
|
|
214
|
+
.DocumentRevisions-V100
|
|
215
|
+
.fseventsd
|
|
216
|
+
.Spotlight-V100
|
|
217
|
+
.TemporaryItems
|
|
218
|
+
.Trashes
|
|
219
|
+
.VolumeIcon.icns
|
|
220
|
+
.com.apple.timemachine.donotpresent
|
|
221
|
+
|
|
222
|
+
# Directories potentially created on remote AFP share
|
|
223
|
+
.AppleDB
|
|
224
|
+
.AppleDesktop
|
|
225
|
+
Network Trash Folder
|
|
226
|
+
Temporary Items
|
|
227
|
+
.apdisk
|
data/.idea/.rakeTasks
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Settings><!--This file was automatically generated by Ruby plugin.
|
|
3
|
+
You are allowed to:
|
|
4
|
+
1. Remove rake task
|
|
5
|
+
2. Add existing rake tasks
|
|
6
|
+
To add existing rake tasks automatically delete this file and reload the project.
|
|
7
|
+
--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Run all unit tests with coverage" fullCmd="coverage" taksId="coverage" /><RakeTask description="Run unit tests, check test coverage, run acceptance tests, check code style" fullCmd="default" taksId="default" /><RakeTask description="Run RuboCop" fullCmd="rubocop" taksId="rubocop" /><RakeGroup description="" fullCmd="" taksId="rubocop"><RakeTask description="Auto-correct RuboCop offenses" fullCmd="rubocop:auto_correct" taksId="auto_correct" /></RakeGroup><RakeTask description="Run all tests" fullCmd="spec" taksId="spec" /><RakeGroup description="" fullCmd="" taksId="spec"><RakeTask description="Run all unit tests" fullCmd="spec:unit" taksId="unit" /><RakeTask description="" fullCmd="spec:all" taksId="all" /></RakeGroup><RakeTask description="List TODOs (from spec/todo.rb)" fullCmd="todo" taksId="todo" /></RakeGroup></Settings>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<component name="ProjectCodeStyleConfiguration">
|
|
2
|
+
<code_scheme name="Project" version="173">
|
|
3
|
+
<Properties>
|
|
4
|
+
<option name="KEEP_BLANK_LINES" value="true" />
|
|
5
|
+
</Properties>
|
|
6
|
+
<Python>
|
|
7
|
+
<option name="DICT_NEW_LINE_AFTER_LEFT_BRACE" value="true" />
|
|
8
|
+
<option name="DICT_NEW_LINE_BEFORE_RIGHT_BRACE" value="true" />
|
|
9
|
+
</Python>
|
|
10
|
+
<Shell_Script>
|
|
11
|
+
<option name="REDIRECT_FOLLOWED_BY_SPACE" value="true" />
|
|
12
|
+
</Shell_Script>
|
|
13
|
+
<codeStyleSettings language="Groovy">
|
|
14
|
+
<indentOptions>
|
|
15
|
+
<option name="INDENT_SIZE" value="2" />
|
|
16
|
+
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
|
17
|
+
<option name="TAB_SIZE" value="2" />
|
|
18
|
+
</indentOptions>
|
|
19
|
+
</codeStyleSettings>
|
|
20
|
+
<codeStyleSettings language="HTML">
|
|
21
|
+
<option name="RIGHT_MARGIN" value="200" />
|
|
22
|
+
<indentOptions>
|
|
23
|
+
<option name="INDENT_SIZE" value="2" />
|
|
24
|
+
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
|
25
|
+
<option name="TAB_SIZE" value="2" />
|
|
26
|
+
</indentOptions>
|
|
27
|
+
</codeStyleSettings>
|
|
28
|
+
<codeStyleSettings language="JAVA">
|
|
29
|
+
<option name="IF_BRACE_FORCE" value="3" />
|
|
30
|
+
<option name="DOWHILE_BRACE_FORCE" value="3" />
|
|
31
|
+
<option name="WHILE_BRACE_FORCE" value="3" />
|
|
32
|
+
<option name="FOR_BRACE_FORCE" value="3" />
|
|
33
|
+
<indentOptions>
|
|
34
|
+
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
|
35
|
+
</indentOptions>
|
|
36
|
+
</codeStyleSettings>
|
|
37
|
+
<codeStyleSettings language="ruby">
|
|
38
|
+
<option name="SPACE_WITHIN_BRACES" value="true" />
|
|
39
|
+
<indentOptions>
|
|
40
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
41
|
+
<option name="USE_RELATIVE_INDENTS" value="false" />
|
|
42
|
+
</indentOptions>
|
|
43
|
+
</codeStyleSettings>
|
|
44
|
+
</code_scheme>
|
|
45
|
+
</component>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<component name="InspectionProjectProfileManager">
|
|
2
|
+
<profile version="1.0">
|
|
3
|
+
<option name="myName" value="Project Default" />
|
|
4
|
+
<inspection_tool class="GoNameStartsWithPackageName" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
|
|
5
|
+
<inspection_tool class="GoSnakeCaseUsage" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
|
|
6
|
+
<inspection_tool class="GoUnusedGlobalVariable" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
|
|
7
|
+
<inspection_tool class="GoUnusedVariable" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
8
|
+
<inspection_tool class="GrazieInspection" enabled="false" level="TYPO" enabled_by_default="false" />
|
|
9
|
+
<inspection_tool class="Rubocop" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
10
|
+
<inspection_tool class="RubyStringKeysInHashInspection" enabled="true" level="INFORMATION" enabled_by_default="true" />
|
|
11
|
+
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
|
12
|
+
<option name="processCode" value="true" />
|
|
13
|
+
<option name="processLiterals" value="true" />
|
|
14
|
+
<option name="processComments" value="true" />
|
|
15
|
+
</inspection_tool>
|
|
16
|
+
</profile>
|
|
17
|
+
</component>
|
data/.idea/misc.xml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="JavaScriptSettings">
|
|
4
|
+
<option name="languageLevel" value="ES6" />
|
|
5
|
+
</component>
|
|
6
|
+
<component name="ProjectRootManager" version="2" languageLevel="JDK_13" project-jdk-name="13" project-jdk-type="JavaSDK">
|
|
7
|
+
<output url="file://$PROJECT_DIR$/out" />
|
|
8
|
+
</component>
|
|
9
|
+
</project>
|
data/.idea/modules.xml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/typesafe_enum.iml" filepath="$PROJECT_DIR$/.idea/typesafe_enum.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="RUBY_MODULE" version="4">
|
|
3
|
+
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
4
|
+
<exclude-output />
|
|
5
|
+
<content url="file://$MODULE_DIR$" />
|
|
6
|
+
<orderEntry type="jdk" jdkName="RVM: ruby-2.6.6" jdkType="RUBY_SDK" />
|
|
7
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
8
|
+
<orderEntry type="library" scope="PROVIDED" name="ansi (v1.5.0, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
9
|
+
<orderEntry type="library" scope="PROVIDED" name="ast (v2.4.1, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
10
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v2.1.4, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
11
|
+
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
12
|
+
<orderEntry type="library" scope="PROVIDED" name="docile (v1.3.2, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
13
|
+
<orderEntry type="library" scope="PROVIDED" name="parallel (v1.19.2, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
14
|
+
<orderEntry type="library" scope="PROVIDED" name="parser (v2.7.2.0, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
15
|
+
<orderEntry type="library" scope="PROVIDED" name="rainbow (v3.0.0, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
16
|
+
<orderEntry type="library" scope="PROVIDED" name="rake (v12.3.3, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
17
|
+
<orderEntry type="library" scope="PROVIDED" name="regexp_parser (v1.8.2, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
18
|
+
<orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.4, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
19
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.9.0, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
20
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.9.1, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
21
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.9.1, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
22
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.9.1, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
23
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.9.2, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
24
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop (v0.91.0, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
25
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop-ast (v0.8.0, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
26
|
+
<orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.10.1, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
27
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov (v0.18.5, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
28
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov-console (v0.7.2, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
29
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov-html (v0.12.2, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
30
|
+
<orderEntry type="library" scope="PROVIDED" name="terminal-table (v1.8.0, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
31
|
+
<orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v1.7.0, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
32
|
+
<orderEntry type="library" scope="PROVIDED" name="yard (v0.9.24, RVM: ruby-2.6.6) [gem]" level="application" />
|
|
33
|
+
</component>
|
|
34
|
+
<component name="RModuleSettingsStorage">
|
|
35
|
+
<LOAD_PATH number="2" string0="$MODULE_DIR$/lib" string1="$MODULE_DIR$/spec" />
|
|
36
|
+
<I18N_FOLDERS number="0" />
|
|
37
|
+
</component>
|
|
38
|
+
</module>
|
data/.idea/vcs.xml
ADDED
data/.rubocop.yml
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
# Disable compact style check for example.rb
|
|
2
|
-
Style/ClassAndModuleChildren:
|
|
3
|
-
Exclude:
|
|
4
|
-
- 'example.rb'
|
|
5
|
-
|
|
6
1
|
# Allow one line around block body (Layout/EmptyLines will still disallow two or more)
|
|
7
2
|
Layout/EmptyLinesAroundBlockBody:
|
|
8
3
|
Enabled: false
|
|
@@ -27,11 +22,6 @@ Layout/MultilineMethodCallIndentation:
|
|
|
27
22
|
Layout/MultilineOperationIndentation:
|
|
28
23
|
Enabled: false
|
|
29
24
|
|
|
30
|
-
# Just because something looks like an accessor doesn't mean it is one
|
|
31
|
-
Naming/PredicateName:
|
|
32
|
-
Exclude:
|
|
33
|
-
- 'app/controllers/application_controller.rb'
|
|
34
|
-
|
|
35
25
|
# Confusing and weird
|
|
36
26
|
Naming/VariableNumber:
|
|
37
27
|
Enabled: False
|
|
@@ -60,18 +50,6 @@ Style/CommentedKeyword:
|
|
|
60
50
|
Style/Documentation:
|
|
61
51
|
Enabled: false
|
|
62
52
|
|
|
63
|
-
# Added in RuboCop 0.80
|
|
64
|
-
Style/HashEachMethods:
|
|
65
|
-
Enabled: true
|
|
66
|
-
|
|
67
|
-
# Added in RuboCop 0.80
|
|
68
|
-
Style/HashTransformKeys:
|
|
69
|
-
Enabled: true
|
|
70
|
-
|
|
71
|
-
# Added in RuboCop 0.80
|
|
72
|
-
Style/HashTransformValues:
|
|
73
|
-
Enabled: true
|
|
74
|
-
|
|
75
53
|
# Adding more line noise to format strings will not improve them
|
|
76
54
|
Style/FormatStringToken:
|
|
77
55
|
Enabled: false
|
|
@@ -95,3 +73,187 @@ Style/Lambda:
|
|
|
95
73
|
# Unclear why it's a good idea to give parameters semantically meaningless names
|
|
96
74
|
Style/SingleLineBlockParams:
|
|
97
75
|
Enabled: false
|
|
76
|
+
|
|
77
|
+
############################################################
|
|
78
|
+
# Added in RuboCop 0.80
|
|
79
|
+
|
|
80
|
+
Style/HashEachMethods:
|
|
81
|
+
Enabled: true
|
|
82
|
+
|
|
83
|
+
Style/HashTransformKeys:
|
|
84
|
+
Enabled: true
|
|
85
|
+
|
|
86
|
+
Style/HashTransformValues:
|
|
87
|
+
Enabled: true
|
|
88
|
+
|
|
89
|
+
############################################################
|
|
90
|
+
# Added in RuboCop 0.81
|
|
91
|
+
|
|
92
|
+
Lint/StructNewOverride:
|
|
93
|
+
Enabled: true
|
|
94
|
+
|
|
95
|
+
Lint/RaiseException:
|
|
96
|
+
Enabled: true
|
|
97
|
+
|
|
98
|
+
############################################################
|
|
99
|
+
# Added in RuboCop 0.82
|
|
100
|
+
|
|
101
|
+
Layout/SpaceAroundMethodCallOperator:
|
|
102
|
+
Enabled: true
|
|
103
|
+
|
|
104
|
+
Style/ExponentialNotation:
|
|
105
|
+
Enabled: false
|
|
106
|
+
|
|
107
|
+
############################################################
|
|
108
|
+
# Added in RuboCop 0.83
|
|
109
|
+
|
|
110
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
|
111
|
+
Enabled: true
|
|
112
|
+
|
|
113
|
+
Style/SlicingWithRange:
|
|
114
|
+
Enabled: true
|
|
115
|
+
|
|
116
|
+
############################################################
|
|
117
|
+
# Added in RuboCop 0.84
|
|
118
|
+
|
|
119
|
+
Lint/DeprecatedOpenSSLConstant:
|
|
120
|
+
Enabled: true
|
|
121
|
+
|
|
122
|
+
############################################################
|
|
123
|
+
# Added in RuboCop 0.85
|
|
124
|
+
|
|
125
|
+
Lint/MixedRegexpCaptureTypes:
|
|
126
|
+
Enabled: true
|
|
127
|
+
|
|
128
|
+
Style/RedundantRegexpEscape:
|
|
129
|
+
Enabled: true
|
|
130
|
+
|
|
131
|
+
Style/RedundantRegexpCharacterClass:
|
|
132
|
+
Enabled: true
|
|
133
|
+
|
|
134
|
+
############################################################
|
|
135
|
+
# Added in Rubocop 0.86
|
|
136
|
+
|
|
137
|
+
Style/RedundantFetchBlock:
|
|
138
|
+
Enabled: true
|
|
139
|
+
|
|
140
|
+
############################################################
|
|
141
|
+
# Added in Rubocop 0.87
|
|
142
|
+
|
|
143
|
+
# Sometimes we separate things for a reason
|
|
144
|
+
Style/AccessorGrouping:
|
|
145
|
+
Enabled: false
|
|
146
|
+
|
|
147
|
+
Style/BisectedAttrAccessor:
|
|
148
|
+
Enabled: true
|
|
149
|
+
|
|
150
|
+
Style/RedundantAssignment:
|
|
151
|
+
Enabled: true
|
|
152
|
+
|
|
153
|
+
############################################################
|
|
154
|
+
# Added in Rubocop 0.88
|
|
155
|
+
|
|
156
|
+
Lint/DuplicateElsifCondition:
|
|
157
|
+
Enabled: true
|
|
158
|
+
|
|
159
|
+
Style/ArrayCoercion:
|
|
160
|
+
Enabled: true
|
|
161
|
+
|
|
162
|
+
Style/CaseLikeIf:
|
|
163
|
+
Enabled: true
|
|
164
|
+
|
|
165
|
+
Style/HashAsLastArrayItem:
|
|
166
|
+
Enabled: true
|
|
167
|
+
|
|
168
|
+
Style/HashLikeCase:
|
|
169
|
+
Enabled: true
|
|
170
|
+
|
|
171
|
+
Style/RedundantFileExtensionInRequire:
|
|
172
|
+
Enabled: true
|
|
173
|
+
|
|
174
|
+
############################################################
|
|
175
|
+
# Added in Rubocop 0.89
|
|
176
|
+
|
|
177
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
|
178
|
+
Enabled: true
|
|
179
|
+
|
|
180
|
+
Lint/DuplicateRescueException:
|
|
181
|
+
Enabled: true
|
|
182
|
+
|
|
183
|
+
Lint/EmptyConditionalBody:
|
|
184
|
+
Enabled: true
|
|
185
|
+
|
|
186
|
+
Lint/FloatComparison:
|
|
187
|
+
Enabled: true
|
|
188
|
+
|
|
189
|
+
Lint/MissingSuper:
|
|
190
|
+
Enabled: true
|
|
191
|
+
|
|
192
|
+
Lint/OutOfRangeRegexpRef:
|
|
193
|
+
Enabled: true
|
|
194
|
+
|
|
195
|
+
Lint/SelfAssignment:
|
|
196
|
+
Enabled: true
|
|
197
|
+
|
|
198
|
+
Lint/TopLevelReturnWithArgument:
|
|
199
|
+
Enabled: true
|
|
200
|
+
|
|
201
|
+
Lint/UnreachableLoop:
|
|
202
|
+
Enabled: true
|
|
203
|
+
|
|
204
|
+
Style/ExplicitBlockArgument:
|
|
205
|
+
Enabled: true
|
|
206
|
+
|
|
207
|
+
Style/GlobalStdStream:
|
|
208
|
+
Enabled: true
|
|
209
|
+
|
|
210
|
+
Style/OptionalBooleanParameter:
|
|
211
|
+
Enabled: true
|
|
212
|
+
|
|
213
|
+
Style/SingleArgumentDig:
|
|
214
|
+
Enabled: true
|
|
215
|
+
|
|
216
|
+
Style/SoleNestedConditional:
|
|
217
|
+
Enabled: true
|
|
218
|
+
|
|
219
|
+
Style/StringConcatenation:
|
|
220
|
+
Enabled: true
|
|
221
|
+
|
|
222
|
+
############################################################
|
|
223
|
+
# Added in Rubocop 0.90
|
|
224
|
+
|
|
225
|
+
Lint/DuplicateRequire:
|
|
226
|
+
Enabled: true
|
|
227
|
+
|
|
228
|
+
Lint/EmptyFile:
|
|
229
|
+
Enabled: true
|
|
230
|
+
|
|
231
|
+
Lint/TrailingCommaInAttributeDeclaration:
|
|
232
|
+
Enabled: true
|
|
233
|
+
|
|
234
|
+
Lint/UselessMethodDefinition:
|
|
235
|
+
Enabled: true
|
|
236
|
+
|
|
237
|
+
Style/CombinableLoops:
|
|
238
|
+
Enabled: true
|
|
239
|
+
|
|
240
|
+
Style/KeywordParametersOrder:
|
|
241
|
+
Enabled: true
|
|
242
|
+
|
|
243
|
+
Style/RedundantSelfAssignment:
|
|
244
|
+
Enabled: true
|
|
245
|
+
|
|
246
|
+
############################################################
|
|
247
|
+
# Added in Rubocop 0.91
|
|
248
|
+
|
|
249
|
+
Layout/BeginEndAlignment:
|
|
250
|
+
Enabled: true
|
|
251
|
+
|
|
252
|
+
Lint/ConstantDefinitionInBlock:
|
|
253
|
+
Enabled: true
|
|
254
|
+
|
|
255
|
+
Lint/IdentityComparison:
|
|
256
|
+
Enabled: true
|
|
257
|
+
|
|
258
|
+
Lint/UselessTimes:
|
|
259
|
+
Enabled: true
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.6.
|
|
1
|
+
2.6.6
|
data/.travis.yml
CHANGED
data/CHANGES.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.3.0
|
|
2
|
+
|
|
3
|
+
- Support explicit nil values
|
|
4
|
+
- Update author email in gemspec
|
|
5
|
+
- Update RuboCop to version 0.91 and pin version
|
|
6
|
+
- Set minimum required_ruby_version to 2.6.0
|
|
7
|
+
- Bump .ruby-version to 2.6.6
|
|
8
|
+
|
|
1
9
|
## 0.2.2 (23 April 2020)
|
|
2
10
|
|
|
3
11
|
- Implement [`Enumerable`](https://ruby-doc.org/core-2.6.5/Enumerable.html)
|
data/README.md
CHANGED
|
@@ -93,6 +93,20 @@ Scale::KILO.value
|
|
|
93
93
|
# => 1000
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
+
Even `nil` is a valid value (if set explicitly):
|
|
97
|
+
|
|
98
|
+
```ruby
|
|
99
|
+
class Scheme < TypesafeEnum::Base
|
|
100
|
+
new :HTTP, 'http'
|
|
101
|
+
new :HTTPS, 'https'
|
|
102
|
+
new :EXAMPLE, 'example'
|
|
103
|
+
new :UNKNOWN, nil
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
Scheme::UNKNOWN.value
|
|
107
|
+
# => nil
|
|
108
|
+
```
|
|
109
|
+
|
|
96
110
|
Declaring two instances with the same key will produce an error:
|
|
97
111
|
|
|
98
112
|
```ruby
|
data/lib/typesafe_enum/base.rb
CHANGED
|
@@ -79,23 +79,37 @@ module TypesafeEnum
|
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
def valid_key_and_value(instance)
|
|
82
|
+
return unless (key = valid_key(instance))
|
|
83
|
+
|
|
84
|
+
[key, valid_value(instance)]
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def valid_key(instance)
|
|
82
88
|
key = instance.key
|
|
89
|
+
return key unless (found = find_by_key(key))
|
|
90
|
+
|
|
91
|
+
value = instance.value
|
|
92
|
+
raise NameError, "#{name}::#{key} already exists with value #{found.value.inspect}" unless value == found.value
|
|
93
|
+
|
|
94
|
+
warn("ignoring redeclaration of #{name}::#{key} with value #{value.inspect} (source: #{caller(6..6).first})")
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def valid_value(instance)
|
|
83
98
|
value = instance.value
|
|
84
|
-
|
|
85
|
-
raise NameError, "#{name}::#{key} already exists" unless value == found.value
|
|
99
|
+
return value unless (found = find_by_value(value))
|
|
86
100
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
else
|
|
90
|
-
raise NameError, "A #{name} instance with value '#{value}' already exists" if find_by_value(value)
|
|
101
|
+
key = instance.key
|
|
102
|
+
raise NameError, "A #{name} instance with value #{value.inspect} already exists: #{found.key}" unless key == found.key
|
|
91
103
|
|
|
92
|
-
|
|
93
|
-
|
|
104
|
+
# valid_key() should already have warned us, and valid_key_and_value() should have exited early, but just in case
|
|
105
|
+
# :nocov:
|
|
106
|
+
warn("ignoring redeclaration of #{name}::#{key} with value #{value.inspect} (source: #{caller(6..6).first})")
|
|
107
|
+
# :nocov:
|
|
94
108
|
end
|
|
95
109
|
|
|
96
110
|
def register(instance)
|
|
97
111
|
key, value = valid_key_and_value(instance)
|
|
98
|
-
return unless key
|
|
112
|
+
return unless key
|
|
99
113
|
|
|
100
114
|
const_set(key.to_s, instance)
|
|
101
115
|
by_key[key] = instance
|
|
@@ -138,16 +152,19 @@ module TypesafeEnum
|
|
|
138
152
|
end
|
|
139
153
|
|
|
140
154
|
def to_s
|
|
141
|
-
"#{self.class}::#{key} [#{ord}] -> #{value}"
|
|
155
|
+
"#{self.class}::#{key} [#{ord}] -> #{value.inspect}"
|
|
142
156
|
end
|
|
143
157
|
|
|
144
158
|
private
|
|
145
159
|
|
|
146
|
-
|
|
160
|
+
IMPLICIT = Class.new.new
|
|
161
|
+
private_constant :IMPLICIT
|
|
162
|
+
|
|
163
|
+
def initialize(key, value = IMPLICIT, &block)
|
|
147
164
|
raise TypeError, "#{key} is not a symbol" unless key.is_a?(Symbol)
|
|
148
165
|
|
|
149
166
|
@key = key
|
|
150
|
-
@value = value
|
|
167
|
+
@value = value == IMPLICIT ? key.to_s.downcase : value
|
|
151
168
|
@ord = self.class.size
|
|
152
169
|
self.class.class_exec(self) do |instance|
|
|
153
170
|
register(instance)
|
data/spec/.rubocop.yml
CHANGED
|
@@ -29,6 +29,13 @@ class Scale < TypesafeEnum::Base
|
|
|
29
29
|
new :MEGA, 1_000_000
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
+
class Scheme < TypesafeEnum::Base
|
|
33
|
+
new :HTTP, 'http'
|
|
34
|
+
new :HTTPS, 'https'
|
|
35
|
+
new :EXAMPLE, 'example'
|
|
36
|
+
new :UNKNOWN, nil
|
|
37
|
+
end
|
|
38
|
+
|
|
32
39
|
module TypesafeEnum
|
|
33
40
|
describe Base do
|
|
34
41
|
|
|
@@ -38,6 +45,15 @@ module TypesafeEnum
|
|
|
38
45
|
expect(enum).to be_a(Suit)
|
|
39
46
|
end
|
|
40
47
|
|
|
48
|
+
it 'allows nil values' do
|
|
49
|
+
expect do
|
|
50
|
+
class ::NilValues < Base
|
|
51
|
+
new :NONE, nil
|
|
52
|
+
end
|
|
53
|
+
end.not_to raise_error
|
|
54
|
+
expect(::NilValues.to_a).not_to be_empty
|
|
55
|
+
end
|
|
56
|
+
|
|
41
57
|
it 'insists symbols be symbols' do
|
|
42
58
|
expect do
|
|
43
59
|
class ::StringKeys < Base
|
|
@@ -80,6 +96,18 @@ module TypesafeEnum
|
|
|
80
96
|
expect(::DuplicateValues.find_by_key(:ALSO_SPADES)).to be_nil
|
|
81
97
|
end
|
|
82
98
|
|
|
99
|
+
it 'disallows duplicate nil values' do
|
|
100
|
+
expect do
|
|
101
|
+
class ::DuplicateNilValues < Base
|
|
102
|
+
new :NONE, nil
|
|
103
|
+
new :NULL, nil
|
|
104
|
+
end.to raise_error(NameError)
|
|
105
|
+
expect(::DuplicateNilValues.to_a).to eq([::DuplicateNilValues::NONE])
|
|
106
|
+
expect(::DuplicateNilValues::NONE.value).to be_nil
|
|
107
|
+
expect(::DuplicateNilValues.find_by_key(:NULL)).to be_nil
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
83
111
|
it 'disallows nil keys' do
|
|
84
112
|
expect do
|
|
85
113
|
class ::NilKeys < Base
|
|
@@ -93,8 +121,8 @@ module TypesafeEnum
|
|
|
93
121
|
class ::IdenticalInstances < Base
|
|
94
122
|
new :SPADES, 'spades'
|
|
95
123
|
end
|
|
96
|
-
expected_msg = /ignoring redeclaration of IdenticalInstances::SPADES with value spades/
|
|
97
|
-
expect(::IdenticalInstances).to receive(:warn).with(
|
|
124
|
+
expected_msg = /ignoring redeclaration of IdenticalInstances::SPADES with value "spades" \(source: .*base_spec.rb:[0-9]+:in `new'\)/
|
|
125
|
+
expect(::IdenticalInstances).to receive(:warn).once.with(expected_msg)
|
|
98
126
|
class ::IdenticalInstances < Base
|
|
99
127
|
new :SPADES, 'spades'
|
|
100
128
|
end
|
|
@@ -302,6 +330,20 @@ module TypesafeEnum
|
|
|
302
330
|
expect(s.value).to eq(expected[index])
|
|
303
331
|
end
|
|
304
332
|
end
|
|
333
|
+
|
|
334
|
+
it 'returns an explicit value' do
|
|
335
|
+
expected = [10, 100, 1000, 1_000_000]
|
|
336
|
+
Scale.each_with_index do |s, index|
|
|
337
|
+
expect(s.value).to eq(expected[index])
|
|
338
|
+
end
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
it 'supports nil values' do
|
|
342
|
+
expected = ['http', 'https', 'example', nil]
|
|
343
|
+
Scheme.each_with_index do |s, index|
|
|
344
|
+
expect(s.value).to eq(expected[index])
|
|
345
|
+
end
|
|
346
|
+
end
|
|
305
347
|
end
|
|
306
348
|
|
|
307
349
|
describe :key do
|
|
@@ -324,10 +366,10 @@ module TypesafeEnum
|
|
|
324
366
|
describe :to_s do
|
|
325
367
|
it 'provides an informative string' do
|
|
326
368
|
aggregate_failures 'informative string' do
|
|
327
|
-
[Suit, Tarot, RGBColor, Scale].each do |ec|
|
|
369
|
+
[Suit, Tarot, RGBColor, Scale, Scheme].each do |ec|
|
|
328
370
|
ec.each do |ev|
|
|
329
371
|
result = ev.to_s
|
|
330
|
-
[ec.to_s, ev.key, ev.ord, ev.value].each do |info|
|
|
372
|
+
[ec.to_s, ev.key, ev.ord, ev.value.inspect].each do |info|
|
|
331
373
|
expect(result).to include(info.to_s)
|
|
332
374
|
end
|
|
333
375
|
end
|
|
@@ -374,6 +416,12 @@ module TypesafeEnum
|
|
|
374
416
|
expect(Scale.find_by_value(s.value)).to be(s)
|
|
375
417
|
end
|
|
376
418
|
end
|
|
419
|
+
|
|
420
|
+
it 'supports enums with explicit nil values' do
|
|
421
|
+
Scheme.each do |s|
|
|
422
|
+
expect(Scheme.find_by_value(s.value)).to be(s)
|
|
423
|
+
end
|
|
424
|
+
end
|
|
377
425
|
end
|
|
378
426
|
|
|
379
427
|
describe :find_by_value_str do
|
|
@@ -400,6 +448,12 @@ module TypesafeEnum
|
|
|
400
448
|
expect(Scale.find_by_value_str(s.value.to_s)).to be(s)
|
|
401
449
|
end
|
|
402
450
|
end
|
|
451
|
+
|
|
452
|
+
it 'supports enums with explicit nil values' do
|
|
453
|
+
Scheme.each do |s|
|
|
454
|
+
expect(Scheme.find_by_value(s.value)).to be(s)
|
|
455
|
+
end
|
|
456
|
+
end
|
|
403
457
|
end
|
|
404
458
|
|
|
405
459
|
describe :find_by_ord do
|
data/typesafe_enum.gemspec
CHANGED
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
|
10
10
|
spec.name = TypesafeEnum::NAME
|
|
11
11
|
spec.version = TypesafeEnum::VERSION
|
|
12
12
|
spec.authors = ['David Moles']
|
|
13
|
-
spec.email = ['
|
|
13
|
+
spec.email = ['dmoles@berkeley.edu']
|
|
14
14
|
spec.summary = 'Typesafe enum pattern for Ruby'
|
|
15
15
|
spec.description = 'A gem that implements the typesafe enum pattern in Ruby'
|
|
16
16
|
spec.license = 'MIT'
|
|
@@ -23,9 +23,11 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
24
24
|
spec.require_paths = ['lib']
|
|
25
25
|
|
|
26
|
+
spec.required_ruby_version = '>= 2.6.0'
|
|
27
|
+
|
|
26
28
|
spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
|
|
27
29
|
spec.add_development_dependency 'rspec', '~> 3.9'
|
|
28
|
-
spec.add_development_dependency 'rubocop', '
|
|
30
|
+
spec.add_development_dependency 'rubocop', '0.91'
|
|
29
31
|
spec.add_development_dependency 'simplecov', '~> 0.18'
|
|
30
32
|
spec.add_development_dependency 'simplecov-console', '~> 0.7'
|
|
31
33
|
spec.add_development_dependency 'yard', '~> 0.9', '>= 0.9.12'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: typesafe_enum
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Moles
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-10-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -48,16 +48,16 @@ dependencies:
|
|
|
48
48
|
name: rubocop
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
|
-
- -
|
|
51
|
+
- - '='
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0.
|
|
53
|
+
version: '0.91'
|
|
54
54
|
type: :development
|
|
55
55
|
prerelease: false
|
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
|
-
- -
|
|
58
|
+
- - '='
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0.
|
|
60
|
+
version: '0.91'
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
62
|
name: simplecov
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -108,12 +108,21 @@ dependencies:
|
|
|
108
108
|
version: 0.9.12
|
|
109
109
|
description: A gem that implements the typesafe enum pattern in Ruby
|
|
110
110
|
email:
|
|
111
|
-
-
|
|
111
|
+
- dmoles@berkeley.edu
|
|
112
112
|
executables: []
|
|
113
113
|
extensions: []
|
|
114
114
|
extra_rdoc_files: []
|
|
115
115
|
files:
|
|
116
116
|
- ".gitignore"
|
|
117
|
+
- ".idea/.rakeTasks"
|
|
118
|
+
- ".idea/codeStyles/Project.xml"
|
|
119
|
+
- ".idea/codeStyles/codeStyleConfig.xml"
|
|
120
|
+
- ".idea/go.imports.xml"
|
|
121
|
+
- ".idea/inspectionProfiles/Project_Default.xml"
|
|
122
|
+
- ".idea/misc.xml"
|
|
123
|
+
- ".idea/modules.xml"
|
|
124
|
+
- ".idea/typesafe_enum.iml"
|
|
125
|
+
- ".idea/vcs.xml"
|
|
117
126
|
- ".rubocop.yml"
|
|
118
127
|
- ".ruby-version"
|
|
119
128
|
- ".travis.yml"
|
|
@@ -134,7 +143,7 @@ homepage: https://github.com/dmolesUC/typesafe_enum
|
|
|
134
143
|
licenses:
|
|
135
144
|
- MIT
|
|
136
145
|
metadata: {}
|
|
137
|
-
post_install_message:
|
|
146
|
+
post_install_message:
|
|
138
147
|
rdoc_options: []
|
|
139
148
|
require_paths:
|
|
140
149
|
- lib
|
|
@@ -142,7 +151,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
142
151
|
requirements:
|
|
143
152
|
- - ">="
|
|
144
153
|
- !ruby/object:Gem::Version
|
|
145
|
-
version:
|
|
154
|
+
version: 2.6.0
|
|
146
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
156
|
requirements:
|
|
148
157
|
- - ">="
|
|
@@ -150,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
150
159
|
version: '0'
|
|
151
160
|
requirements: []
|
|
152
161
|
rubygems_version: 3.0.8
|
|
153
|
-
signing_key:
|
|
162
|
+
signing_key:
|
|
154
163
|
specification_version: 4
|
|
155
164
|
summary: Typesafe enum pattern for Ruby
|
|
156
165
|
test_files:
|