degu 0.5.0 → 0.6.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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -3
- data/VERSION +1 -1
- data/degu.gemspec +7 -7
- data/lib/degu/renum/enumerated_value.rb +5 -1
- data/lib/degu/version.rb +1 -1
- data/spec/renum_spec.rb +33 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02a36ad5dbf090d463a5bcb6663647276524efbb
|
4
|
+
data.tar.gz: a708d7d3b15edb9fb5d91b7efebf17598467ad1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ab2d609d9206f6b59125c371b21121edaa394f39abc20356bb8b762e55c214c0453b4a82170e90ba080b4b870f04eb43162a4a29037239d3ddd72d3fae306fa
|
7
|
+
data.tar.gz: 6490e1a508f3b904cc429f37e268a3658f5021aa80b61678530f4eb4f7ceb2e4255726dfeec9f692bfb3c7e07b720f4df0111212154681f6d8d59c4d419aa7a9
|
data/.travis.yml
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.0
|
data/degu.gemspec
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: degu 0.
|
2
|
+
# stub: degu 0.6.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "degu"
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.6.0"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib"]
|
10
10
|
s.authors = ["Florian Frank"]
|
11
|
-
s.date = "
|
11
|
+
s.date = "2015-04-24"
|
12
12
|
s.description = "Library that includes enums, and rails support for enums and bitfield sets."
|
13
13
|
s.email = "dev@pkw.de"
|
14
14
|
s.extra_rdoc_files = ["README.md", "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"]
|
15
15
|
s.files = [".gitignore", ".travis.yml", "COPYING", "Gemfile", "README.md", "Rakefile", "VERSION", "degu.gemspec", "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", "spec/renum_spec.rb", "spec/spec_helper.rb", "test/has_enum_test.rb", "test/has_set_test.rb", "test/test_helper.rb", "test_helper.rb"]
|
16
16
|
s.homepage = "https://github.com/tuskenraiders/degu"
|
17
17
|
s.rdoc_options = ["--title", "Degu - Library for enums and bitfield sets.", "--main", "README.md"]
|
18
|
-
s.rubygems_version = "2.
|
18
|
+
s.rubygems_version = "2.4.6"
|
19
19
|
s.summary = "Library for enums and bitfield sets."
|
20
20
|
s.test_files = ["test/has_enum_test.rb", "test/has_set_test.rb"]
|
21
21
|
|
@@ -23,14 +23,14 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.specification_version = 4
|
24
24
|
|
25
25
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
26
|
-
s.add_development_dependency(%q<gem_hadar>, ["~> 1.
|
26
|
+
s.add_development_dependency(%q<gem_hadar>, ["~> 1.2.0"])
|
27
27
|
s.add_development_dependency(%q<test-unit>, [">= 0"])
|
28
28
|
s.add_development_dependency(%q<mocha>, [">= 0"])
|
29
29
|
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
30
30
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
31
31
|
s.add_runtime_dependency(%q<activerecord>, ["< 5.0", ">= 3.0"])
|
32
32
|
else
|
33
|
-
s.add_dependency(%q<gem_hadar>, ["~> 1.
|
33
|
+
s.add_dependency(%q<gem_hadar>, ["~> 1.2.0"])
|
34
34
|
s.add_dependency(%q<test-unit>, [">= 0"])
|
35
35
|
s.add_dependency(%q<mocha>, [">= 0"])
|
36
36
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
@@ -38,7 +38,7 @@ Gem::Specification.new do |s|
|
|
38
38
|
s.add_dependency(%q<activerecord>, ["< 5.0", ">= 3.0"])
|
39
39
|
end
|
40
40
|
else
|
41
|
-
s.add_dependency(%q<gem_hadar>, ["~> 1.
|
41
|
+
s.add_dependency(%q<gem_hadar>, ["~> 1.2.0"])
|
42
42
|
s.add_dependency(%q<test-unit>, [">= 0"])
|
43
43
|
s.add_dependency(%q<mocha>, [">= 0"])
|
44
44
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
@@ -212,7 +212,11 @@ module Degu
|
|
212
212
|
|
213
213
|
# Sorts enumerated values into the order in which they're declared.
|
214
214
|
def <=> other
|
215
|
-
|
215
|
+
if self.class === other
|
216
|
+
index <=> other.index
|
217
|
+
elsif other_value = self.class[other]
|
218
|
+
self <=> other_value
|
219
|
+
end
|
216
220
|
end
|
217
221
|
|
218
222
|
# Returns a marshalled string for this enum instance.
|
data/lib/degu/version.rb
CHANGED
data/spec/renum_spec.rb
CHANGED
@@ -49,7 +49,6 @@ describe "basic enum" do
|
|
49
49
|
expect(Color::GREEN.id).to eq 1
|
50
50
|
end
|
51
51
|
|
52
|
-
|
53
52
|
it "provides name lookup on values" do
|
54
53
|
expect(Status.with_name('IN_PROGRESS')).to eq Status::IN_PROGRESS
|
55
54
|
expect(Color.with_name('GREEN')).to eq Color::GREEN
|
@@ -317,3 +316,36 @@ describe "definition extensions included as models and block to use inside of th
|
|
317
316
|
expect(Foo3::Bang.set_per_extension).to eq 'c_set_via_extension'
|
318
317
|
end
|
319
318
|
end
|
319
|
+
|
320
|
+
|
321
|
+
enum :LogLevel, %i[ DEBUG INFO WARN ERROR FATAL UNKNOWN ]
|
322
|
+
|
323
|
+
enum :Nix, %i[ FOO BAR ]
|
324
|
+
|
325
|
+
describe 'comparing renums' do
|
326
|
+
it 'can compare to other enums of the same type' do
|
327
|
+
expect(LogLevel::WARN).to be < LogLevel::ERROR
|
328
|
+
expect(LogLevel::WARN).not_to be < LogLevel::WARN
|
329
|
+
end
|
330
|
+
|
331
|
+
it 'cannot compare to enums of other types' do
|
332
|
+
expect(LogLevel::DEBUG <=> Nix::BAR).to be_nil
|
333
|
+
end
|
334
|
+
|
335
|
+
it 'can compare to indexes' do
|
336
|
+
expect(LogLevel::WARN).to be < 3
|
337
|
+
end
|
338
|
+
|
339
|
+
it 'cannot compare to unknown indexes' do
|
340
|
+
expect(LogLevel::DEBUG <=> 666).to be_nil
|
341
|
+
end
|
342
|
+
|
343
|
+
it 'can compare to names' do
|
344
|
+
expect(LogLevel::WARN).to be < :ERROR
|
345
|
+
expect(LogLevel::WARN).not_to be < :WARN
|
346
|
+
end
|
347
|
+
|
348
|
+
it 'cannot compare to unknown names' do
|
349
|
+
expect(LogLevel::DEBUG <=> :foo).to be_nil
|
350
|
+
end
|
351
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: degu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_hadar
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.2.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: test-unit
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -163,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
163
|
version: '0'
|
164
164
|
requirements: []
|
165
165
|
rubyforge_project:
|
166
|
-
rubygems_version: 2.
|
166
|
+
rubygems_version: 2.4.6
|
167
167
|
signing_key:
|
168
168
|
specification_version: 4
|
169
169
|
summary: Library for enums and bitfield sets.
|