requires_approval 1.0.5 → 1.0.6

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/.gitignore ADDED
@@ -0,0 +1,51 @@
1
+ # rcov generated
2
+ coverage
3
+ coverage.data
4
+
5
+ # rdoc generated
6
+ rdoc
7
+
8
+ # yard generated
9
+ doc
10
+ .yardoc
11
+
12
+ # bundler
13
+ .bundle
14
+
15
+ # jeweler generated
16
+ pkg
17
+
18
+ spec/support/db.sqlite
19
+
20
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
21
+ #
22
+ # * Create a file at ~/.gitignore
23
+ # * Include files you want ignored
24
+ # * Run: git config --global core.excludesfile ~/.gitignore
25
+ #
26
+ # After doing this, these files will be ignored in all your git projects,
27
+ # saving you from having to 'pollute' every project you touch with them
28
+ #
29
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
30
+ #
31
+ # For MacOS:
32
+ #
33
+ #.DS_Store
34
+
35
+ # For TextMate
36
+ #*.tmproj
37
+ #tmtags
38
+
39
+ # For emacs:
40
+ #*~
41
+ #\#*
42
+ #.\#*
43
+
44
+ # For vim:
45
+ #*.swp
46
+
47
+ # For redcar:
48
+ #.redcar
49
+
50
+ # For rubinius:
51
+ #*.rbc
data/Gemfile CHANGED
@@ -3,21 +3,4 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
- gem "activerecord", "~> 3"
7
- gem "activesupport", "~> 3"
8
-
9
- # Add dependencies to develop your gem here.
10
- # Include everything needed to run rake, tests, features, etc.
11
- group :development do
12
- gem "bundler"
13
- gem "guard-rspec"
14
- gem "guard-bundler"
15
- gem "guard-spork"
16
- gem "jeweler", "~> 1.8.3"
17
- gem "mocha"
18
- gem "rdoc"
19
- gem "rspec"
20
- gem "ruby-debug19", :require => "ruby-debug"
21
- gem "sqlite3"
22
- gem "yard"
23
- end
6
+ gemspec :name => "requires_approval"
data/Gemfile.lock CHANGED
@@ -1,20 +1,27 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ requires_approval (1.0.6)
5
+ activerecord (~> 3)
6
+ activesupport (~> 3)
7
+
1
8
  GEM
2
9
  remote: http://rubygems.org/
3
10
  specs:
4
- activemodel (3.2.8)
5
- activesupport (= 3.2.8)
11
+ activemodel (3.2.11)
12
+ activesupport (= 3.2.11)
6
13
  builder (~> 3.0.0)
7
- activerecord (3.2.8)
8
- activemodel (= 3.2.8)
9
- activesupport (= 3.2.8)
14
+ activerecord (3.2.11)
15
+ activemodel (= 3.2.11)
16
+ activesupport (= 3.2.11)
10
17
  arel (~> 3.0.2)
11
18
  tzinfo (~> 0.3.29)
12
- activesupport (3.2.8)
19
+ activesupport (3.2.11)
13
20
  i18n (~> 0.6)
14
21
  multi_json (~> 1.0)
15
22
  archive-tar-minitar (0.5.2)
16
23
  arel (3.0.2)
17
- builder (3.0.0)
24
+ builder (3.0.4)
18
25
  columnize (0.3.6)
19
26
  diff-lcs (1.1.3)
20
27
  ffi (1.1.5)
@@ -30,7 +37,7 @@ GEM
30
37
  guard-spork (1.1.0)
31
38
  guard (>= 1.1)
32
39
  spork (>= 0.8.4)
33
- i18n (0.6.0)
40
+ i18n (0.6.1)
34
41
  jeweler (1.8.4)
35
42
  bundler (~> 1.0)
36
43
  git (>= 1.2.5)
@@ -46,7 +53,7 @@ GEM
46
53
  metaclass (0.0.1)
