fromage 0.1.0 → 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/README.md CHANGED
@@ -13,7 +13,7 @@ Install it with rubygems:
13
13
  With bundler, add it to your `Gemfile`:
14
14
 
15
15
  ``` ruby
16
- gem "fromage"
16
+ gem "fromage", require: 'mongoid/fromage'
17
17
  ```
18
18
 
19
19
  ## Usage
@@ -26,7 +26,7 @@ class Person
26
26
  include Mongoid::Document
27
27
  include Mongoid::Fromage
28
28
 
29
- fromages :time_lord, :companion
29
+ fromages :time_lord, :companion, defaults: [:time_lord]
30
30
  end
31
31
  ```
32
32
 
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
  #
3
3
  module Fromage
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -8,7 +8,8 @@ module Mongoid
8
8
  extend ::ActiveSupport::Concern
9
9
 
10
10
  included do
11
- field :roles, type: Array, default: []
11
+ class_attribute :fromage_defaults
12
+ field :roles, type: Array, default: lambda { Array(self.fromage_defaults) }
12
13
  validate :roles, :valid_roles?
13
14
 
14
15
  scope :any_role, lambda {|*role| any_in(:roles => role)}
@@ -53,8 +54,12 @@ module Mongoid
53
54
  attr_accessor :roles
54
55
 
55
56
  def fromages(*argv)
57
+ if argv.last.is_a?(Hash)
58
+ options = argv.pop
59
+ end
56
60
  self.roles = argv
57
61
 
62
+ # define helper methods for roles
58
63
  self.roles.each do |role|
59
64
  define_method "#{role}?" do
60
65
  self.has_role? role
@@ -68,6 +73,10 @@ module Mongoid
68
73
  self.remove_role!(role)
69
74
  end
70
75
  end
76
+
77
+ if options && options.has_key?(:defaults)
78
+ self.fromage_defaults = options[:defaults]
79
+ end
71
80
  end
72
81
  end
73
82
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fromage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,14 +9,14 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-24 00:00:00.000000000 Z
12
+ date: 2013-02-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - '>='
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0'
22
22
  type: :development
@@ -24,7 +24,7 @@ dependencies:
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
30
  - !ruby/object:Gem::Dependency
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
35
+ - - '>='
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0'
38
38
  type: :development
@@ -40,7 +40,7 @@ dependencies:
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
46
  description: Role model for mongoid.
@@ -63,18 +63,18 @@ require_paths:
63
63
  required_ruby_version: !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  required_rubygems_version: !ruby/object:Gem::Requirement
70
70
  none: false
71
71
  requirements:
72
- - - ! '>='
72
+ - - '>='
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  requirements: []
76
76
  rubyforge_project:
77
- rubygems_version: 1.8.24
77
+ rubygems_version: 1.8.25
78
78
  signing_key:
79
79
  specification_version: 3
80
80
  summary: Role model for mongoid.