acts_as_label 0.1.6 → 0.2.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/.specification +31 -9
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/acts_as_label.gemspec +10 -10
- data/lib/acts_as_label/base.rb +7 -1
- data/test/acts_as_label_test.rb +14 -3
- data/test/test_helper.rb +0 -1
- metadata +23 -10
data/.specification
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_label
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 6
|
9
|
+
version: 0.1.6
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Coroutine
|
@@ -10,19 +15,33 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date: 2010-
|
18
|
+
date: 2010-07-04 00:00:00 -05:00
|
14
19
|
default_executable:
|
15
20
|
dependencies:
|
16
21
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
22
|
+
name: activerecord
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
18
31
|
type: :runtime
|
19
|
-
|
20
|
-
|
32
|
+
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: activesupport
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
21
37
|
requirements:
|
22
38
|
- - ">="
|
23
39
|
- !ruby/object:Gem::Version
|
40
|
+
segments:
|
41
|
+
- 0
|
24
42
|
version: "0"
|
25
|
-
|
43
|
+
type: :runtime
|
44
|
+
version_requirements: *id002
|
26
45
|
description: This acts_as extension implements a system label and a friendly label on a class and centralizes the logic for performing validations and accessing items by system label.
|
27
46
|
email: jdugan@coroutine.com
|
28
47
|
executables: []
|
@@ -42,6 +61,7 @@ files:
|
|
42
61
|
- init.rb
|
43
62
|
- lib/acts_as_label.rb
|
44
63
|
- lib/acts_as_label/base.rb
|
64
|
+
- rails/init.rb
|
45
65
|
- test/acts_as_label_test.rb
|
46
66
|
- test/test_helper.rb
|
47
67
|
has_rdoc: true
|
@@ -57,18 +77,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
57
77
|
requirements:
|
58
78
|
- - ">="
|
59
79
|
- !ruby/object:Gem::Version
|
80
|
+
segments:
|
81
|
+
- 0
|
60
82
|
version: "0"
|
61
|
-
version:
|
62
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
63
84
|
requirements:
|
64
85
|
- - ">="
|
65
86
|
- !ruby/object:Gem::Version
|
87
|
+
segments:
|
88
|
+
- 0
|
66
89
|
version: "0"
|
67
|
-
version:
|
68
90
|
requirements: []
|
69
91
|
|
70
92
|
rubyforge_project:
|
71
|
-
rubygems_version: 1.3.
|
93
|
+
rubygems_version: 1.3.6
|
72
94
|
signing_key:
|
73
95
|
specification_version: 3
|
74
96
|
summary: Gem version of acts_as_label Rails plugin.
|
data/Rakefile
CHANGED
@@ -35,8 +35,8 @@ begin
|
|
35
35
|
gemspec.name = "acts_as_label"
|
36
36
|
gemspec.summary = "Gem version of acts_as_label Rails plugin."
|
37
37
|
|
38
|
-
gemspec.add_dependency("activerecord")
|
39
|
-
gemspec.
|
38
|
+
gemspec.add_dependency("activerecord", ">=2.3.4")
|
39
|
+
gemspec.add_development_dependency("activesupport", ">=2.3.4")
|
40
40
|
gemspec.files.include("lib/**/*.rb")
|
41
41
|
end
|
42
42
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/acts_as_label.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{acts_as_label}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Coroutine", "John Dugan"]
|
12
|
-
s.date = %q{2010-07-
|
12
|
+
s.date = %q{2010-07-12}
|
13
13
|
s.description = %q{This acts_as extension implements a system label and a friendly label on a class and centralizes the logic for performing validations and accessing items by system label.}
|
14
14
|
s.email = %q{jdugan@coroutine.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
|
|
33
33
|
s.homepage = %q{http://github.com/coroutine/acts_as_label}
|
34
34
|
s.rdoc_options = ["--charset=UTF-8"]
|
35
35
|
s.require_paths = ["lib"]
|
36
|
-
s.rubygems_version = %q{1.3.
|
36
|
+
s.rubygems_version = %q{1.3.7}
|
37
37
|
s.summary = %q{Gem version of acts_as_label Rails plugin.}
|
38
38
|
s.test_files = [
|
39
39
|
"test/acts_as_label_test.rb",
|
@@ -44,16 +44,16 @@ Gem::Specification.new do |s|
|
|
44
44
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
45
45
|
s.specification_version = 3
|
46
46
|
|
47
|
-
if Gem::Version.new(Gem::
|
48
|
-
s.add_runtime_dependency(%q<activerecord>, [">=
|
49
|
-
s.
|
47
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
48
|
+
s.add_runtime_dependency(%q<activerecord>, [">= 2.3.4"])
|
49
|
+
s.add_development_dependency(%q<activesupport>, [">= 2.3.4"])
|
50
50
|
else
|
51
|
-
s.add_dependency(%q<activerecord>, [">=
|
52
|
-
s.add_dependency(%q<activesupport>, [">=
|
51
|
+
s.add_dependency(%q<activerecord>, [">= 2.3.4"])
|
52
|
+
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
53
53
|
end
|
54
54
|
else
|
55
|
-
s.add_dependency(%q<activerecord>, [">=
|
56
|
-
s.add_dependency(%q<activesupport>, [">=
|
55
|
+
s.add_dependency(%q<activerecord>, [">= 2.3.4"])
|
56
|
+
s.add_dependency(%q<activesupport>, [">= 2.3.4"])
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
data/lib/acts_as_label/base.rb
CHANGED
@@ -109,8 +109,14 @@ module Coroutine #:nodoc:
|
|
109
109
|
|
110
110
|
# Add custom method missing functionality to perform find by system label lookup. If
|
111
111
|
# nothing is found, it delegates the call to the original method_missing.
|
112
|
+
#
|
113
|
+
# The method attempts rails 3 syntax. If that fails, it reverts to rails 2 syntax.
|
112
114
|
def self.method_missing_with_label(method, *args, &block)
|
113
|
-
|
115
|
+
begin
|
116
|
+
record = self.where("#{acts_as_label_system_label_column} = ?", method.to_s.upcase).first
|
117
|
+
rescue
|
118
|
+
record = self.find(:first, :conditions => ["#{acts_as_label_system_label_column} = ?", method.to_s.upcase])
|
119
|
+
end
|
114
120
|
if record
|
115
121
|
return record
|
116
122
|
else
|
data/test/acts_as_label_test.rb
CHANGED
@@ -212,17 +212,28 @@ class ActsAsLabelTest < ActiveSupport::TestCase
|
|
212
212
|
|
213
213
|
def test_method_missing_accessors
|
214
214
|
|
215
|
+
# lookup database objects using syntax appropriate for version of rails
|
216
|
+
begin
|
217
|
+
role_superuser = Role.where("system_label = ?", "SUPERUSER").first
|
218
|
+
role_guest = Role.where("system_label = ?", "GUEST").first
|
219
|
+
framework_rails = Framework.where("system_name = ?", "RUBY_ON_RAILS").first
|
220
|
+
rescue
|
221
|
+
role_superuser = Role.find(:first, :conditions => ["system_label = ?", "SUPERUSER"])
|
222
|
+
role_guest = Role.find(:first, :conditions => ["system_label = ?", "GUEST"])
|
223
|
+
framework_rails = Framework.find(:first, :conditions => ["system_name = ?", "RUBY_ON_RAILS"])
|
224
|
+
end
|
225
|
+
|
215
226
|
# test lookup by system label
|
216
|
-
assert_equal
|
227
|
+
assert_equal role_superuser, Role.superuser
|
217
228
|
|
218
229
|
# test default with implemented method
|
219
|
-
assert_equal
|
230
|
+
assert_equal role_guest, Role.default
|
220
231
|
|
221
232
|
# test default with unspecified behavior
|
222
233
|
assert_equal BillingFrequency.first, BillingFrequency.default
|
223
234
|
|
224
235
|
# test default with specified system label
|
225
|
-
assert_equal
|
236
|
+
assert_equal framework_rails, Framework.default
|
226
237
|
|
227
238
|
end
|
228
239
|
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_label
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Coroutine
|
@@ -15,32 +16,40 @@ autorequire:
|
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date: 2010-07-
|
19
|
+
date: 2010-07-12 00:00:00 -05:00
|
19
20
|
default_executable:
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
22
23
|
name: activerecord
|
23
24
|
prerelease: false
|
24
25
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
25
27
|
requirements:
|
26
28
|
- - ">="
|
27
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 11
|
28
31
|
segments:
|
29
|
-
-
|
30
|
-
|
32
|
+
- 2
|
33
|
+
- 3
|
34
|
+
- 4
|
35
|
+
version: 2.3.4
|
31
36
|
type: :runtime
|
32
37
|
version_requirements: *id001
|
33
38
|
- !ruby/object:Gem::Dependency
|
34
39
|
name: activesupport
|
35
40
|
prerelease: false
|
36
41
|
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
37
43
|
requirements:
|
38
44
|
- - ">="
|
39
45
|
- !ruby/object:Gem::Version
|
46
|
+
hash: 11
|
40
47
|
segments:
|
41
|
-
-
|
42
|
-
|
43
|
-
|
48
|
+
- 2
|
49
|
+
- 3
|
50
|
+
- 4
|
51
|
+
version: 2.3.4
|
52
|
+
type: :development
|
44
53
|
version_requirements: *id002
|
45
54
|
description: This acts_as extension implements a system label and a friendly label on a class and centralizes the logic for performing validations and accessing items by system label.
|
46
55
|
email: jdugan@coroutine.com
|
@@ -74,23 +83,27 @@ rdoc_options:
|
|
74
83
|
require_paths:
|
75
84
|
- lib
|
76
85
|
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
77
87
|
requirements:
|
78
88
|
- - ">="
|
79
89
|
- !ruby/object:Gem::Version
|
90
|
+
hash: 3
|
80
91
|
segments:
|
81
92
|
- 0
|
82
93
|
version: "0"
|
83
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
84
96
|
requirements:
|
85
97
|
- - ">="
|
86
98
|
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
87
100
|
segments:
|
88
101
|
- 0
|
89
102
|
version: "0"
|
90
103
|
requirements: []
|
91
104
|
|
92
105
|
rubyforge_project:
|
93
|
-
rubygems_version: 1.3.
|
106
|
+
rubygems_version: 1.3.7
|
94
107
|
signing_key:
|
95
108
|
specification_version: 3
|
96
109
|
summary: Gem version of acts_as_label Rails plugin.
|