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 CHANGED
@@ -1 +1 @@
1
- 0.2.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.2.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-11"
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
@@ -1,6 +1,6 @@
1
1
  module Degu
2
2
  # Degu version
3
- VERSION = '0.2.0'
3
+ VERSION = '0.3.0'
4
4
  VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -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.2.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-11 00:00:00.000000000 Z
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: -273126236324992353
167
+ hash: -3902368099644713264
168
168
  required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  none: false
170
170
  requirements: