degu 0.2.0 → 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.
- 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:
|