degu 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/degu.gemspec +2 -2
- data/lib/degu/has_enum.rb +6 -0
- data/lib/degu/version.rb +1 -1
- data/test/has_enum_test.rb +9 -0
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/degu.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "degu"
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.3.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Florian Frank"]
|
9
|
-
s.date = "2013-01-
|
9
|
+
s.date = "2013-01-15"
|
10
10
|
s.description = "Library that includes enums, and rails support for enums and bitfield sets."
|
11
11
|
s.email = "dev@pkw.de"
|
12
12
|
s.extra_rdoc_files = ["README.rdoc", "lib/degu.rb", "lib/degu/has_enum.rb", "lib/degu/has_set.rb", "lib/degu/polite.rb", "lib/degu/renum.rb", "lib/degu/renum/enumerated_value.rb", "lib/degu/renum/enumerated_value_type_factory.rb", "lib/degu/rude.rb", "lib/degu/version.rb"]
|
data/lib/degu/has_enum.rb
CHANGED
@@ -68,6 +68,12 @@ module Degu
|
|
68
68
|
!!@enum_changed
|
69
69
|
end
|
70
70
|
|
71
|
+
enum_class.each do |enum|
|
72
|
+
define_method("#{enum_name}_#{enum.underscored_name}?") do
|
73
|
+
__send__(enum_name.to_sym) == enum
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
71
77
|
define_method("#{enum_column}_check_for_valid_type_of_enum") do
|
72
78
|
return true if self[enum_column].nil? || self[enum_column].to_s.empty?
|
73
79
|
unless enum_class[self[enum_column]].present?
|
data/lib/degu/version.rb
CHANGED
data/test/has_enum_test.rb
CHANGED
@@ -130,6 +130,15 @@ class HasEnumTest < Test::Unit::TestCase
|
|
130
130
|
assert product_enum.product_has_changed?
|
131
131
|
end
|
132
132
|
|
133
|
+
def test_should_define_question_mark_methods_for_all_enum_values
|
134
|
+
product_enum = ClassWithEnum.new(:product => Product::Silver)
|
135
|
+
assert_equal true, product_enum.product_silver?
|
136
|
+
assert_equal false, product_enum.product_gold?
|
137
|
+
product_enum.product = Product::Gold
|
138
|
+
assert_equal false, product_enum.product_silver?
|
139
|
+
assert_equal true, product_enum.product_gold?
|
140
|
+
end
|
141
|
+
|
133
142
|
def test_should_not_fail_if_no_enum_was_set_yet
|
134
143
|
enum_mixin = ClassWithEnum.new
|
135
144
|
assert_nothing_raised(TypeError) { enum_mixin.product }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: degu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gem_hadar
|
@@ -164,7 +164,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
164
|
version: '0'
|
165
165
|
segments:
|
166
166
|
- 0
|
167
|
-
hash: -
|
167
|
+
hash: -3902368099644713264
|
168
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
169
|
none: false
|
170
170
|
requirements:
|