const_enum 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
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.