47
54
  mocha (0.12.3)
48
55
  metaclass (~> 0.0.1)
49
- multi_json (1.3.6)
56
+ multi_json (1.5.0)
50
57
  rake (0.9.2.2)
51
58
  rb-fchange (0.0.5)
52
59
  ffi
@@ -76,15 +83,13 @@ GEM
76
83
  spork (0.9.2)
77
84
  sqlite3 (1.3.6)
78
85
  thor (0.16.0)
79
- tzinfo (0.3.33)
86
+ tzinfo (0.3.35)
80
87
  yard (0.8.2.1)
81
88
 
82
89
  PLATFORMS
83
90
  ruby
84
91
 
85
92
  DEPENDENCIES
86
- activerecord (~> 3)
87
- activesupport (~> 3)
88
93
  bundler
89
94
  guard-bundler
90
95
  guard-rspec
@@ -92,6 +97,7 @@ DEPENDENCIES
92
97
  jeweler (~> 1.8.3)
93
98
  mocha
94
99
  rdoc
100
+ requires_approval!
95
101
  rspec
96
102
  ruby-debug19
97
103
  sqlite3
@@ -70,9 +70,11 @@ module RequiresApproval
70
70
  true
71
71
  end
72
72
 
73
- # if we have denied all changes, remove the record
73
+ # if we have denied all changes, remove the record and
74
+ # make sure it isn't frozen
74
75
  unless self.has_pending_changes?
75
76
  self.latest_unapproved_version.destroy
77
+ self.update_attribute(:is_frozen, false)
76
78
  else
77
79
  self.latest_unapproved_version.save
78
80
  end
@@ -1,91 +1,39 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'requires_approval/version'
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "requires_approval"
8
- s.version = "1.0.5"
8
+ s.version = RequiresApproval::VERSION
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Dan Langevin"]
12
12
  s.date = "2012-10-12"
13
+ s.summary = "Gem to handle versioning and things that require approval"
13
14
  s.description = "Gem to handle versioning and things that require approval"
14
15
  s.email = "dan.langevin@lifebooker.com"
15
- s.extra_rdoc_files = [
16
- "LICENSE.txt",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".rspec",
22
- "Gemfile",
23
- "Gemfile.lock",
24
- "Guardfile",
25
- "LICENSE.txt",
26
- "README.rdoc",
27
- "Rakefile",
28
- "VERSION",
29
- "lib/errors.rb",
30
- "lib/requires_approval.rb",
31
- "requires_approval.gemspec",
32
- "requires_approval_rails_2.gemspec",
33
- "spec/lib/requires_approval_spec.rb",
34
- "spec/spec_helper.rb",
35
- "spec/support/BLANK"
36
- ]
37
16
  s.homepage = "http://github.com/LifebookerInc/requires_approval"
38
17
  s.licenses = ["MIT"]
39
18
  s.require_paths = ["lib"]
19
+ s.files = `git ls-files`.split($/)
20
+ s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
21
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
22
+ s.require_paths = ["lib"]
40
23
  s.rubygems_version = "1.8.11"
41
- s.summary = "Gem to handle versioning and things that require approval"
42
-
43
- if s.respond_to? :specification_version then
44
- s.specification_version = 3
45
24
 
