affairs_of_state 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 82cee7ae333311fa7e78ad67e2dadf4519588278
4
+ data.tar.gz: c9e55851f6777e1c0db00e04752b620537cfdf4f
5
+ SHA512:
6
+ metadata.gz: 9a6113b5f54561f269db052207e4cdc352495ff90af4919422b16704db46b9c3da3898f41dd8660b68dab77fc7db6be71d523f374bc81bbd7088522bcfc527d7
7
+ data.tar.gz: 207c299cae44330886c9ba4a93dbbff7a1d1d15eb119d05ebbff8153957a56df780ea01ad855e77846a76e68cf7f05f9decc0ad4ad1e5479d172de4d3fe2bd4d
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
 
19
19
  gem.add_dependency "activerecord", "> 3.0"
20
20
 
21
- gem.add_development_dependency "rspec"
21
+ gem.add_development_dependency "rspec", "~> 3.0"
22
22
  gem.add_development_dependency "sqlite3"
23
23
  gem.add_development_dependency "pry"
24
24
 
@@ -17,6 +17,7 @@ module AffairsOfState
17
17
 
18
18
  if @_status_options[:scopes]
19
19
  @_statuses.each do |status|
20
+ raise "Affairs of State: '#{ status }' is not a valid status" unless valid_status?(status)
20
21
  self.scope status.to_sym, -> { where(@_status_options[:column] => status.to_s) }
21
22
  end
22
23
  end
@@ -25,6 +26,12 @@ module AffairsOfState
25
26
  extend SingletonMethods
26
27
  true
27
28
  end
29
+
30
+ private
31
+
32
+ def valid_status?(status)
33
+ ![:new].include?(status.to_sym)
34
+ end
28
35
  end
29
36
 
30
37
  module InstanceMethods
@@ -1,3 +1,3 @@
1
1
  module AffairsOfState
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -161,4 +161,10 @@ describe AffairsOfState do
161
161
  end
162
162
  end
163
163
 
164
+ describe "invalid status name" do
165
+ it "should raise a good warning" do
166
+ expect(->{ class Pie8 < ActiveRecord::Base ; affairs_of_state :new ; end }).to raise_error("Affairs of State: 'new' is not a valid status")
167
+ end
168
+ end
169
+
164
170
  end
metadata CHANGED
@@ -1,60 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: affairs_of_state
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
5
- prerelease:
4
+ version: 0.1.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kevin McPhillips
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-06-05 00:00:00.000000000 Z
11
+ date: 2014-06-06 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
16
- requirement: &78218490 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>'
17
+ - - ">"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '3.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *78218490
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rspec
27
- requirement: &78218080 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - "~>"
31
32
  - !ruby/object:Gem::Version
32
- version: '0'
33
+ version: '3.0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *78218080
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: sqlite3
38
- requirement: &78217850 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ! '>='
45
+ - - ">="
42
46
  - !ruby/object:Gem::Version
43
47
  version: '0'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *78217850
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: pry
49
- requirement: &78217630 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ! '>='
59
+ - - ">="
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *78217630
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  description: Add a simple state to a gem, without all the hassle of a complex state
59
70
  machine.
60
71
  email:
@@ -63,9 +74,9 @@ executables: []
63
74
  extensions: []
64
75
  extra_rdoc_files: []
65
76
  files:
66
- - .gitignore
67
- - .rspec
68
- - .travis.yml
77
+ - ".gitignore"
78
+ - ".rspec"
79
+ - ".travis.yml"
69
80
  - Gemfile
70
81
  - LICENSE
71
82
  - README.md
@@ -79,29 +90,30 @@ files:
79
90
  homepage: http://github.com/kmcphillips/affairs_of_state
80
91
  licenses:
81
92
  - MIT
93
+ metadata: {}
82
94
  post_install_message:
83
95
  rdoc_options: []
84
96
  require_paths:
85
97
  - lib
86
98
  required_ruby_version: !ruby/object:Gem::Requirement
87
- none: false
88
99
  requirements:
89
- - - ! '>='
100
+ - - ">="
90
101
  - !ruby/object:Gem::Version
91
102
  version: '0'
92
103
  required_rubygems_version: !ruby/object:Gem::Requirement
93
- none: false
94
104
  requirements:
95
- - - ! '>='
105
+ - - ">="
96
106
  - !ruby/object:Gem::Version
97
107
  version: '0'
98
108
  requirements: []
99
109
  rubyforge_project:
100
- rubygems_version: 1.8.15
110
+ rubygems_version: 2.2.2
101
111
  signing_key:
102
- specification_version: 3
112
+ specification_version: 4
103
113
  summary: You have an Active Record model. It nees to have multiple states, but not
104
114
  complex rules. This gem gives you validation, easy check and change methods, and
105
115
  a single configuration line.
106
- test_files: []
107
- has_rdoc:
116
+ test_files:
117
+ - spec/affairs_of_state_spec.rb
118
+ - spec/db/.gitkeep
119
+ - spec/spec_helper.rb