inum 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.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +90 -0
- data/Rakefile +1 -0
- data/inum.gemspec +25 -0
- data/lib/inum.rb +1 -0
- data/lib/inum/base.rb +132 -0
- data/lib/inum/define_check_method.rb +27 -0
- data/lib/inum/version.rb +3 -0
- data/spec/inum/base_spec.rb +111 -0
- data/spec/inum/define_check_method_spec.rb +59 -0
- data/spec/spec_helper.rb +8 -0
- metadata +117 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 544234bb17ff082ebab6a647cbd6de98e9537ad1
|
4
|
+
data.tar.gz: 2e9ed5c46161e3fc72d8a5fa137e6f21178a97af
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 33196201c228dbcb269d823423f8cd2c2e55779f615a7d47b2aab6d6d6666b68ce64e366459f02bdabb03978f3f98bf55fd059dca2a4d7dc4eaa82ae2fb40b2b
|
7
|
+
data.tar.gz: ad2bf42518ac9e2c7242bf6f20ceeceb6f9b03f17ec50d265334e089e426cb2dcc25fb65728d375ee71317b23e39c726c52f8af247beeb5a3cee36d2b5c4375c
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Atsushi Nakamura
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
# Inum
|
2
|
+
|
3
|
+
Inum(enumerated type of Integer) provide a Java-enum-like Enum.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'inum'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install inum
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
|
22
|
+
### Define Enum(Inum)
|
23
|
+
For example create enum(inum) of Japanese Anime.
|
24
|
+
|
25
|
+
``` ruby
|
26
|
+
class AnimeType < Inum::Base
|
27
|
+
define_enum :EVANGELION, 0
|
28
|
+
define_enum :HARUHI, 1
|
29
|
+
define_enum :NYARUKO, 2
|
30
|
+
end
|
31
|
+
```
|
32
|
+
|
33
|
+
### Use Enum(Inum)
|
34
|
+
How to use Enum(Inum).
|
35
|
+
|
36
|
+
``` ruby
|
37
|
+
p AnimeType::EVANGELION # => EVANGELION
|
38
|
+
p AnimeType::EVANGELION.to_i # => 0
|
39
|
+
|
40
|
+
type = AnimeType::Parse(0) # parse object to instance of AnimeType.
|
41
|
+
p type.equal?(AnimeType::EVANGELION) # => true (member of Enum is singleton.)
|
42
|
+
|
43
|
+
p AnimeType::HARUHI.eql?('HARUHI') # => true (eql? can compare all parsable object.)
|
44
|
+
|
45
|
+
```
|
46
|
+
|
47
|
+
- more detail is [Class::Base](http://rubydoc.info/github/alfa-jpn/inum/Inum/Base)
|
48
|
+
|
49
|
+
### Use define\_check\_method
|
50
|
+
define\_check\_method can extend your class.
|
51
|
+
|
52
|
+
``` ruby
|
53
|
+
class Anime
|
54
|
+
extend Inum::DefineCheckMethod
|
55
|
+
|
56
|
+
attr_accessor :type
|
57
|
+
|
58
|
+
define_check_method :type, AnimeType
|
59
|
+
end
|
60
|
+
|
61
|
+
```
|
62
|
+
|
63
|
+
define\_check\_method generates methods for type confirmation.
|
64
|
+
|
65
|
+
``` ruby
|
66
|
+
anime = Anime.new
|
67
|
+
anime.type = AnimeType::NYARUKO
|
68
|
+
|
69
|
+
p anime.evangelion? # => false
|
70
|
+
p anime.nyaruko? # => true
|
71
|
+
|
72
|
+
|
73
|
+
# type can use all parsable object.
|
74
|
+
anime.type = 1
|
75
|
+
p anime.haruhi? # => true
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
|
80
|
+
## API DOCUMENT
|
81
|
+
|
82
|
+
- [Documentation for alfa-jpn/Inum(master)](http://rubydoc.info/github/alfa-jpn/inum/frames)
|
83
|
+
|
84
|
+
## Contributing
|
85
|
+
|
86
|
+
1. Fork it
|
87
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
88
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
89
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
90
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/inum.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'inum/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "inum"
|
8
|
+
spec.version = Inum::VERSION
|
9
|
+
spec.authors = ["alfa-jpn"]
|
10
|
+
spec.email = ["a.nkmr.ja@gmail.com"]
|
11
|
+
spec.description = "Inum(enumerated type of Integer) provide a java-Enum-like."
|
12
|
+
spec.summary = "Inum(enumerated type of Integer) provide a java-Enum-like."
|
13
|
+
spec.homepage = "https://github.com/alfa-jpn/inum"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "rspec"
|
24
|
+
spec.add_development_dependency "yard"
|
25
|
+
end
|
data/lib/inum.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "inum/version"
|
data/lib/inum/base.rb
ADDED
@@ -0,0 +1,132 @@
|
|
1
|
+
module Inum
|
2
|
+
# InumBase class.
|
3
|
+
#
|
4
|
+
# @abstract Inum class should be a inheritance of Inum::Base.
|
5
|
+
# @example
|
6
|
+
# class FruitType < Inum::Base
|
7
|
+
# define_enum :APPLE, 0
|
8
|
+
# define_enum :BANANA, 1
|
9
|
+
# define_enum :ORANGE, 2
|
10
|
+
# end
|
11
|
+
class Base
|
12
|
+
|
13
|
+
attr_accessor :value
|
14
|
+
private_class_method :new
|
15
|
+
|
16
|
+
# initialize Inum::Base with value.
|
17
|
+
# @note Inum::Base can't call new method.
|
18
|
+
#
|
19
|
+
# @param value [Integer] value of Enum.
|
20
|
+
def initialize(value)
|
21
|
+
unless self.class.defined_enums.has_value?(value)
|
22
|
+
raise ArgumentError, "unknown value #{value}!"
|
23
|
+
end
|
24
|
+
@value = value
|
25
|
+
end
|
26
|
+
|
27
|
+
# Compare object.
|
28
|
+
#
|
29
|
+
# @param [Object] parsable object.
|
30
|
+
# @return [Boolean] result.
|
31
|
+
def eql?(object)
|
32
|
+
self.equal?(self.class.parse(object))
|
33
|
+
end
|
34
|
+
|
35
|
+
# Enum to Integer.
|
36
|
+
#
|
37
|
+
# @return [Integer] integer value of Enum.
|
38
|
+
def to_i
|
39
|
+
@value
|
40
|
+
end
|
41
|
+
|
42
|
+
# Enum to String.
|
43
|
+
#
|
44
|
+
# @return [String] string value of Enum.
|
45
|
+
def to_s
|
46
|
+
self.class.defined_enums.key(@value).to_s
|
47
|
+
end
|
48
|
+
|
49
|
+
# return array of Enums.
|
50
|
+
#
|
51
|
+
# @return [Array<Array<String, Integer>>] sorted array of Enums.
|
52
|
+
def self.to_a
|
53
|
+
defined_enums.map{|k,v| [k.to_s,v] }.sort{|a,b| a[1] <=> b[1] }
|
54
|
+
end
|
55
|
+
|
56
|
+
# return hash of Enums.
|
57
|
+
#
|
58
|
+
# @return [Hash] hash of Enums.
|
59
|
+
def self.to_h
|
60
|
+
defined_enums.dup
|
61
|
+
end
|
62
|
+
|
63
|
+
# Parse Object to Enum.
|
64
|
+
#
|
65
|
+
# @param object [Object] string or symbol or integer or Inum::Base.
|
66
|
+
# @return [Inum::Base] instance of Inum::Base.
|
67
|
+
def self.parse(object)
|
68
|
+
case object
|
69
|
+
when String
|
70
|
+
self.const_get(object)
|
71
|
+
when Symbol
|
72
|
+
parse object.to_s
|
73
|
+
when Integer
|
74
|
+
parse self.defined_enums.key(object).to_s
|
75
|
+
when self
|
76
|
+
object
|
77
|
+
else
|
78
|
+
raise ArgumentError, "#{object} is nani?"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
private
|
83
|
+
# Define Enum in called class.
|
84
|
+
#
|
85
|
+
# @param name [String, Symbol] name of Enum.
|
86
|
+
# @param value [Integer,Fixnum] value of Enum.
|
87
|
+
def self.define_enum(name, value)
|
88
|
+
|
89
|
+
validate_enum_args!(name, value)
|
90
|
+
|
91
|
+
defined_enums[name] = value
|
92
|
+
self.const_set(name, new(value))
|
93
|
+
end
|
94
|
+
|
95
|
+
# get hash of :DEFINED_ENUMS.
|
96
|
+
def self.defined_enums
|
97
|
+
self.const_get(:DEFINED_ENUMS)
|
98
|
+
end
|
99
|
+
|
100
|
+
# call after inherited.
|
101
|
+
# @note Define hash of :DEFINED_ENUMS in child.
|
102
|
+
def self.inherited(child)
|
103
|
+
child.const_set(:DEFINED_ENUMS, Hash.new)
|
104
|
+
end
|
105
|
+
|
106
|
+
# Validate enum args, and raise exception.
|
107
|
+
#
|
108
|
+
# @param name [Object] name of Enum.
|
109
|
+
# @param value [Object] value of Enum.
|
110
|
+
def self.validate_enum_args!(name, value)
|
111
|
+
unless name.instance_of?(String) or name.instance_of?(Symbol)
|
112
|
+
raise ArgumentError, "#{name}<#{name.class}> isn't String or Symbol."
|
113
|
+
end
|
114
|
+
|
115
|
+
unless value.instance_of?(Integer) or value.instance_of?(Fixnum)
|
116
|
+
raise ArgumentError, "#{value}<#{value.class}> isn't Integer or Fixnum."
|
117
|
+
end
|
118
|
+
|
119
|
+
if name == :DEFINED_ENUMS
|
120
|
+
raise ArgumentError, "#{name} is keyword."
|
121
|
+
end
|
122
|
+
|
123
|
+
if defined_enums.has_key?(name)
|
124
|
+
raise ArgumentError, "name(#{name}!) already exists!!"
|
125
|
+
end
|
126
|
+
|
127
|
+
if defined_enums.has_value?(value)
|
128
|
+
raise ArgumentError, "value(#{value}!) already exists!!"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Inum
|
2
|
+
# DefinedCheckMethod module should be extend.
|
3
|
+
#
|
4
|
+
# @example
|
5
|
+
# class Fruit
|
6
|
+
# extend Inum::DefineCheckMethod
|
7
|
+
# define_check_method :type, FruitType
|
8
|
+
#
|
9
|
+
# attr_accessor :type
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
module DefineCheckMethod
|
13
|
+
# Define compare method in class.
|
14
|
+
#
|
15
|
+
# @param variable_name [String] name of variable.
|
16
|
+
# @param enum_class [Inum::Base] class of extended Enum::EnumBase.
|
17
|
+
def define_check_method(variable_name, enum_class)
|
18
|
+
self.class_eval do
|
19
|
+
enum_class::DEFINED_ENUMS.each_key do |enum_name|
|
20
|
+
define_method("#{enum_name.downcase}?") do
|
21
|
+
enum_class::parse(enum_name).eql?(send(variable_name))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/inum/version.rb
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Inum::Base do
|
5
|
+
|
6
|
+
it 'define_method validate correct' do
|
7
|
+
# correct.
|
8
|
+
expect{
|
9
|
+
Class.new(Inum::Base) { define_enum :REDBULL, 0 }
|
10
|
+
Class.new(Inum::Base) { define_enum 'REDBULL', 0 }
|
11
|
+
Class.new(Inum::Base) { define_enum :REDBULL, 0.to_i }
|
12
|
+
Class.new(Inum::Base) {
|
13
|
+
define_enum :REDBULL, 0
|
14
|
+
define_enum :MONSTER, 1
|
15
|
+
}
|
16
|
+
}.not_to raise_error
|
17
|
+
|
18
|
+
# wrong name.
|
19
|
+
expect{
|
20
|
+
Class.new(Inum::Base) { define_enum 1111, 0 }
|
21
|
+
}.to raise_error
|
22
|
+
|
23
|
+
# wrong value.
|
24
|
+
expect{
|
25
|
+
Class.new(Inum::Base) { define_enum :REDBULL, :no_int }
|
26
|
+
}.to raise_error
|
27
|
+
|
28
|
+
# dup name.
|
29
|
+
expect{
|
30
|
+
Class.new(Inum::Base) {
|
31
|
+
define_enum :REDBULL, 0
|
32
|
+
define_enum :REDBULL, 1
|
33
|
+
}
|
34
|
+
}.to raise_error
|
35
|
+
|
36
|
+
# dup value.
|
37
|
+
expect{
|
38
|
+
Class.new(Inum::Base) {
|
39
|
+
define_enum :REDBULL, 0
|
40
|
+
define_enum :REDBULL2, 0
|
41
|
+
}
|
42
|
+
}.to raise_error
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'define class of extended Inum::Base,' do
|
46
|
+
before(:each) do
|
47
|
+
@enum = Class.new(Inum::Base) do
|
48
|
+
define_enum :REDBULL, 0
|
49
|
+
define_enum :MONSTER, 1
|
50
|
+
define_enum :BURN, 2
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'can not call new.' do
|
55
|
+
expect{ @enum.new(1) }.to raise_error
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'DEFINED_ENUM is different instance.' do
|
59
|
+
@enum2 = Class.new(Inum::Base) do
|
60
|
+
define_enum :REDBULL, 0
|
61
|
+
end
|
62
|
+
expect( @enum::DEFINED_ENUMS.equal?(@enum2::DEFINED_ENUMS) ).to be_false
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'A enum instance is equal instance.' do
|
66
|
+
expect( @enum::BURN.equal?(@enum::BURN )).to be_true
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'eql? return a correct result.' do
|
70
|
+
expect( @enum::REDBULL.eql?(0) ).to be_true
|
71
|
+
expect( @enum::REDBULL.eql?(1) ).to be_false
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'to_i return integer.' do
|
75
|
+
expect( @enum::REDBULL.to_i ).to eq(0)
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'to_s return string.' do
|
79
|
+
expect( @enum::MONSTER.to_s ).to eq('MONSTER')
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'to_a return Array' do
|
83
|
+
expect(@enum::to_a.instance_of?(Array)).to be_true
|
84
|
+
expect(@enum::to_a.length).to eq(3)
|
85
|
+
expect(@enum::to_a[0][0]).to eq('REDBULL')
|
86
|
+
(0..2).each{|i| expect(@enum::to_a[i][1]).to eq(i) }
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'to_h return Hash' do
|
90
|
+
expect(@enum::to_h.instance_of?(Hash)).to be_true
|
91
|
+
expect(@enum::to_h.eql?(@enum::DEFINED_ENUMS)).to be_true
|
92
|
+
expect(@enum::to_h.equal?(@enum::DEFINED_ENUMS)).to be_false
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'parse return instance from string.' do
|
96
|
+
expect( @enum::parse('REDBULL') ).to eq( @enum::REDBULL )
|
97
|
+
end
|
98
|
+
|
99
|
+
it 'parse return instance from integer.' do
|
100
|
+
expect( @enum::parse(1) ).to eq( @enum::MONSTER )
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'parse return instance from symbol.' do
|
104
|
+
expect( @enum::parse(:BURN) ).to eq( @enum::BURN )
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'parse return instance from self instance.' do
|
108
|
+
expect( @enum::parse(@enum::REDBULL) ).to eq( @enum::REDBULL )
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Inum::DefineCheckMethod do
|
5
|
+
|
6
|
+
context 'create class of called define_check_method,' do
|
7
|
+
before(:each) do
|
8
|
+
enum = @enum = Class.new(Inum::Base) do
|
9
|
+
define_enum :REDBULL, 0
|
10
|
+
define_enum :MONSTER, 1
|
11
|
+
define_enum :BURN, 2
|
12
|
+
end
|
13
|
+
|
14
|
+
@mixin = Class.new do
|
15
|
+
attr_accessor :drink
|
16
|
+
|
17
|
+
extend Inum::DefineCheckMethod
|
18
|
+
self.define_check_method(:drink, enum)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'defined comparison method.' do
|
23
|
+
expect(@mixin.method_defined?(:redbull?)).to be_true
|
24
|
+
expect(@mixin.method_defined?(:monster?)).to be_true
|
25
|
+
expect(@mixin.method_defined?(:burn?)).to be_true
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'create instance the class,' do
|
29
|
+
before(:each) do
|
30
|
+
@inst = @mixin.new
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'can compare integer.' do
|
34
|
+
@inst.drink = 0
|
35
|
+
expect(@inst.redbull?).to be_true
|
36
|
+
expect(@inst.monster?).to be_false
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'can compare string.' do
|
40
|
+
@inst.drink = 'REDBULL'
|
41
|
+
expect(@inst.redbull?).to be_true
|
42
|
+
expect(@inst.monster?).to be_false
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'can compare symbol.' do
|
46
|
+
@inst.drink = :REDBULL
|
47
|
+
expect(@inst.redbull?).to be_true
|
48
|
+
expect(@inst.monster?).to be_false
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'can compare self instance.' do
|
52
|
+
@inst.drink = @enum::REDBULL
|
53
|
+
expect(@inst.redbull?).to be_true
|
54
|
+
expect(@inst.monster?).to be_false
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: inum
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- alfa-jpn
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-11-25 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Inum(enumerated type of Integer) provide a java-Enum-like.
|
70
|
+
email:
|
71
|
+
- a.nkmr.ja@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .gitignore
|
77
|
+
- Gemfile
|
78
|
+
- LICENSE.txt
|
79
|
+
- README.md
|
80
|
+
- Rakefile
|
81
|
+
- inum.gemspec
|
82
|
+
- lib/inum.rb
|
83
|
+
- lib/inum/base.rb
|
84
|
+
- lib/inum/define_check_method.rb
|
85
|
+
- lib/inum/version.rb
|
86
|
+
- spec/inum/base_spec.rb
|
87
|
+
- spec/inum/define_check_method_spec.rb
|
88
|
+
- spec/spec_helper.rb
|
89
|
+
homepage: https://github.com/alfa-jpn/inum
|
90
|
+
licenses:
|
91
|
+
- MIT
|
92
|
+
metadata: {}
|
93
|
+
post_install_message:
|
94
|
+
rdoc_options: []
|
95
|
+
require_paths:
|
96
|
+
- lib
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - '>='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
107
|
+
requirements: []
|
108
|
+
rubyforge_project:
|
109
|
+
rubygems_version: 2.0.3
|
110
|
+
signing_key:
|
111
|
+
specification_version: 4
|
112
|
+
summary: Inum(enumerated type of Integer) provide a java-Enum-like.
|
113
|
+
test_files:
|
114
|
+
- spec/inum/base_spec.rb
|
115
|
+
- spec/inum/define_check_method_spec.rb
|
116
|
+
- spec/spec_helper.rb
|
117
|
+
has_rdoc:
|