46
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
- s.add_runtime_dependency(%q<activerecord>, ["~> 3"])
48
- s.add_runtime_dependency(%q<activesupport>, ["~> 3"])
49
- s.add_development_dependency(%q<bundler>, [">= 0"])
50
- s.add_development_dependency(%q<guard-rspec>, [">= 0"])
51
- s.add_development_dependency(%q<guard-bundler>, [">= 0"])
52
- s.add_development_dependency(%q<guard-spork>, [">= 0"])
53
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
54
- s.add_development_dependency(%q<mocha>, [">= 0"])
55
- s.add_development_dependency(%q<rdoc>, [">= 0"])
56
- s.add_development_dependency(%q<rspec>, [">= 0"])
57
- s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
58
- s.add_development_dependency(%q<sqlite3>, [">= 0"])
59
- s.add_development_dependency(%q<yard>, [">= 0"])
60
- else
61
- s.add_dependency(%q<activerecord>, ["~> 3"])
62
- s.add_dependency(%q<activesupport>, ["~> 3"])
63
- s.add_dependency(%q<bundler>, [">= 0"])
64
- s.add_dependency(%q<guard-rspec>, [">= 0"])
65
- s.add_dependency(%q<guard-bundler>, [">= 0"])
66
- s.add_dependency(%q<guard-spork>, [">= 0"])
67
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
68
- s.add_dependency(%q<mocha>, [">= 0"])
69
- s.add_dependency(%q<rdoc>, [">= 0"])
70
- s.add_dependency(%q<rspec>, [">= 0"])
71
- s.add_dependency(%q<ruby-debug19>, [">= 0"])
72
- s.add_dependency(%q<sqlite3>, [">= 0"])
73
- s.add_dependency(%q<yard>, [">= 0"])
74
- end
75
- else
76
- s.add_dependency(%q<activerecord>, ["~> 3"])
77
- s.add_dependency(%q<activesupport>, ["~> 3"])
78
- s.add_dependency(%q<bundler>, [">= 0"])
79
- s.add_dependency(%q<guard-rspec>, [">= 0"])
80
- s.add_dependency(%q<guard-bundler>, [">= 0"])
81
- s.add_dependency(%q<guard-spork>, [">= 0"])
82
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
83
- s.add_dependency(%q<mocha>, [">= 0"])
84
- s.add_dependency(%q<rdoc>, [">= 0"])
85
- s.add_dependency(%q<rspec>, [">= 0"])
86
- s.add_dependency(%q<ruby-debug19>, [">= 0"])
87
- s.add_dependency(%q<sqlite3>, [">= 0"])
88
- s.add_dependency(%q<yard>, [">= 0"])
89
- end
25
+ s.add_runtime_dependency(%q<activerecord>, ["~> 3"])
26
+ s.add_runtime_dependency(%q<activesupport>, ["~> 3"])
27
+ s.add_development_dependency(%q<bundler>, [">= 0"])
28
+ s.add_development_dependency(%q<guard-rspec>, [">= 0"])
29
+ s.add_development_dependency(%q<guard-bundler>, [">= 0"])
30
+ s.add_development_dependency(%q<guard-spork>, [">= 0"])
31
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
32
+ s.add_development_dependency(%q<mocha>, [">= 0"])
33
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
34
+ s.add_development_dependency(%q<rspec>, [">= 0"])
35
+ s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
36
+ s.add_development_dependency(%q<sqlite3>, [">= 0"])
37
+ s.add_development_dependency(%q<yard>, [">= 0"])
90
38
  end
91
39
 
@@ -462,6 +462,23 @@ describe RequiresApproval do
462
462
  )
463
463
  end
464
464
 
465
+ it "should set is_frozen to false when denying all attributes" do
466
+
467
+ u = User.create(
468
+ :first_name => "Dan",
469
+ :last_name => "Langevin",
470
+ :birthday => Date.today
471
+ )
472
+ u.approve_all_attributes
473
+
474
+ u.update_attributes(:first_name => "Changed!", :is_frozen => true)
475
+ u.is_frozen?.should eql(true)
476
+
477
+ u.deny_attributes(:first_name)
478
+ u.is_frozen?.should eql(false)
479
+
480
+ end
481
+
465
482
  end
466
483
 
