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 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: