degu 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -21,6 +21,7 @@ GemHadar do
21
21
  development_dependency 'mocha'
22
22
  development_dependency 'sqlite3'
23
23
  development_dependency 'rspec'
24
+ development_dependency 'ruby-debug'
24
25
  end
25
26
 
26
27
  desc 'Run specs and tests'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
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.0.4"
5
+ s.version = "0.0.5"
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 = "2011-12-08"
9
+ s.date = "2011-12-14"
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/has_enum.rb", "lib/degu/has_set.rb", "lib/degu/polite.rb", "lib/degu/renum/enumerated_value.rb", "lib/degu/renum/enumerated_value_type_factory.rb", "lib/degu/renum.rb", "lib/degu/rude.rb", "lib/degu/version.rb", "lib/degu.rb"]
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.homepage = "http://github.com/caroo/degu"
15
15
  s.rdoc_options = ["--title", "Degu - Library for enums and bitfield sets.", "--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
17
- s.rubygems_version = "1.8.11"
17
+ s.rubygems_version = "1.8.10"
18
18
  s.summary = "Library for enums and bitfield sets."
19
19
  s.test_files = ["test/has_enum_test.rb", "test/has_set_test.rb"]
20
20
 
@@ -26,12 +26,14 @@ Gem::Specification.new do |s|
26
26
  s.add_development_dependency(%q<mocha>, [">= 0"])
27
27
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
28
28
  s.add_development_dependency(%q<rspec>, [">= 0"])
29
+ s.add_development_dependency(%q<ruby-debug>, [">= 0"])
29
30
  s.add_runtime_dependency(%q<activerecord>, ["~> 3.0"])
30
31
  else
31
32
  s.add_dependency(%q<gem_hadar>, ["~> 0.1.3"])
32
33
  s.add_dependency(%q<mocha>, [">= 0"])
33
34
  s.add_dependency(%q<sqlite3>, [">= 0"])
34
35
  s.add_dependency(%q<rspec>, [">= 0"])
36
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
35
37
  s.add_dependency(%q<activerecord>, ["~> 3.0"])
36
38
  end
37
39
  else
@@ -39,6 +41,7 @@ Gem::Specification.new do |s|
39
41
  s.add_dependency(%q<mocha>, [">= 0"])
40
42
  s.add_dependency(%q<sqlite3>, [">= 0"])
41
43
  s.add_dependency(%q<rspec>, [">= 0"])
44
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
42
45
  s.add_dependency(%q<activerecord>, ["~> 3.0"])
43
46
  end
44
47
  end
data/lib/degu/has_set.rb CHANGED
@@ -33,15 +33,23 @@ module Degu
33
33
  define_method("#{set_name}=") do |argument_value|
34
34
  self[set_column] =
35
35
  unless argument_value.nil?
36
+ invalid_set_elements = []
36
37
  set_elements =
37
38
  if String === argument_value
38
39
  argument_value.split(',').map(&:strip)
39
40
  else
40
41
  Array(argument_value)
41
42
  end.map do |set_element|
42
- enum_class[set_element]
43
+ if result = enum_class[set_element]
44
+ result
45
+ else
46
+ invalid_set_elements << set_element
47
+ nil
48
+ end
43
49
  end
44
- set_elements.all? or raise ArgumentError, "element #{argument_value.inspect} contains invalid elements"
50
+ if set_elements.any? { |set_element| set_element.nil? }
51
+ raise ArgumentError, "element #{argument_value.inspect} contains invalid elements: #{invalid_set_elements.inspect}"
52
+ end
45
53
  value = 0
46
54
  set_elements.each do |set_element|
47
55
  mask = 1 << set_element.bitfield_index
data/lib/degu/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Degu
2
2
  # Degu version
3
- VERSION = '0.0.4'
3
+ VERSION = '0.0.5'
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:
data/test/has_set_test.rb CHANGED
@@ -66,6 +66,13 @@ class HasSetTest < Test::Unit::TestCase
66
66
  def test_should_set_elements_by_string_names
67
67
  person = Person.new(:fullname => "Jessie Summers", :interests => "Dating, Shopping")
68
68
  assert_equal [Interests::Dating, Interests::Shopping], person.interests
69
+ person = Person.new(:fullname => "Jessie Summers", :interests => "")
70
+ assert_equal [], person.interests
71
+ end
72
+
73
+ def test_should_be_settable_to_nil
74
+ person = Person.new(:fullname => "Jessie Summers", :interests => nil)
75
+ assert_equal nil, person.interests
69
76
  end
70
77
 
71
78
  def test_should_set_elements_by_string_name
metadata CHANGED
@@ -1,77 +1,116 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: degu
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.4
3
+ version: !ruby/object:Gem::Version
4
+ hash: 21
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 5
10
+ version: 0.0.5
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Florian Frank
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-12-08 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2011-12-14 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: gem_hadar
16
- requirement: &2160629180 !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
25
+ requirements:
19
26
  - - ~>
20
- - !ruby/object:Gem::Version
27
+ - !ruby/object:Gem::Version
28
+ hash: 29
29
+ segments:
30
+ - 0
31
+ - 1
32
+ - 3
21
33
  version: 0.1.3
22
34
  type: :development
23
- prerelease: false
24
- version_requirements: *2160629180
25
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
26
37
  name: mocha
27
- requirement: &2160628700 !ruby/object:Gem::Requirement
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
28
40
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
33
48
  type: :development
34
- prerelease: false
35
- version_requirements: *2160628700
36
- - !ruby/object:Gem::Dependency
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
37
51
  name: sqlite3
38
- requirement: &2160628280 !ruby/object:Gem::Requirement
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
39
54
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
44
62
  type: :development
45
- prerelease: false
46
- version_requirements: *2160628280
47
- - !ruby/object:Gem::Dependency
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
48
65
  name: rspec
49
- requirement: &2160573460 !ruby/object:Gem::Requirement
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
50
68
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
55
76
  type: :development
77
+ version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: ruby-debug
56
80
  prerelease: false
57
- version_requirements: *2160573460
58
- - !ruby/object:Gem::Dependency
81
+ requirement: &id005 !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ hash: 3
87
+ segments:
88
+ - 0
89
+ version: "0"
90
+ type: :development
91
+ version_requirements: *id005
92
+ - !ruby/object:Gem::Dependency
59
93
  name: activerecord
60
- requirement: &2160572000 !ruby/object:Gem::Requirement
94
+ prerelease: false
95
+ requirement: &id006 !ruby/object:Gem::Requirement
61
96
  none: false
62
- requirements:
97
+ requirements:
63
98
  - - ~>
64
- - !ruby/object:Gem::Version
65
- version: '3.0'
99
+ - !ruby/object:Gem::Version
100
+ hash: 7
101
+ segments:
102
+ - 3
103
+ - 0
104
+ version: "3.0"
66
105
  type: :runtime
67
- prerelease: false
68
- version_requirements: *2160572000
69
- description: Library that includes enums, and rails support for enums and bitfield
70
- sets.
106
+ version_requirements: *id006
107
+ description: Library that includes enums, and rails support for enums and bitfield sets.
71
108
  email: dev@pkw.de
72
109
  executables: []
110
+
73
111
  extensions: []
74
- extra_rdoc_files:
112
+
113
+ extra_rdoc_files:
75
114
  - README.rdoc
76
115
  - lib/degu/has_enum.rb
77
116
  - lib/degu/has_set.rb
@@ -82,7 +121,7 @@ extra_rdoc_files:
82
121
  - lib/degu/rude.rb
83
122
  - lib/degu/version.rb
84
123
  - lib/degu.rb
85
- files:
124
+ files:
86
125
  - .gitignore
87
126
  - Gemfile
88
127
  - README.rdoc
@@ -106,32 +145,40 @@ files:
106
145
  - test_helper.rb
107
146
  homepage: http://github.com/caroo/degu
108
147
  licenses: []
148
+
109
149
  post_install_message:
110
- rdoc_options:
150
+ rdoc_options:
111
151
  - --title
112
152
  - Degu - Library for enums and bitfield sets.
113
153
  - --main
114
154
  - README.rdoc
115
- require_paths:
155
+ require_paths:
116
156
  - lib
117
- required_ruby_version: !ruby/object:Gem::Requirement
157
+ required_ruby_version: !ruby/object:Gem::Requirement
118
158
  none: false
119
- requirements:
120
- - - ! '>='
121
- - !ruby/object:Gem::Version
122
- version: '0'
123
- required_rubygems_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ hash: 3
163
+ segments:
164
+ - 0
165
+ version: "0"
166
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
167
  none: false
125
- requirements:
126
- - - ! '>='
127
- - !ruby/object:Gem::Version
128
- version: '0'
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ hash: 3
172
+ segments:
173
+ - 0
174
+ version: "0"
129
175
  requirements: []
176
+
130
177
  rubyforge_project:
131
- rubygems_version: 1.8.11
178
+ rubygems_version: 1.8.10
132
179
  signing_key:
133
180
  specification_version: 3
134
181
  summary: Library for enums and bitfield sets.
135
- test_files:
182
+ test_files:
136
183
  - test/has_enum_test.rb
137
184
  - test/has_set_test.rb