const_enum 1.0.3 → 1.0.4

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.rdoc CHANGED
@@ -1,11 +1,11 @@
1
1
  = const_enum
2
2
 
3
- ActiveRecordの定数クラス、定数名アクセサ、NamedScope、定数値判定メソッド等を簡単なDSLで作成するためのプラグイン。
4
- rails3.xに対応しています。
3
+ ActiveRecordの定数クラス、定数名アクセサ、NamedScope、定数値判定メソッド等を簡単なDSLで作成するためのライブラリ。
4
+ ActiveRecord3.xに対応しています。
5
5
 
6
6
  == インストール
7
7
 
8
- Gemfileに以下行を追加して、bundle installコマンドを実行してください。
8
+ Gemfileに以下の行を追加して、bundle installコマンドを実行してください。
9
9
  gem 'const_enum'
10
10
  あるいは、以下のコマンドでインストールしてください。
11
11
  gem install const_enum
@@ -14,12 +14,13 @@ Gemfileに以下行を追加して、bundle installコマンドを実行して
14
14
  == 設定
15
15
 
16
16
  === 定数のラベル定義ファイルを作成
17
- # config/local/ja/labels.yml
18
- labels:
19
- user:
20
- status:
21
- disable: "無効"
22
- enable: "有効"
17
+ # config/locales/labels_ja.yml
18
+ ja:
19
+ labels:
20
+ user:
21
+ status:
22
+ disable: "無効"
23
+ enable: "有効"
23
24
 
24
25
  === constメソッドのブロック内で定数を定義
25
26
  class User < ActiveRecord::Base
@@ -67,7 +68,7 @@ validates :inclusionで利用することができる。
67
68
  ENABLE 1
68
69
  DISABLE 0
69
70
  end
70
- validates :status, :inclusion => STATUS
71
+ validates :status, :inclusion => {:in => STATUS}
71
72
  end
72
73
 
73
74
  === Viewでの利用
@@ -191,7 +192,7 @@ collection_selectの際に表示したいラベル名を複数パターン用意
191
192
  end
192
193
  # I18nを使ってみる。
193
194
  def label2
194
- I18n.t(key.to_s.downcase, :scope=> 'label2.modelname')
195
+ I18n.t(key.to_s.downcase, :scope=> 'labels.user.status_label2')
195
196
  end
196
197
  end
197
198
  end
@@ -205,11 +206,10 @@ collection_selectの際に表示したいラベル名を複数パターン用意
205
206
 
206
207
  == その他
207
208
 
208
- === I18nを利用しない
209
+ === デフォルトでI18nを無効にする
209
210
 
210
211
  ConstEnum::ActiveRecord.i18nにfalseを設定すると、
211
- constメソッド内でラベル名を定義することができる。
212
- constメソッドのi18nオプションと同様
212
+ constメソッドのi18nオプションの初期値をfalseにすることができます。
213
213
 
214
214
  # config/initializers/const_enum.rb
215
215
  ConstEnum::ActiveRecord.i18n = false
@@ -233,4 +233,4 @@ ConstEnum::ActiveRecord.label_suffixを設定することで、
233
233
 
234
234
  == Copyright
235
235
 
236
- Copyright (c) 2012 SynergyMarketing.inc. See LICENSE for details.
236
+ Copyright (c) 2012 Synergy Marketing, Inc. See LICENSE for details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.3
1
+ 1.0.4
data/const_enum.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "const_enum"
8
- s.version = "1.0.3"
8
+ s.version = "1.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["yuki teraoka"]
12
- s.date = "2012-07-19"
12
+ s.date = "2013-04-23"
13
13
  s.description = "define ActiveRecord constants with DSL.and more!"
14
14
  s.email = "info@techscore.com"
