acts_as_label 0.1.6 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
- version: 0.1.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-03-25 00:00:00 -05:00
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: activesupport
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
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
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
- version:
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.5
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.add_dependency("activesupport")
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.6
1
+ 0.2.0
@@ -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.1.6"
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-04}
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.6}
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::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
48
- s.add_runtime_dependency(%q<activerecord>, [">= 0"])
49
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
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>, [">= 0"])
52
- s.add_dependency(%q<activesupport>, [">= 0"])
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>, [">= 0"])
56
- s.add_dependency(%q<activesupport>, [">= 0"])
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
 
@@ -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
- record = self.find(:first, :conditions => ["#{acts_as_label_system_label_column} = ?", method.to_s.upcase])
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
@@ -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 Role.find(:first, :conditions => ["system_label = ?", "SUPERUSER"]), Role.superuser
227
+ assert_equal role_superuser, Role.superuser
217
228
 
218
229
  # test default with implemented method
219
- assert_equal Role.find(:first, :conditions => ["system_label = ?", "GUEST"]), Role.default
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 Framework.find(:first, :conditions => ["system_name = ?", "RUBY_ON_RAILS"]), Framework.default
236
+ assert_equal framework_rails, Framework.default
226
237
 
227
238
  end
228
239
 
data/test/test_helper.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # require rails stuff
2
2
  require "rubygems"
3
- require "active_record"
4
3
  require "active_support"
5
4
  require "active_support/test_case"
6
5
  require "test/unit"
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
- - 1
8
- - 6
9
- version: 0.1.6
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-04 00:00:00 -05:00
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
- - 0
30
- version: "0"
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
- - 0
42
- version: "0"
43
- type: :runtime
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.6
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.