selection_options_for 0.0.6 → 0.0.7
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/lib/selection_options_for/model_additions.rb +1 -1
- data/lib/selection_options_for/version.rb +1 -1
- data/pkg/selection_options_for-0.0.6.gem +0 -0
- data/pkg/selection_options_for-0.0.7.gem +0 -0
- data/test/selection_options_for_ex_test.rb +30 -12
- data/test/selection_options_for_test.rb +22 -27
- metadata +57 -63
@@ -35,7 +35,7 @@ module SelectionOptionsFor
|
|
35
35
|
end
|
36
36
|
case label.size
|
37
37
|
when 2
|
38
|
-
|
38
|
+
raise "Invalid number of items. 2 part definition is no longer supported. Add the middle value for storage in the DB."
|
39
39
|
when 3
|
40
40
|
letter, display_text = label[1], label[2]
|
41
41
|
else
|
Binary file
|
Binary file
|
@@ -1,4 +1,4 @@
|
|
1
|
-
## ruby -Itest test/selection_options_for_ex_test.rb
|
1
|
+
## ruby -Itest -Ilib test/selection_options_for_ex_test.rb
|
2
2
|
require 'test_helper'
|
3
3
|
|
4
4
|
#
|
@@ -6,26 +6,26 @@ require 'test_helper'
|
|
6
6
|
#
|
7
7
|
|
8
8
|
class ModelUnderTest < SuperModel::Base
|
9
|
-
extend ModelAdditions
|
9
|
+
extend SelectionOptionsFor::ModelAdditions
|
10
10
|
|
11
11
|
begin
|
12
12
|
selection_options_for :price_option,
|
13
|
-
[:basic, 'Basic' ],
|
14
|
-
[:cash, 'Cash Account '],
|
15
|
-
[:cc,
|
13
|
+
[:basic, 'B', 'Basic' ],
|
14
|
+
[:cash, 'C', 'Cash Account '],
|
15
|
+
[:cc, 'R','Credit Card Account'],
|
16
16
|
123
|
17
17
|
|
18
18
|
rescue RuntimeError => ex
|
19
19
|
@@exception_num = ex
|
20
20
|
end
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
def self.exception_num
|
23
|
+
@@exception_num
|
24
|
+
end
|
25
25
|
|
26
26
|
begin
|
27
27
|
selection_options_for :status_option,
|
28
|
-
[:basic, 'Basic' ],
|
28
|
+
[:basic, 'B', 'Basic' ],
|
29
29
|
'Cash Account',
|
30
30
|
[:cc, 'R','Credit Card Account']
|
31
31
|
|
@@ -33,10 +33,22 @@ class ModelUnderTest < SuperModel::Base
|
|
33
33
|
@@exception_string = ex
|
34
34
|
end
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
def self.exception_string
|
37
|
+
@@exception_string
|
38
|
+
end
|
39
39
|
|
40
|
+
begin
|
41
|
+
selection_options_for :gender_option,
|
42
|
+
[:male, 'B', 'Male' ],
|
43
|
+
[:female, 'Female'],
|
44
|
+
[:unknown, 'U', 'unknown' ]
|
45
|
+
rescue RuntimeError => ex
|
46
|
+
@@exception_deprecated = ex
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.exception_deprecated
|
50
|
+
@@exception_deprecated
|
51
|
+
end
|
40
52
|
|
41
53
|
end
|
42
54
|
|
@@ -57,5 +69,11 @@ class TranslateOptionsForExTest < Test::Unit::TestCase
|
|
57
69
|
ModelUnderTest.exception_string.message
|
58
70
|
end
|
59
71
|
|
72
|
+
def test_deprecated_format
|
73
|
+
assert_equal RuntimeError, ModelUnderTest.exception_deprecated.class
|
74
|
+
assert_equal "Invalid number of items. 2 part definition is no longer supported. Add the middle value for storage in the DB.",
|
75
|
+
ModelUnderTest.exception_deprecated.message
|
76
|
+
end
|
77
|
+
|
60
78
|
|
61
79
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
## ruby -Itest test/selection_options_for_test.rb
|
1
|
+
## ruby -Itest -Ilib test/selection_options_for_test.rb
|
2
2
|
require 'test_helper'
|
3
3
|
|
4
4
|
#
|
@@ -10,23 +10,23 @@ require 'test_helper'
|
|
10
10
|
#
|
11
11
|
|
12
12
|
class SiblingOfModelUnderTest < SuperModel::Base
|
13
|
-
extend ModelAdditions
|
13
|
+
extend SelectionOptionsFor::ModelAdditions
|
14
14
|
end
|
15
15
|
|
16
16
|
class ModelUnderTest < SuperModel::Base
|
17
|
-
extend ModelAdditions
|
17
|
+
extend SelectionOptionsFor::ModelAdditions
|
18
18
|
|
19
19
|
selection_options_for :status_option,
|
20
|
-
[:partial,
|
21
|
-
[:active,
|
20
|
+
[:partial, 'P', 'Partial Registration'],
|
21
|
+
[:active, 'A', 'Active'],
|
22
22
|
[:changing_email, 'E', 'Active, Changing Email'],
|
23
|
-
[:inactive,
|
23
|
+
[:inactive, 'I', 'Inactive'],
|
24
24
|
[:forgot_pw, 'F', 'Active, Forgot Password' ]
|
25
25
|
|
26
26
|
selection_options_for :payment_method_option,
|
27
|
-
[:basic,
|
28
|
-
[:cash,
|
29
|
-
[:cc,
|
27
|
+
[:basic, 'B', 'Basic'],
|
28
|
+
[:cash, 'C', 'Cash Account'],
|
29
|
+
[:cc, 'R', 'Credit Card Account']
|
30
30
|
|
31
31
|
selection_options_for :sorted_option,
|
32
32
|
[:none, 'H', 'Honorary Member'],
|
@@ -39,8 +39,8 @@ class ModelUnderTest < SuperModel::Base
|
|
39
39
|
|
40
40
|
class SubClassOfModel < ModelUnderTest
|
41
41
|
selection_options_for :payment_method_option,
|
42
|
-
[:advanced, 'Advanced'],
|
43
|
-
[:ecash, 'ECash Account']
|
42
|
+
[:advanced, 'A', 'Advanced'],
|
43
|
+
[:ecash, 'E', 'ECash Account']
|
44
44
|
end
|
45
45
|
|
46
46
|
class SelectionOptionsForTest < Test::Unit::TestCase
|
@@ -49,7 +49,7 @@ class SelectionOptionsForTest < Test::Unit::TestCase
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def test_should_provide_symbols
|
52
|
-
expected = {"
|
52
|
+
expected = {"B"=>:basic, "C"=>:cash, "R"=>:cc}
|
53
53
|
assert_equal expected, ModelUnderTest.payment_method_option_symbols
|
54
54
|
end
|
55
55
|
|
@@ -94,40 +94,35 @@ class SelectionOptionsForTest < Test::Unit::TestCase
|
|
94
94
|
flunk "wrong exception thrown"
|
95
95
|
end
|
96
96
|
|
97
|
-
def test_each_subclass_has_own_symbols
|
98
|
-
|
99
|
-
assert_equal [["Advanced", "Advanced"], ["ECash Account", "ECash Account"]].sort ,
|
97
|
+
def test_each_subclass_has_own_symbols
|
98
|
+
assert_equal [["Advanced", "A"], ["ECash Account", "E"]] ,
|
100
99
|
SubClassOfModel.payment_method_options.sort
|
101
100
|
end
|
102
101
|
|
103
102
|
def test_payment_method_option_array
|
104
|
-
|
105
|
-
|
106
|
-
["Cash Account", "Cash Account"],
|
107
|
-
["Credit Card Account", "R"]].sort ,
|
108
|
-
@model.payment_method_options.sort
|
103
|
+
assert_equal [["Basic", "B"], ["Cash Account", "C"], ["Credit Card Account", "R"]],
|
104
|
+
@model.payment_method_options.sort
|
109
105
|
end
|
110
106
|
|
111
107
|
def test_default_status
|
112
108
|
target = @model.new
|
113
109
|
target.status_option_forgot_pw!
|
114
110
|
assert_equal 'Active, Forgot Password', target.status_option_label
|
115
|
-
target.status_option = '
|
111
|
+
target.status_option = 'A'
|
116
112
|
assert_equal 'Active', target.status_option_label
|
117
113
|
end
|
118
114
|
|
119
|
-
def test_status_option_array
|
120
|
-
|
121
|
-
assert_equal [["Active", "Active"],
|
115
|
+
def test_status_option_array
|
116
|
+
assert_equal [["Active", 'A'],
|
122
117
|
["Active, Changing Email", "E"],
|
123
118
|
["Active, Forgot Password", "F"],
|
124
|
-
["Inactive", "
|
125
|
-
["Partial Registration",
|
119
|
+
["Inactive", "I"],
|
120
|
+
["Partial Registration", 'P']].sort ,
|
126
121
|
@model.status_options.sort
|
127
122
|
end
|
128
123
|
|
129
124
|
def test_default_payment_method_option_hash
|
130
|
-
expected = {"
|
125
|
+
expected = {"B"=>"Basic", "C"=>"Cash Account", "R"=>"Credit Card Account"}
|
131
126
|
assert_equal expected, @model.payment_method_option_hash
|
132
127
|
end
|
133
128
|
|
metadata
CHANGED
@@ -1,60 +1,62 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: selection_options_for
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 6
|
10
|
-
version: 0.0.6
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Mark Windholtz
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-10-30 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: supermodel
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :development
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: activerecord
|
36
23
|
prerelease: false
|
37
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: activerecord
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
38
33
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
46
38
|
type: :runtime
|
47
|
-
|
48
|
-
|
49
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: ! "\n This code allows you to keep the display labels in the model
|
47
|
+
\n when the DB holds only a 1 character flag.\n and when the code requires symbolic
|
48
|
+
references to the value to use in algorithms\n \n element 0 of the array passed
|
49
|
+
in is always the logical symbol\n If a 2-element Array is passed in, [key, label]
|
50
|
+
and the first letter of label is the DB value\n If a 3-element Array is passed
|
51
|
+
in, [key, DB value, label] \n Any other type passed in throws an error\n \n
|
52
|
+
\ Limitations: Don't use this if you will run reports directly against the DB \n
|
53
|
+
\ In that case, the reports will not have access to the display labels \n "
|
54
|
+
email:
|
50
55
|
- mark@agiledna.com
|
51
56
|
executables: []
|
52
|
-
|
53
57
|
extensions: []
|
54
|
-
|
55
58
|
extra_rdoc_files: []
|
56
|
-
|
57
|
-
files:
|
59
|
+
files:
|
58
60
|
- .DS_Store
|
59
61
|
- CHANGELOG.md
|
60
62
|
- Gemfile
|
@@ -66,45 +68,37 @@ files:
|
|
66
68
|
- lib/selection_options_for/railtie.rb
|
67
69
|
- lib/selection_options_for/version.rb
|
68
70
|
- pkg/selection_options_for-0.0.5.gem
|
71
|
+
- pkg/selection_options_for-0.0.6.gem
|
72
|
+
- pkg/selection_options_for-0.0.7.gem
|
69
73
|
- selection_options_for.gemspec
|
70
74
|
- test/selection_options_for_ex_test.rb
|
71
75
|
- test/selection_options_for_test.rb
|
72
76
|
- test/test_helper.rb
|
73
77
|
homepage: https://github.com/mwindholtz/selection_options_for
|
74
78
|
licenses: []
|
75
|
-
|
76
79
|
post_install_message:
|
77
80
|
rdoc_options: []
|
78
|
-
|
79
|
-
require_paths:
|
81
|
+
require_paths:
|
80
82
|
- lib
|
81
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
82
84
|
none: false
|
83
|
-
requirements:
|
84
|
-
- -
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
|
87
|
-
|
88
|
-
- 0
|
89
|
-
version: "0"
|
90
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
90
|
none: false
|
92
|
-
requirements:
|
93
|
-
- -
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
|
96
|
-
segments:
|
97
|
-
- 0
|
98
|
-
version: "0"
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
99
95
|
requirements: []
|
100
|
-
|
101
96
|
rubyforge_project:
|
102
|
-
rubygems_version: 1.8.
|
97
|
+
rubygems_version: 1.8.24
|
103
98
|
signing_key:
|
104
99
|
specification_version: 3
|
105
100
|
summary: Display labels and symbolic references
|
106
|
-
test_files:
|
101
|
+
test_files:
|
107
102
|
- test/selection_options_for_ex_test.rb
|
108
103
|
- test/selection_options_for_test.rb
|
109
104
|
- test/test_helper.rb
|
110
|
-
has_rdoc:
|