15
15
  s.extra_rdoc_files = [
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
40
40
  s.homepage = "http://github.com/techscore/const_enum"
41
41
  s.licenses = ["BSD"]
42
42
  s.require_paths = ["lib"]
43
- s.rubygems_version = "1.8.10"
43
+ s.rubygems_version = "1.8.25"
44
44
  s.summary = "define ActiveRecord constants with DSL."
45
45
 
46
46
  if s.respond_to? :specification_version then
@@ -18,18 +18,19 @@ module ConstEnum
18
18
  # :scope named_scopeを定義します。default: true
19
19
  # :predicate 属性値の検証メソッドを定義します。default: true
20
20
  # :prefix scope, predicate を作成する際のprefixを指定します。default: "#{mod_name.downcase}_"
21
- #
21
+ # :i18n ラベル名にi18nを利用しない
22
+ # extensions: ブロック内でメソッド定義を行うことで、定数オブジェクトに対してメソッドを定義することが出来ます。
22
23
  # = exapmle
23
24
  #
24
- # class Hoge < ActiveRecord::Base
25
- # const :STATUS do
26
- # ENABLE 1, '有効'
27
- # DISABLE 0, '無効'
28
- # def code
29
- # '%05d'%value
25
+ # class Hoge < ActiveRecord::Base
26
+ # const :STATUS do
27
+ # ENABLE 1, '有効'
28
+ # DISABLE 0, '無効'
29
+ # def code
30
+ # '%05d'%value
31
+ # end
30
32
  # end
31
33
  # end
32
- # end
33
34
  #
34
35
  # Hoge::STATUS::ENABLE # 1
35
36
  # Hoge::STATUS.ENABLE.value # 1
@@ -58,8 +59,8 @@ module ConstEnum
58
59
  include ConstEnum::WithI18n
59
60
  class_eval(&block)
60
61
  end
61
- clazz.i18n_options[:key] = [clazz.i18n_options[:key], self.name.underscore, attr].join('.')
62
62
  clazz.i18n_options.merge!(ConstEnum::ActiveRecord.i18n) if Hash === ConstEnum::ActiveRecord.i18n
63
+ clazz.i18n_options[:key] = [clazz.i18n_options[:key], self.name.underscore, attr].join('.')
63
64
  clazz.i18n_options.merge!(options[:i18n]) if Hash === options[:i18n]
64
65
  else
65
66
  clazz = const_enum(&block)
@@ -108,4 +109,4 @@ end
108
109
 
109
110
  ActiveSupport.on_load(:active_record) do
110
111
  ::ActiveRecord::Base.send :extend, ConstEnum::ActiveRecord::ClassMethods
111
- end
112
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: const_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-19 00:00:00.000000000 Z
12
+ date: 2013-04-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &15466920 !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.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *15466920
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.0.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rspec
27
- requirement: &15461880 !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: 2.8.0
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *15461880
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.8.0
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rdoc
38
- requirement: &15475680 !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: '3.12'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *15475680
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '3.12'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: bundler
49
- requirement: &15474440 !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: 1.0.0
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *15474440
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.0.0
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: jeweler
60
- requirement: &15473620 !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: 1.8.3
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *15473620
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.8.3
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: simplecov
71
- requirement: &15472500 !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: *15472500
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: activerecord
82
- requirement: &15470480 !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: 3.0.0
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *15470480
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: 3.0.0
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: sqlite3-ruby
93
- requirement: &15482260 !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: *15482260
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: database_cleaner
104
- requirement: &15477000 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ! '>='
@@ -109,7 +149,12 @@ dependencies:
109
149
  version: '0'
110
150
  type: :development
111
151
  prerelease: false
112
- version_requirements: *15477000
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
113
158
  description: define ActiveRecord constants with DSL.and more!
114
159
  email: info@techscore.com
115
160
  executables: []
@@ -152,7 +197,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
197
  version: '0'
153
198
  segments:
154
199
  - 0
155
- hash: 950452426695352813
200
+ hash: 77164813152644403
156
201
  required_rubygems_version: !ruby/object:Gem::Requirement
157
202
  none: false
158
203
  requirements:
@@ -161,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
206
  version: '0'
162
207
  requirements: []
163
208
  rubyforge_project:
164
- rubygems_version: 1.8.10
209
+ rubygems_version: 1.8.25
165
210
  signing_key:
166
211
  specification_version: 3
167
212
  summary: define ActiveRecord constants with DSL.