act_as_enumerable 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.coveralls.yml +1 -1
- data/.gitignore +1 -0
- data/Gemfile +0 -8
- data/README.md +6 -2
- data/Rakefile +5 -8
- data/act_as_enumerable.gemspec +2 -2
- data/lib/act_as_enumerable/version.rb +1 -1
- data/spec/lib/act_as_enumerable_spec.rb +88 -0
- data/spec/spec_helper.rb +4 -0
- metadata +11 -11
- data/Gemfile.lock +0 -57
- data/test/act_as_enumerable_test.rb +0 -78
data/.coveralls.yml
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
service_name: travis-ci
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# ActAsEnumerable
|
2
2
|
|
3
|
-
[![Build Status][travis-img]][travis-url]
|
3
|
+
[![Build Status][travis-img]][travis-url]
|
4
|
+
[![Coveralls][coveralls-img]][coveralls-url]
|
5
|
+
[![Dependency Status][gemnasium-img]][gemnasium-url]
|
6
|
+
[![Code Climate][codeclimate-img]][codeclimate-url]
|
7
|
+
[![Gem Version][gemversion-img]][gemversion-url]
|
4
8
|
|
5
9
|
_Add enumeration to your ruby classes_
|
6
10
|
|
@@ -74,7 +78,7 @@ Released under the MIT License. See the [LICENSE](https://github.com/caedes/act_
|
|
74
78
|
[coveralls-url]: https://coveralls.io/r/caedes/act_as_enumerable
|
75
79
|
[gemnasium-img]: https://gemnasium.com/caedes/act_as_enumerable.png
|
76
80
|
[gemnasium-url]: https://gemnasium.com/caedes/act_as_enumerable
|
77
|
-
[codeclimate-img]: https://codeclimate.com/
|
81
|
+
[codeclimate-img]: https://codeclimate.com/github/caedes/act_as_enumerable.png
|
78
82
|
[codeclimate-url]: https://codeclimate.com/github/caedes/act_as_enumerable
|
79
83
|
[gemversion-img]: https://badge.fury.io/rb/act_as_enumerable.png
|
80
84
|
[gemversion-url]: http://badge.fury.io/rb/act_as_enumerable
|
data/Rakefile
CHANGED
@@ -1,12 +1,9 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
|
-
require 'bundler/gem_tasks'
|
3
2
|
|
4
|
-
require '
|
3
|
+
require 'bundler/gem_tasks'
|
4
|
+
require 'rspec/core/rake_task'
|
5
5
|
|
6
|
-
|
7
|
-
t.libs << 'lib'
|
8
|
-
t.test_files = FileList['test/*_test.rb']
|
9
|
-
t.verbose = true
|
10
|
-
end
|
6
|
+
RSpec::Core::RakeTask.new
|
11
7
|
|
12
|
-
task default: :
|
8
|
+
task default: :spec
|
9
|
+
task test: :spec
|
data/act_as_enumerable.gemspec
CHANGED
@@ -14,6 +14,6 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.require_path = 'lib'
|
15
15
|
|
16
16
|
s.add_development_dependency 'rake'
|
17
|
-
s.add_development_dependency '
|
18
|
-
s.add_development_dependency '
|
17
|
+
s.add_development_dependency 'rspec', '~> 2.13'
|
18
|
+
s.add_development_dependency 'coveralls', '~> 0.6'
|
19
19
|
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require_relative '../spec_helper'
|
2
|
+
|
3
|
+
class EmptyTestModel
|
4
|
+
end
|
5
|
+
|
6
|
+
describe EmptyTestModel do
|
7
|
+
it 'defines enum class method' do
|
8
|
+
EmptyTestModel.singleton_methods.should include(:enum)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class GenderTestModel
|
13
|
+
enum :gender, %w(male female)
|
14
|
+
end
|
15
|
+
|
16
|
+
describe GenderTestModel do
|
17
|
+
it 'defines gender_values class method' do
|
18
|
+
GenderTestModel.singleton_methods.should include(:gender_values)
|
19
|
+
GenderTestModel.gender_values.should == %w(male female)
|
20
|
+
end
|
21
|
+
|
22
|
+
describe 'without I18n' do
|
23
|
+
subject { GenderTestModel.new }
|
24
|
+
|
25
|
+
it 'defines gender_caption class method' do
|
26
|
+
GenderTestModel.singleton_methods.should include(:gender_captions)
|
27
|
+
GenderTestModel.gender_captions.should == %w(male female)
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'defines humanize_gender instance method' do
|
31
|
+
subject.methods.should include(:humanize_gender)
|
32
|
+
%w(male female).each do |value|
|
33
|
+
subject.humanize_gender(value.to_sym).should == value
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'without setting :gender' do
|
38
|
+
it 'defines gender_caption instance method' do
|
39
|
+
subject.methods.should include(:gender_caption)
|
40
|
+
subject.gender_caption.should be_nil
|
41
|
+
end
|
42
|
+
|
43
|
+
%w(male female).each do |value|
|
44
|
+
it "defines #{value}? instance method" do
|
45
|
+
subject.methods.should include("#{value}?".to_sym)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
%w(male female).each do |value|
|
50
|
+
describe "#{value}?" do
|
51
|
+
it 'returns false' do
|
52
|
+
subject.send("#{value}?".to_sym).should be_false
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe 'with setting :gender' do
|
59
|
+
before do
|
60
|
+
@gender_value = 'male'
|
61
|
+
subject.gender = @gender_value
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'defines gender_caption instance method' do
|
65
|
+
subject.methods.should include(:gender_caption)
|
66
|
+
subject.gender_caption.should == 'male'
|
67
|
+
end
|
68
|
+
|
69
|
+
%w(male female).each do |value|
|
70
|
+
it "defines #{value}? instance method" do
|
71
|
+
subject.methods.should include("#{value}?".to_sym)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe 'male?' do
|
76
|
+
it 'returns true' do
|
77
|
+
subject.male?.should be_true
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe 'female?' do
|
82
|
+
it 'returns false' do
|
83
|
+
subject.female?.should be_false
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: act_as_enumerable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -28,29 +28,29 @@ dependencies:
|
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
31
|
+
name: rspec
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - ~>
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: '
|
37
|
+
version: '2.13'
|
38
38
|
type: :development
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: '
|
45
|
+
version: '2.13'
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
47
|
+
name: coveralls
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
none: false
|
50
50
|
requirements:
|
51
51
|
- - ~>
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: '0.6'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '0.6'
|
62
62
|
description: Add enumeration to your ruby classes
|
63
63
|
email:
|
64
64
|
- laurentromain@gmail.com
|
@@ -70,7 +70,6 @@ files:
|
|
70
70
|
- .gitignore
|
71
71
|
- .travis.yml
|
72
72
|
- Gemfile
|
73
|
-
- Gemfile.lock
|
74
73
|
- LICENSE.md
|
75
74
|
- README.md
|
76
75
|
- Rakefile
|
@@ -78,7 +77,8 @@ files:
|
|
78
77
|
- init.rb
|
79
78
|
- lib/act_as_enumerable.rb
|
80
79
|
- lib/act_as_enumerable/version.rb
|
81
|
-
-
|
80
|
+
- spec/lib/act_as_enumerable_spec.rb
|
81
|
+
- spec/spec_helper.rb
|
82
82
|
homepage: https://github.com/caedes/act_as_enumerable
|
83
83
|
licenses: []
|
84
84
|
post_install_message:
|
data/Gemfile.lock
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
act_as_enumerable (0.1.0)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: http://rubygems.org/
|
8
|
-
specs:
|
9
|
-
activesupport (3.2.11)
|
10
|
-
i18n (~> 0.6)
|
11
|
-
multi_json (~> 1.0)
|
12
|
-
ansi (1.4.3)
|
13
|
-
bourne (1.1.2)
|
14
|
-
mocha (= 0.10.5)
|
15
|
-
colorize (0.5.8)
|
16
|
-
coveralls (0.5.5)
|
17
|
-
colorize
|
18
|
-
json
|
19
|
-
rest-client
|
20
|
-
simplecov (>= 0.7)
|
21
|
-
thor
|
22
|
-
i18n (0.6.1)
|
23
|
-
json (1.7.6)
|
24
|
-
metaclass (0.0.1)
|
25
|
-
mime-types (1.19)
|
26
|
-
minitest (4.4.0)
|
27
|
-
mocha (0.10.5)
|
28
|
-
metaclass (~> 0.0.1)
|
29
|
-
multi_json (1.5.0)
|
30
|
-
rake (10.0.3)
|
31
|
-
rest-client (1.6.7)
|
32
|
-
mime-types (>= 1.16)
|
33
|
-
shoulda (3.3.2)
|
34
|
-
shoulda-context (~> 1.0.1)
|
35
|
-
shoulda-matchers (~> 1.4.1)
|
36
|
-
shoulda-context (1.0.2)
|
37
|
-
shoulda-matchers (1.4.2)
|
38
|
-
activesupport (>= 3.0.0)
|
39
|
-
bourne (~> 1.1.2)
|
40
|
-
simplecov (0.7.1)
|
41
|
-
multi_json (~> 1.0)
|
42
|
-
simplecov-html (~> 0.7.1)
|
43
|
-
simplecov-html (0.7.1)
|
44
|
-
thor (0.16.0)
|
45
|
-
turn (0.9.6)
|
46
|
-
ansi
|
47
|
-
|
48
|
-
PLATFORMS
|
49
|
-
ruby
|
50
|
-
|
51
|
-
DEPENDENCIES
|
52
|
-
act_as_enumerable!
|
53
|
-
coveralls
|
54
|
-
minitest (~> 4.4.0)
|
55
|
-
rake (~> 10.0.3)
|
56
|
-
shoulda (~> 3.3.2)
|
57
|
-
turn (~> 0.9.3)
|
@@ -1,78 +0,0 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
require 'act_as_enumerable'
|
3
|
-
require 'shoulda'
|
4
|
-
|
5
|
-
require 'coveralls'
|
6
|
-
Coveralls.wear!
|
7
|
-
|
8
|
-
class EnumPlusTest < Test::Unit::TestCase
|
9
|
-
|
10
|
-
context 'when defining a new object' do
|
11
|
-
setup do
|
12
|
-
class EnumPlusTest
|
13
|
-
end
|
14
|
-
|
15
|
-
@enum_plus_test = EnumPlusTest.new
|
16
|
-
end
|
17
|
-
|
18
|
-
should 'define :enum' do
|
19
|
-
assert EnumPlusTest.singleton_methods.include? :enum
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
context 'with an object using :enum method (e.g. :gender)' do
|
24
|
-
setup do
|
25
|
-
class EnumPlusTest
|
26
|
-
enum :gender, %w(male female)
|
27
|
-
end
|
28
|
-
|
29
|
-
@enum_plus_test = EnumPlusTest.new
|
30
|
-
end
|
31
|
-
|
32
|
-
should 'define `gender_values` method' do
|
33
|
-
assert EnumPlusTest.singleton_methods.include? :gender_values
|
34
|
-
assert_equal %w(male female), EnumPlusTest.gender_values
|
35
|
-
end
|
36
|
-
|
37
|
-
context 'without I18n' do
|
38
|
-
should 'define `gender_caption` method' do
|
39
|
-
assert EnumPlusTest.singleton_methods.include? :gender_captions
|
40
|
-
assert_equal %w(male female), EnumPlusTest.gender_captions
|
41
|
-
end
|
42
|
-
|
43
|
-
should 'define `.humanize_gender` method' do
|
44
|
-
assert @enum_plus_test.methods.include? :humanize_gender
|
45
|
-
|
46
|
-
%w(male female).each do |value|
|
47
|
-
assert_equal value, @enum_plus_test.humanize_gender(value.to_sym)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
context 'without setting :gender' do
|
52
|
-
should 'define `.gender_caption` method' do
|
53
|
-
assert @enum_plus_test.methods.include? :gender_caption
|
54
|
-
assert_equal nil, @enum_plus_test.gender_caption
|
55
|
-
end
|
56
|
-
%w(male female).each do |value|
|
57
|
-
should "define `.#{value}?` method" do
|
58
|
-
assert @enum_plus_test.methods.include? "#{value}?".to_sym
|
59
|
-
%w(male female).each do |value2|
|
60
|
-
assert_equal false, @enum_plus_test.send("#{value}?".to_sym)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
context 'with setting :gender' do
|
67
|
-
%w(male female).each do |value|
|
68
|
-
setup { @enum_plus_test.gender = value }
|
69
|
-
|
70
|
-
should "define `.#{value}?` method" do
|
71
|
-
assert @enum_plus_test.methods.include? "#{value}?".to_sym
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
end
|