role_model 0.6.0 → 0.7.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/{spec/spec.opts → .rspec} +0 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +29 -0
- data/Rakefile +29 -26
- data/VERSION +1 -1
- data/lib/role_model.rb +1 -0
- data/lib/role_model/class_methods.rb +13 -11
- data/role_model.gemspec +39 -30
- data/spec/role_model_spec.rb +108 -31
- data/spec/spec_helper.rb +8 -4
- metadata +61 -20
- data/.gitignore +0 -21
data/{spec/spec.opts → .rspec}
RENAMED
File without changes
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
ZenTest (4.5.0)
|
5
|
+
autotest (4.4.6)
|
6
|
+
ZenTest (>= 4.4.1)
|
7
|
+
diff-lcs (1.1.2)
|
8
|
+
git (1.2.5)
|
9
|
+
jeweler (1.5.2)
|
10
|
+
bundler (~> 1.0.0)
|
11
|
+
git (>= 1.2.5)
|
12
|
+
rake
|
13
|
+
rake (0.8.7)
|
14
|
+
rspec (2.5.0)
|
15
|
+
rspec-core (~> 2.5.0)
|
16
|
+
rspec-expectations (~> 2.5.0)
|
17
|
+
rspec-mocks (~> 2.5.0)
|
18
|
+
rspec-core (2.5.1)
|
19
|
+
rspec-expectations (2.5.0)
|
20
|
+
diff-lcs (~> 1.1.2)
|
21
|
+
rspec-mocks (2.5.0)
|
22
|
+
|
23
|
+
PLATFORMS
|
24
|
+
ruby
|
25
|
+
|
26
|
+
DEPENDENCIES
|
27
|
+
autotest
|
28
|
+
jeweler (>= 1.5.2)
|
29
|
+
rspec (~> 2)
|
data/Rakefile
CHANGED
@@ -1,40 +1,43 @@
|
|
1
1
|
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
2
10
|
require 'rake'
|
3
11
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
12
|
+
require 'jeweler'
|
13
|
+
Jeweler::Tasks.new do |gem|
|
14
|
+
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
15
|
+
gem.name = "role_model"
|
16
|
+
gem.homepage = "http://github.com/martinrehfeld/role_model"
|
17
|
+
gem.license = "MIT"
|
18
|
+
gem.summary = %Q{Declare, assign and query roles with ease}
|
19
|
+
gem.description = %Q{Ever needed to assign roles to a model, say a User, and build conditional behaviour on top of that? Enter RoleModel -- roles have never been easier! Just declare your roles and you are done. Assigned roles will be stored as a bitmask.}
|
20
|
+
gem.email = "martin.rehfeld@glnetworks.de"
|
21
|
+
gem.authors = ["Martin Rehfeld"]
|
22
|
+
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
23
|
+
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
24
|
+
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
25
|
+
# gem.add_development_dependency 'rspec', '> 1.2.3'
|
26
|
+
gem.add_development_dependency "rspec", "~> 2"
|
19
27
|
end
|
28
|
+
Jeweler::RubygemsDotOrgTasks.new
|
20
29
|
|
21
|
-
require '
|
22
|
-
|
23
|
-
|
24
|
-
spec.
|
30
|
+
require 'rspec/core'
|
31
|
+
require 'rspec/core/rake_task'
|
32
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
33
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
25
34
|
end
|
26
35
|
|
27
|
-
|
28
|
-
spec.libs << 'lib' << 'spec'
|
36
|
+
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
29
37
|
spec.pattern = 'spec/**/*_spec.rb'
|
30
38
|
spec.rcov = true
|
31
|
-
spec.rcov_opts.concat ['--exclude', 'rcov.rb']
|
32
|
-
spec.rcov_opts.concat ['--exclude', '.*_spec.rb']
|
33
|
-
spec.rcov_opts.concat ['--exclude', 'spec_helper.rb']
|
34
39
|
end
|
35
40
|
|
36
|
-
task :spec => :check_dependencies
|
37
|
-
|
38
41
|
task :default => :spec
|
39
42
|
|
40
43
|
require 'rake/rdoctask'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
data/lib/role_model.rb
CHANGED
@@ -18,17 +18,6 @@ module RoleModel
|
|
18
18
|
self.roles_attribute_name = name.to_sym
|
19
19
|
end
|
20
20
|
|
21
|
-
# :call-seq:
|
22
|
-
# roles(:role_1, ..., :role_n)
|
23
|
-
# roles('role_1', ..., 'role_n')
|
24
|
-
# roles([:role_1, ..., :role_n])
|
25
|
-
# roles(['role_1', ..., 'role_n'])
|
26
|
-
#
|
27
|
-
# declare valid roles
|
28
|
-
def roles(*roles)
|
29
|
-
self.valid_roles = Array[*roles].flatten.map { |r| r.to_sym }
|
30
|
-
end
|
31
|
-
|
32
21
|
def mask_for(*roles)
|
33
22
|
(Array[*roles].map {|r|
|
34
23
|
r.respond_to?(:each) ? r.to_a : r
|
@@ -40,5 +29,18 @@ module RoleModel
|
|
40
29
|
sum + bitvalue
|
41
30
|
} || 0
|
42
31
|
end
|
32
|
+
|
33
|
+
protected
|
34
|
+
|
35
|
+
# :call-seq:
|
36
|
+
# roles(:role_1, ..., :role_n)
|
37
|
+
# roles('role_1', ..., 'role_n')
|
38
|
+
# roles([:role_1, ..., :role_n])
|
39
|
+
# roles(['role_1', ..., 'role_n'])
|
40
|
+
#
|
41
|
+
# declare valid roles
|
42
|
+
def roles(*roles)
|
43
|
+
self.valid_roles = Array[*roles].flatten.map { |r| r.to_sym }
|
44
|
+
end
|
43
45
|
end
|
44
46
|
end
|
data/role_model.gemspec
CHANGED
@@ -1,64 +1,73 @@
|
|
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{role_model}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.7.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Martin Rehfeld"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2011-05-01}
|
13
13
|
s.description = %q{Ever needed to assign roles to a model, say a User, and build conditional behaviour on top of that? Enter RoleModel -- roles have never been easier! Just declare your roles and you are done. Assigned roles will be stored as a bitmask.}
|
14
14
|
s.email = %q{martin.rehfeld@glnetworks.de}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
|
-
|
17
|
+
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
21
|
+
".rspec",
|
22
|
+
"Gemfile",
|
23
|
+
"Gemfile.lock",
|
24
|
+
"LICENSE",
|
25
|
+
"README.rdoc",
|
26
|
+
"Rakefile",
|
27
|
+
"VERSION",
|
28
|
+
"lib/role_model.rb",
|
29
|
+
"lib/role_model/class_methods.rb",
|
30
|
+
"lib/role_model/implementation.rb",
|
31
|
+
"lib/role_model/roles.rb",
|
32
|
+
"role_model.gemspec",
|
33
|
+
"spec/custom_matchers.rb",
|
34
|
+
"spec/custom_matchers_spec.rb",
|
35
|
+
"spec/role_model_spec.rb",
|
36
|
+
"spec/roles_spec.rb",
|
37
|
+
"spec/spec_helper.rb"
|
37
38
|
]
|
38
39
|
s.homepage = %q{http://github.com/martinrehfeld/role_model}
|
39
|
-
s.
|
40
|
+
s.licenses = ["MIT"]
|
40
41
|
s.require_paths = ["lib"]
|
41
|
-
s.rubygems_version = %q{1.
|
42
|
+
s.rubygems_version = %q{1.7.2}
|
42
43
|
s.summary = %q{Declare, assign and query roles with ease}
|
43
44
|
s.test_files = [
|
44
45
|
"spec/custom_matchers.rb",
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
"spec/custom_matchers_spec.rb",
|
47
|
+
"spec/role_model_spec.rb",
|
48
|
+
"spec/roles_spec.rb",
|
49
|
+
"spec/spec_helper.rb"
|
49
50
|
]
|
50
51
|
|
51
52
|
if s.respond_to? :specification_version then
|
52
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
53
53
|
s.specification_version = 3
|
54
54
|
|
55
55
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
56
|
-
s.add_development_dependency(%q<
|
56
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
|
57
|
+
s.add_development_dependency(%q<rspec>, ["~> 2"])
|
58
|
+
s.add_development_dependency(%q<autotest>, [">= 0"])
|
59
|
+
s.add_development_dependency(%q<rspec>, ["~> 2"])
|
57
60
|
else
|
58
|
-
s.add_dependency(%q<
|
61
|
+
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
62
|
+
s.add_dependency(%q<rspec>, ["~> 2"])
|
63
|
+
s.add_dependency(%q<autotest>, [">= 0"])
|
64
|
+
s.add_dependency(%q<rspec>, ["~> 2"])
|
59
65
|
end
|
60
66
|
else
|
61
|
-
s.add_dependency(%q<
|
67
|
+
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
68
|
+
s.add_dependency(%q<rspec>, ["~> 2"])
|
69
|
+
s.add_dependency(%q<autotest>, [">= 0"])
|
70
|
+
s.add_dependency(%q<rspec>, ["~> 2"])
|
62
71
|
end
|
63
72
|
end
|
64
73
|
|
data/spec/role_model_spec.rb
CHANGED
@@ -33,7 +33,6 @@ describe RoleModel do
|
|
33
33
|
|
34
34
|
describe ".roles" do
|
35
35
|
subject { model_class.new }
|
36
|
-
|
37
36
|
it "should define the valid roles" do
|
38
37
|
subject.roles = %w(foo bar baz)
|
39
38
|
subject.roles.should include(:foo, :bar)
|
@@ -225,7 +224,46 @@ describe RoleModel do
|
|
225
224
|
subject.should have(0).roles
|
226
225
|
end
|
227
226
|
end
|
227
|
+
end
|
228
|
+
|
229
|
+
describe "#-=" do
|
230
|
+
subject { model_class.new }
|
231
|
+
|
232
|
+
context "with roles :foo and :bar already assigned" do
|
233
|
+
before(:each) do
|
234
|
+
subject.roles = [:foo, :bar]
|
235
|
+
end
|
236
|
+
|
237
|
+
it "should delete a existing role given as a symbol" do
|
238
|
+
subject.roles -= [:foo]
|
239
|
+
subject.roles.should_not include(:foo)
|
240
|
+
subject.should have(1).roles
|
241
|
+
end
|
242
|
+
|
243
|
+
it "should delete a existing role given as a string" do
|
244
|
+
subject.roles -= ['foo']
|
245
|
+
subject.roles.should_not include(:foo)
|
246
|
+
subject.should have(1).roles
|
247
|
+
end
|
248
|
+
|
249
|
+
it "should not change anything if a non existing role is given" do
|
250
|
+
subject.roles -= [:third]
|
251
|
+
subject.roles.should include(:foo, :bar)
|
252
|
+
subject.should have(2).roles
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
256
|
+
context "without roles assigned" do
|
257
|
+
it "should have 0 roles if a role is given as a symbol" do
|
258
|
+
subject.roles -= [:foo]
|
259
|
+
subject.should have(0).roles
|
260
|
+
end
|
228
261
|
|
262
|
+
it "should have 0 roles if a role is given as a string" do
|
263
|
+
subject.roles -= ['foo']
|
264
|
+
subject.should have(0).roles
|
265
|
+
end
|
266
|
+
end
|
229
267
|
end
|
230
268
|
|
231
269
|
context "query for an individual role" do
|
@@ -294,10 +332,60 @@ describe RoleModel do
|
|
294
332
|
end
|
295
333
|
end
|
296
334
|
|
335
|
+
context "query for roles when none defined in model" do
|
336
|
+
[:has_any_role?, :is_any_of?, :has_role?, :has_all_roles?, :is?, :has_roles?].each do |check_role_assignment_method|
|
337
|
+
describe "##{check_role_assignment_method}" do
|
338
|
+
|
339
|
+
let(:model_class_without_roles) { Class.new }
|
340
|
+
|
341
|
+
before(:each) do
|
342
|
+
model_class_without_roles.instance_eval do
|
343
|
+
attr_accessor :roles_mask
|
344
|
+
attr_accessor :custom_roles_mask
|
345
|
+
include RoleModel
|
346
|
+
end
|
347
|
+
end
|
348
|
+
|
349
|
+
|
350
|
+
subject { model_class_without_roles.new }
|
351
|
+
|
352
|
+
it "should return false when a role was assigned" do
|
353
|
+
subject.roles = :foo
|
354
|
+
subject.send(check_role_assignment_method, :foo).should be_false
|
355
|
+
end
|
356
|
+
|
357
|
+
it "should return false when no role was assigned" do
|
358
|
+
subject.send(check_role_assignment_method, :foo).should be_false
|
359
|
+
end
|
360
|
+
|
361
|
+
end
|
362
|
+
end
|
363
|
+
end
|
364
|
+
|
365
|
+
context "ClassMethods" do
|
366
|
+
|
367
|
+
subject { model_class }
|
368
|
+
|
369
|
+
describe ".roles" do
|
370
|
+
it "should not allow public access to set roles" do
|
371
|
+
lambda do
|
372
|
+
subject.roles :foo, :quux
|
373
|
+
end.should raise_exception(NoMethodError, /protected method.*roles.*called/)
|
374
|
+
end
|
375
|
+
end
|
376
|
+
|
377
|
+
end
|
378
|
+
|
297
379
|
context "inheritance" do
|
298
380
|
let(:superclass_instance) { model_class.new }
|
299
381
|
let(:inherited_model_class) { Class.new(model_class) }
|
300
382
|
subject { inherited_model_class.new }
|
383
|
+
|
384
|
+
it "should not allow public access to set roles" do
|
385
|
+
lambda do
|
386
|
+
inherited_model_class.roles :foo, :quux
|
387
|
+
end.should raise_exception(NoMethodError, /protected method.*roles.*called/)
|
388
|
+
end
|
301
389
|
|
302
390
|
it "should not alter the superclass behaviour" do
|
303
391
|
inherited_model_class.instance_eval do
|
@@ -369,41 +457,30 @@ describe RoleModel do
|
|
369
457
|
describe ".mask_for" do
|
370
458
|
subject { model_class.new }
|
371
459
|
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
include RoleModel
|
377
|
-
roles :foo, :bar, :third
|
378
|
-
end
|
460
|
+
it "should return the role mask of a role" do
|
461
|
+
subject.class.mask_for(:foo).should == 1
|
462
|
+
subject.class.mask_for(:bar).should == 2
|
463
|
+
subject.class.mask_for(:third).should == 4
|
379
464
|
end
|
380
465
|
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
end
|
387
|
-
|
388
|
-
it "should return the role mask of an array of roles" do
|
389
|
-
subject.class.mask_for(:foo, :bar).should == 3
|
390
|
-
subject.class.mask_for(:foo, :third).should == 5
|
391
|
-
subject.class.mask_for(:foo, :bar, :third).should == 7
|
392
|
-
end
|
466
|
+
it "should return the role mask of an array of roles" do
|
467
|
+
subject.class.mask_for(:foo, :bar).should == 3
|
468
|
+
subject.class.mask_for(:foo, :third).should == 5
|
469
|
+
subject.class.mask_for(:foo, :bar, :third).should == 7
|
470
|
+
end
|
393
471
|
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
472
|
+
it "should return the role mask of a string array of roles" do
|
473
|
+
subject.class.mask_for("foo").should == 1
|
474
|
+
subject.class.mask_for("foo", "bar").should == 3
|
475
|
+
subject.class.mask_for("foo", "third").should == 5
|
476
|
+
end
|
399
477
|
|
400
|
-
|
401
|
-
|
402
|
-
|
478
|
+
it "should return the role mask of the existing roles" do
|
479
|
+
subject.class.mask_for(:foo, :quux).should == 1
|
480
|
+
end
|
403
481
|
|
404
|
-
|
405
|
-
|
406
|
-
end
|
482
|
+
it "should return 0 when a role that does not exist is passed" do
|
483
|
+
subject.class.mask_for(:quux).should == 0
|
407
484
|
end
|
408
485
|
end
|
409
486
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
+
require 'rspec'
|
4
|
+
require File.dirname(__FILE__) + '/custom_matchers'
|
3
5
|
require 'role_model'
|
4
|
-
require 'spec'
|
5
|
-
require 'spec/autorun'
|
6
|
-
require File.dirname(__FILE__) + "/custom_matchers"
|
7
6
|
|
8
|
-
|
7
|
+
RSpec.configure do |config|
|
9
8
|
config.include(CustomMatchers)
|
9
|
+
config.mock_with :rspec
|
10
10
|
end
|
11
|
+
|
12
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
13
|
+
# in spec/support/ and its subdirectories.
|
14
|
+
Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each {|f| require f}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: role_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 3
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 7
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.7.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Martin Rehfeld
|
@@ -15,25 +15,66 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2011-05-01 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
|
-
name: rspec
|
23
|
-
prerelease: false
|
24
21
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
22
|
none: false
|
26
23
|
requirements:
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
26
|
+
hash: 7
|
30
27
|
segments:
|
31
28
|
- 1
|
29
|
+
- 5
|
32
30
|
- 2
|
33
|
-
|
34
|
-
version: 1.2.9
|
35
|
-
type: :development
|
31
|
+
version: 1.5.2
|
36
32
|
version_requirements: *id001
|
33
|
+
name: jeweler
|
34
|
+
prerelease: false
|
35
|
+
type: :development
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ~>
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 7
|
43
|
+
segments:
|
44
|
+
- 2
|
45
|
+
version: "2"
|
46
|
+
version_requirements: *id002
|
47
|
+
name: rspec
|
48
|
+
prerelease: false
|
49
|
+
type: :development
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
60
|
+
version_requirements: *id003
|
61
|
+
name: autotest
|
62
|
+
prerelease: false
|
63
|
+
type: :development
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
hash: 7
|
71
|
+
segments:
|
72
|
+
- 2
|
73
|
+
version: "2"
|
74
|
+
version_requirements: *id004
|
75
|
+
name: rspec
|
76
|
+
prerelease: false
|
77
|
+
type: :development
|
37
78
|
description: Ever needed to assign roles to a model, say a User, and build conditional behaviour on top of that? Enter RoleModel -- roles have never been easier! Just declare your roles and you are done. Assigned roles will be stored as a bitmask.
|
38
79
|
email: martin.rehfeld@glnetworks.de
|
39
80
|
executables: []
|
@@ -45,7 +86,9 @@ extra_rdoc_files:
|
|
45
86
|
- README.rdoc
|
46
87
|
files:
|
47
88
|
- .document
|
48
|
-
- .
|
89
|
+
- .rspec
|
90
|
+
- Gemfile
|
91
|
+
- Gemfile.lock
|
49
92
|
- LICENSE
|
50
93
|
- README.rdoc
|
51
94
|
- Rakefile
|
@@ -59,15 +102,13 @@ files:
|
|
59
102
|
- spec/custom_matchers_spec.rb
|
60
103
|
- spec/role_model_spec.rb
|
61
104
|
- spec/roles_spec.rb
|
62
|
-
- spec/spec.opts
|
63
105
|
- spec/spec_helper.rb
|
64
|
-
has_rdoc: true
|
65
106
|
homepage: http://github.com/martinrehfeld/role_model
|
66
|
-
licenses:
|
67
|
-
|
107
|
+
licenses:
|
108
|
+
- MIT
|
68
109
|
post_install_message:
|
69
|
-
rdoc_options:
|
70
|
-
|
110
|
+
rdoc_options: []
|
111
|
+
|
71
112
|
require_paths:
|
72
113
|
- lib
|
73
114
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -91,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
132
|
requirements: []
|
92
133
|
|
93
134
|
rubyforge_project:
|
94
|
-
rubygems_version: 1.
|
135
|
+
rubygems_version: 1.7.2
|
95
136
|
signing_key:
|
96
137
|
specification_version: 3
|
97
138
|
summary: Declare, assign and query roles with ease
|