acts_as_label 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.specification +9 -28
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/acts_as_label.gemspec +18 -25
- data/lib/acts_as_label/base.rb +76 -35
- data/lib/acts_as_label.rb +5 -5
- data/rails/init.rb +1 -1
- data/test/acts_as_label_test.rb +22 -9
- data/test/test_helper.rb +1 -2
- metadata +15 -11
- data/.gitignore +0 -2
data/.specification
CHANGED
@@ -1,22 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_label
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
version: 1.0.1
|
4
|
+
prerelease:
|
5
|
+
version: 1.1.0
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Coroutine
|
13
9
|
- John Dugan
|
10
|
+
- Rick Branson
|
14
11
|
autorequire:
|
15
12
|
bindir: bin
|
16
13
|
cert_chain: []
|
17
14
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
15
|
+
date: 2011-05-12 00:00:00 Z
|
20
16
|
dependencies:
|
21
17
|
- !ruby/object:Gem::Dependency
|
22
18
|
name: activerecord
|
@@ -26,10 +22,6 @@ dependencies:
|
|
26
22
|
requirements:
|
27
23
|
- - ">="
|
28
24
|
- !ruby/object:Gem::Version
|
29
|
-
segments:
|
30
|
-
- 2
|
31
|
-
- 3
|
32
|
-
- 4
|
33
25
|
version: 2.3.4
|
34
26
|
type: :runtime
|
35
27
|
version_requirements: *id001
|
@@ -41,10 +33,6 @@ dependencies:
|
|
41
33
|
requirements:
|
42
34
|
- - ">="
|
43
35
|
- !ruby/object:Gem::Version
|
44
|
-
segments:
|
45
|
-
- 2
|
46
|
-
- 3
|
47
|
-
- 4
|
48
36
|
version: 2.3.4
|
49
37
|
type: :development
|
50
38
|
version_requirements: *id002
|
@@ -57,7 +45,6 @@ extensions: []
|
|
57
45
|
extra_rdoc_files:
|
58
46
|
- README.rdoc
|
59
47
|
files:
|
60
|
-
- .gitignore
|
61
48
|
- .specification
|
62
49
|
- MIT-LICENSE
|
63
50
|
- README.rdoc
|
@@ -70,13 +57,12 @@ files:
|
|
70
57
|
- rails/init.rb
|
71
58
|
- test/acts_as_label_test.rb
|
72
59
|
- test/test_helper.rb
|
73
|
-
has_rdoc: true
|
74
60
|
homepage: http://github.com/coroutine/acts_as_label
|
75
61
|
licenses: []
|
76
62
|
|
77
63
|
post_install_message:
|
78
|
-
rdoc_options:
|
79
|
-
|
64
|
+
rdoc_options: []
|
65
|
+
|
80
66
|
require_paths:
|
81
67
|
- lib
|
82
68
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -84,25 +70,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
84
70
|
requirements:
|
85
71
|
- - ">="
|
86
72
|
- !ruby/object:Gem::Version
|
87
|
-
segments:
|
88
|
-
- 0
|
89
73
|
version: "0"
|
90
74
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
75
|
none: false
|
92
76
|
requirements:
|
93
77
|
- - ">="
|
94
78
|
- !ruby/object:Gem::Version
|
95
|
-
segments:
|
96
|
-
- 0
|
97
79
|
version: "0"
|
98
80
|
requirements: []
|
99
81
|
|
100
82
|
rubyforge_project:
|
101
|
-
rubygems_version: 1.
|
83
|
+
rubygems_version: 1.8.2
|
102
84
|
signing_key:
|
103
85
|
specification_version: 3
|
104
86
|
summary: Gem version of acts_as_label Rails plugin.
|
105
|
-
test_files:
|
106
|
-
|
107
|
-
- test/test_helper.rb
|
87
|
+
test_files: []
|
88
|
+
|
108
89
|
|
data/Rakefile
CHANGED
@@ -28,7 +28,7 @@ end
|
|
28
28
|
|
29
29
|
begin
|
30
30
|
Jeweler::Tasks.new do |gemspec|
|
31
|
-
gemspec.authors = ["Coroutine", "John Dugan"]
|
31
|
+
gemspec.authors = ["Coroutine", "John Dugan", "Rick Branson"]
|
32
32
|
gemspec.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."
|
33
33
|
gemspec.email = "jdugan@coroutine.com"
|
34
34
|
gemspec.homepage = "http://github.com/coroutine/acts_as_label"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0
|
1
|
+
1.1.0
|
data/acts_as_label.gemspec
CHANGED
@@ -1,47 +1,40 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{acts_as_label}
|
8
|
-
s.version = "1.0
|
8
|
+
s.version = "1.1.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date = %q{
|
11
|
+
s.authors = [%q{Coroutine}, %q{John Dugan}, %q{Rick Branson}]
|
12
|
+
s.date = %q{2011-05-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 = [
|
16
16
|
"README.rdoc"
|
17
17
|
]
|
18
18
|
s.files = [
|
19
|
-
".
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
"test/test_helper.rb"
|
19
|
+
".specification",
|
20
|
+
"MIT-LICENSE",
|
21
|
+
"README.rdoc",
|
22
|
+
"Rakefile",
|
23
|
+
"VERSION",
|
24
|
+
"acts_as_label.gemspec",
|
25
|
+
"init.rb",
|
26
|
+
"lib/acts_as_label.rb",
|
27
|
+
"lib/acts_as_label/base.rb",
|
28
|
+
"rails/init.rb",
|
29
|
+
"test/acts_as_label_test.rb",
|
30
|
+
"test/test_helper.rb"
|
32
31
|
]
|
33
32
|
s.homepage = %q{http://github.com/coroutine/acts_as_label}
|
34
|
-
s.
|
35
|
-
s.
|
36
|
-
s.rubygems_version = %q{1.3.7}
|
33
|
+
s.require_paths = [%q{lib}]
|
34
|
+
s.rubygems_version = %q{1.8.2}
|
37
35
|
s.summary = %q{Gem version of acts_as_label Rails plugin.}
|
38
|
-
s.test_files = [
|
39
|
-
"test/acts_as_label_test.rb",
|
40
|
-
"test/test_helper.rb"
|
41
|
-
]
|
42
36
|
|
43
37
|
if s.respond_to? :specification_version then
|
44
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
45
38
|
s.specification_version = 3
|
46
39
|
|
47
40
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
data/lib/acts_as_label/base.rb
CHANGED
@@ -77,7 +77,7 @@ module Coroutine #:nodoc:
|
|
77
77
|
#--------------------------------------------
|
78
78
|
class_eval do
|
79
79
|
|
80
|
-
#
|
80
|
+
# inheritable accessors
|
81
81
|
write_inheritable_attribute :acts_as_label_system_label_column, system_label
|
82
82
|
class_inheritable_reader :acts_as_label_system_label_column
|
83
83
|
write_inheritable_attribute :acts_as_label_label_column, label
|
@@ -92,7 +92,7 @@ module Coroutine #:nodoc:
|
|
92
92
|
attr_readonly system_label
|
93
93
|
|
94
94
|
|
95
|
-
#
|
95
|
+
# validations
|
96
96
|
validates_presence_of system_label
|
97
97
|
validates_length_of system_label, :maximum => 255
|
98
98
|
validates_format_of system_label, :with => /^[A-Z][_A-Z0-9]*$/
|
@@ -100,36 +100,66 @@ module Coroutine #:nodoc:
|
|
100
100
|
validates_length_of label, :maximum => 255
|
101
101
|
|
102
102
|
|
103
|
-
|
104
|
-
|
105
|
-
|
103
|
+
|
104
|
+
# This method catches all undefined method calls. It first sees if any ancestor
|
105
|
+
# understands the request. If not, it tries to match the method call to an
|
106
|
+
# existing system label. If that is found, it lazily manufacturers a method on the
|
107
|
+
# class of the same name. Otherwise, it throws the NoMethodError.
|
108
|
+
#
|
109
|
+
def self.method_missing(method, *args, &block)
|
110
|
+
begin
|
106
111
|
super
|
112
|
+
rescue NoMethodError => e
|
113
|
+
if has_acts_as_label_method?(method)
|
114
|
+
self.__send__(method)
|
115
|
+
elsif method.to_s == "to_ary"
|
116
|
+
# do nothing
|
117
|
+
else
|
118
|
+
throw e
|
119
|
+
end
|
107
120
|
end
|
108
121
|
end
|
109
122
|
|
110
|
-
|
111
|
-
#
|
123
|
+
|
124
|
+
# This method determines whether or not the class has an instance with
|
125
|
+
# the given system label. If it does, it also lazily creates a method
|
126
|
+
# that can be accessed without all this method missing nonsense.
|
112
127
|
#
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
128
|
+
def self.has_acts_as_label_method?(method_name)
|
129
|
+
mn = method_name.to_s.underscore
|
130
|
+
sl = mn.upcase
|
131
|
+
|
132
|
+
if record = by_acts_as_label_system_label(sl)
|
133
|
+
eval %Q{
|
134
|
+
class << self
|
135
|
+
def #{mn}
|
136
|
+
by_acts_as_label_system_label('#{sl}')
|
137
|
+
end
|
138
|
+
end
|
139
|
+
}
|
124
140
|
end
|
141
|
+
|
142
|
+
!!record
|
125
143
|
end
|
126
144
|
|
127
|
-
|
128
|
-
|
129
|
-
|
145
|
+
|
146
|
+
# This method finds an active record object for the given system label.
|
147
|
+
# It automatically determines the correct syntax for the current version
|
148
|
+
# of rails via duck typing.def typing.
|
149
|
+
#
|
150
|
+
def self.by_acts_as_label_system_label(system_label)
|
151
|
+
sl = system_label.to_s.upcase
|
152
|
+
|
153
|
+
if @by_system_label_has_arel ||= ActiveRecord::Base.respond_to?(:where)
|
154
|
+
where("#{acts_as_label_system_label_column} = ?", sl).first
|
155
|
+
else
|
156
|
+
find(:first, :conditions => ["#{acts_as_label_system_label_column} = ?", sl])
|
157
|
+
end
|
130
158
|
end
|
131
|
-
|
132
|
-
|
159
|
+
|
160
|
+
|
161
|
+
# This block adds a class method to return the default record.
|
162
|
+
#
|
133
163
|
unless self.method_defined? :default
|
134
164
|
if default.nil?
|
135
165
|
def self.default
|
@@ -141,7 +171,16 @@ module Coroutine #:nodoc:
|
|
141
171
|
end
|
142
172
|
end
|
143
173
|
end
|
144
|
-
|
174
|
+
|
175
|
+
|
176
|
+
# This method overrides the system label column writer to force
|
177
|
+
# upcasing of the value.
|
178
|
+
#
|
179
|
+
define_method("#{acts_as_label_system_label_column}=") do |value|
|
180
|
+
value = value.to_s.strip.upcase unless value.nil?
|
181
|
+
write_attribute("#{acts_as_label_system_label_column}", value)
|
182
|
+
end
|
183
|
+
|
145
184
|
|
146
185
|
# Add all the instance methods
|
147
186
|
include Coroutine::ActsAsLabel::Base::InstanceMethods
|
@@ -153,14 +192,6 @@ module Coroutine #:nodoc:
|
|
153
192
|
|
154
193
|
module InstanceMethods
|
155
194
|
|
156
|
-
# This method updates the system label attribute writer to ensure it is uppercase.
|
157
|
-
#
|
158
|
-
def system_label=(value)
|
159
|
-
value = value.to_s.strip.upcase unless value.nil?
|
160
|
-
write_attribute("#{acts_as_label_system_label_column}", value)
|
161
|
-
end
|
162
|
-
|
163
|
-
|
164
195
|
# This method overrides the to_s method to return the friendly label value.
|
165
196
|
#
|
166
197
|
def to_s
|
@@ -169,15 +200,25 @@ module Coroutine #:nodoc:
|
|
169
200
|
|
170
201
|
|
171
202
|
# This method overrides the to_sym method to return the downcased symbolized
|
172
|
-
# system label value.
|
203
|
+
# system label value. This method is particularly useful in conjunction with
|
173
204
|
# role-based authorization systems.
|
174
205
|
#
|
175
206
|
def to_sym
|
176
|
-
self.send("#{acts_as_label_system_label_column}").
|
207
|
+
self.send("#{acts_as_label_system_label_column}").underscore.to_sym
|
208
|
+
end
|
209
|
+
|
210
|
+
|
211
|
+
# This method compares two values by running to_sym on both sides. This allows
|
212
|
+
# comparisons like the following:
|
213
|
+
# u.role == Role.superuser
|
214
|
+
# u.role == :superuser
|
215
|
+
#
|
216
|
+
def ==(other)
|
217
|
+
self.to_sym == other.to_sym
|
177
218
|
end
|
178
219
|
|
179
220
|
end
|
180
221
|
|
181
222
|
end
|
182
223
|
end
|
183
|
-
end
|
224
|
+
end
|
data/lib/acts_as_label.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
# external gems
|
2
|
-
require "active_record"
|
3
|
-
|
4
|
-
|
5
1
|
# acts_as_label extension
|
6
2
|
require File.dirname(__FILE__) + "/acts_as_label/base"
|
7
3
|
|
8
4
|
|
9
5
|
# add extensions to active record
|
10
|
-
|
6
|
+
begin
|
7
|
+
::ActiveRecord::Base.send(:include, Coroutine::ActsAsLabel::Base)
|
8
|
+
rescue
|
9
|
+
# do nothing
|
10
|
+
end
|
data/rails/init.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require
|
1
|
+
require "acts_as_label"
|
data/test/acts_as_label_test.rb
CHANGED
@@ -6,7 +6,6 @@
|
|
6
6
|
require "test_helper"
|
7
7
|
|
8
8
|
|
9
|
-
|
10
9
|
#---------------------------------------------------------
|
11
10
|
# Database config
|
12
11
|
#---------------------------------------------------------
|
@@ -14,7 +13,6 @@ require "test_helper"
|
|
14
13
|
# establish db connection
|
15
14
|
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
16
15
|
|
17
|
-
|
18
16
|
# define and seed tables
|
19
17
|
def setup_db
|
20
18
|
ActiveRecord::Schema.define(:version => 1) do
|
@@ -59,7 +57,6 @@ def teardown_db
|
|
59
57
|
end
|
60
58
|
|
61
59
|
|
62
|
-
|
63
60
|
#---------------------------------------------------------
|
64
61
|
# Model definitions
|
65
62
|
#---------------------------------------------------------
|
@@ -96,7 +93,6 @@ class Framework < ActiveRecord::Base
|
|
96
93
|
end
|
97
94
|
|
98
95
|
|
99
|
-
|
100
96
|
#---------------------------------------------------------
|
101
97
|
# Tests
|
102
98
|
#---------------------------------------------------------
|
@@ -114,8 +110,6 @@ class ActsAsLabelTest < ActiveSupport::TestCase
|
|
114
110
|
teardown_db
|
115
111
|
end
|
116
112
|
|
117
|
-
|
118
|
-
|
119
113
|
#---------------------------------------------
|
120
114
|
# test validations
|
121
115
|
#---------------------------------------------
|
@@ -216,6 +210,7 @@ class ActsAsLabelTest < ActiveSupport::TestCase
|
|
216
210
|
begin
|
217
211
|
role_superuser = Role.where("system_label = ?", "SUPERUSER").first
|
218
212
|
role_guest = Role.where("system_label = ?", "GUEST").first
|
213
|
+
role_fresh = Role.create!(:system_label => "FRESH", :label => "Fresh")
|
219
214
|
framework_rails = Framework.where("system_name = ?", "RUBY_ON_RAILS").first
|
220
215
|
rescue
|
221
216
|
role_superuser = Role.find(:first, :conditions => ["system_label = ?", "SUPERUSER"])
|
@@ -223,8 +218,14 @@ class ActsAsLabelTest < ActiveSupport::TestCase
|
|
223
218
|
framework_rails = Framework.find(:first, :conditions => ["system_name = ?", "RUBY_ON_RAILS"])
|
224
219
|
end
|
225
220
|
|
221
|
+
# Won't have a method now
|
222
|
+
assert !Role.methods.map(&:to_s).include?("fresh") # some rubies report strings, some symbols
|
223
|
+
|
226
224
|
# test lookup by system label
|
227
|
-
assert_equal
|
225
|
+
assert_equal role_fresh, Role.fresh
|
226
|
+
|
227
|
+
# should have a method now
|
228
|
+
assert Role.methods.map(&:to_s).include?("fresh") # some rubies report strings, some symbols
|
228
229
|
|
229
230
|
# test default with implemented method
|
230
231
|
assert_equal role_guest, Role.default
|
@@ -234,10 +235,8 @@ class ActsAsLabelTest < ActiveSupport::TestCase
|
|
234
235
|
|
235
236
|
# test default with specified system label
|
236
237
|
assert_equal framework_rails, Framework.default
|
237
|
-
|
238
238
|
end
|
239
239
|
|
240
|
-
|
241
240
|
def test_method_missing_finders
|
242
241
|
|
243
242
|
# dynamic find on stand-alone model
|
@@ -289,6 +288,13 @@ class ActsAsLabelTest < ActiveSupport::TestCase
|
|
289
288
|
# test instance methods
|
290
289
|
#---------------------------------------------
|
291
290
|
|
291
|
+
def test_equality
|
292
|
+
r1 = Role.superuser
|
293
|
+
|
294
|
+
assert (r1 == Role.superuser)
|
295
|
+
assert (r1 == :superuser)
|
296
|
+
end
|
297
|
+
|
292
298
|
def test_to_s
|
293
299
|
role = Role.first
|
294
300
|
assert_equal role.label, role.to_s
|
@@ -300,8 +306,15 @@ class ActsAsLabelTest < ActiveSupport::TestCase
|
|
300
306
|
end
|
301
307
|
|
302
308
|
def test_upcase_system_label_value
|
309
|
+
|
310
|
+
# default system label column name
|
303
311
|
record = Role.create!({ :system_label => "Customer", :label => "Client" })
|
304
312
|
assert_equal record.system_label, "CUSTOMER"
|
313
|
+
|
314
|
+
# custom system label column name
|
315
|
+
record = Framework.create!( :system_name => "example", :name => "Example")
|
316
|
+
assert_equal record.system_name, "EXAMPLE"
|
317
|
+
|
305
318
|
end
|
306
319
|
|
307
320
|
end
|
data/test/test_helper.rb
CHANGED
@@ -2,13 +2,12 @@
|
|
2
2
|
require "rubygems"
|
3
3
|
require "active_support"
|
4
4
|
require "active_support/test_case"
|
5
|
+
require "active_record"
|
5
6
|
require "test/unit"
|
6
7
|
|
7
8
|
# require plugin
|
8
9
|
require "#{File.dirname(__FILE__)}/../init"
|
9
10
|
|
10
|
-
|
11
|
-
|
12
11
|
#----------------------------------------------------------
|
13
12
|
# Define global methods
|
14
13
|
#----------------------------------------------------------
|
metadata
CHANGED
@@ -1,21 +1,23 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_label
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 19
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 1
|
8
|
+
- 1
|
7
9
|
- 0
|
8
|
-
|
9
|
-
version: 1.0.2
|
10
|
+
version: 1.1.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Coroutine
|
13
14
|
- John Dugan
|
15
|
+
- Rick Branson
|
14
16
|
autorequire:
|
15
17
|
bindir: bin
|
16
18
|
cert_chain: []
|
17
19
|
|
18
|
-
date:
|
20
|
+
date: 2011-05-12 00:00:00 -05:00
|
19
21
|
default_executable:
|
20
22
|
dependencies:
|
21
23
|
- !ruby/object:Gem::Dependency
|
@@ -26,6 +28,7 @@ dependencies:
|
|
26
28
|
requirements:
|
27
29
|
- - ">="
|
28
30
|
- !ruby/object:Gem::Version
|
31
|
+
hash: 11
|
29
32
|
segments:
|
30
33
|
- 2
|
31
34
|
- 3
|
@@ -41,6 +44,7 @@ dependencies:
|
|
41
44
|
requirements:
|
42
45
|
- - ">="
|
43
46
|
- !ruby/object:Gem::Version
|
47
|
+
hash: 11
|
44
48
|
segments:
|
45
49
|
- 2
|
46
50
|
- 3
|
@@ -57,7 +61,6 @@ extensions: []
|
|
57
61
|
extra_rdoc_files:
|
58
62
|
- README.rdoc
|
59
63
|
files:
|
60
|
-
- .gitignore
|
61
64
|
- .specification
|
62
65
|
- MIT-LICENSE
|
63
66
|
- README.rdoc
|
@@ -75,8 +78,8 @@ homepage: http://github.com/coroutine/acts_as_label
|
|
75
78
|
licenses: []
|
76
79
|
|
77
80
|
post_install_message:
|
78
|
-
rdoc_options:
|
79
|
-
|
81
|
+
rdoc_options: []
|
82
|
+
|
80
83
|
require_paths:
|
81
84
|
- lib
|
82
85
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -84,6 +87,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
84
87
|
requirements:
|
85
88
|
- - ">="
|
86
89
|
- !ruby/object:Gem::Version
|
90
|
+
hash: 3
|
87
91
|
segments:
|
88
92
|
- 0
|
89
93
|
version: "0"
|
@@ -92,16 +96,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
96
|
requirements:
|
93
97
|
- - ">="
|
94
98
|
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
95
100
|
segments:
|
96
101
|
- 0
|
97
102
|
version: "0"
|
98
103
|
requirements: []
|
99
104
|
|
100
105
|
rubyforge_project:
|
101
|
-
rubygems_version: 1.
|
106
|
+
rubygems_version: 1.6.2
|
102
107
|
signing_key:
|
103
108
|
specification_version: 3
|
104
109
|
summary: Gem version of acts_as_label Rails plugin.
|
105
|
-
test_files:
|
106
|
-
|
107
|
-
- test/test_helper.rb
|
110
|
+
test_files: []
|
111
|
+
|
data/.gitignore
DELETED