467
484
  context "#has_approved_version?" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: requires_approval
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-10-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &2168522820 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '3'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2168522820
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: activesupport
27
- requirement: &2168521560 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '3'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *2168521560
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '3'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: bundler
38
- requirement: &2168520320 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *2168520320
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: guard-rspec
49
- requirement: &2168518400 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *2168518400
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: guard-bundler
60
- requirement: &2168516160 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *2168516160
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: guard-spork
71
- requirement: &2168514860 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *2168514860
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: jeweler
82
- requirement: &2168513920 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ~>
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: 1.8.3
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *2168513920
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 1.8.3
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: mocha
93
- requirement: &2168512820 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,10 +133,15 @@ dependencies:
98
133
  version: '0'
99
134
  type: :development
100
135
  prerelease: false
101
- version_requirements: *2168512820
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
102
142
  - !ruby/object:Gem::Dependency
103
143
  name: rdoc
104
- requirement: &2168511880 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ! '>='
@@ -109,10 +149,15 @@ dependencies:
109
149
  version: '0'
110
150
  type: :development
111
151
  prerelease: false
112
- version_requirements: *2168511880
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
113
158
  - !ruby/object:Gem::Dependency
114
159
  name: rspec
115
- requirement: &2168510840 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
116
161
  none: false
117
162
  requirements:
118
163
  - - ! '>='
@@ -120,10 +165,15 @@ dependencies:
120
165
  version: '0'
121
166
  type: :development
122
167
  prerelease: false
123
- version_requirements: *2168510840
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
124
174
  - !ruby/object:Gem::Dependency
125
175
  name: ruby-debug19
126
- requirement: &2168509940 !ruby/object:Gem::Requirement
176
+ requirement: !ruby/object:Gem::Requirement
127
177
  none: false
128
178
  requirements:
129
179
  - - ! '>='
@@ -131,10 +181,15 @@ dependencies:
131
181
  version: '0'
132
182
  type: :development
133
183
  prerelease: false
134
- version_requirements: *2168509940
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
135
190
  - !ruby/object:Gem::Dependency
136
191
  name: sqlite3
137
- requirement: &2168508940 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
138
193
  none: false
139
194
  requirements:
140
195
  - - ! '>='
@@ -142,10 +197,15 @@ dependencies:
142
197
  version: '0'
143
198
  type: :development
144
199
  prerelease: false
145
- version_requirements: *2168508940
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
146
206
  - !ruby/object:Gem::Dependency
147
207
  name: yard
148
- requirement: &2168508200 !ruby/object:Gem::Requirement
208
+ requirement: !ruby/object:Gem::Requirement
149
209
  none: false
150
210
  requirements:
151
211
  - - ! '>='
@@ -153,16 +213,20 @@ dependencies:
153
213
  version: '0'
154
214
  type: :development
155
215
  prerelease: false
156
- version_requirements: *2168508200
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
157
222
  description: Gem to handle versioning and things that require approval
158
223
  email: dan.langevin@lifebooker.com
159
224
  executables: []
160
225
  extensions: []
161
- extra_rdoc_files:
162
- - LICENSE.txt
163
- - README.rdoc
226
+ extra_rdoc_files: []
164
227
  files:
165
228
  - .document
229
+ - .gitignore
166
230
  - .rspec
167
231
  - Gemfile
168
232
  - Gemfile.lock
@@ -191,9 +255,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
191
255
  - - ! '>='
192
256
  - !ruby/object:Gem::Version
193
257
  version: '0'
194
- segments:
195
- - 0
196
- hash: 2029788370061406567
197
258
  required_rubygems_version: !ruby/object:Gem::Requirement
198
259
  none: false
199
260
  requirements:
@@ -202,8 +263,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
202
263
  version: '0'
203
264
  requirements: []
204
265
  rubyforge_project:
205
- rubygems_version: 1.8.11
266
+ rubygems_version: 1.8.24
206
267
  signing_key:
207
268
  specification_version: 3
208
269
  summary: Gem to handle versioning and things that require approval
209
- test_files: []
270
+ test_files:
271
+ - spec/lib/requires_approval_spec.rb
272
+ - spec/spec_helper.rb
273
+ - spec/support/BLANK
274
+ has_rdoc: