act_as_enumerable 0.1.1 → 0.1.2
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.
- 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
|