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