@@ -27,51 +27,28 @@ def can?(enum_value)
2727 enum_values . each do |enum_value |
2828 enum_name = enum_value . underscore
2929
30- class_eval <<-RUBY , __FILE__ , __LINE__ + 1
31- # def active?
32- # self == 'active'
33- # end
34-
35- def #{ enum_name } ?
36- self == '#{ enum_value } '
37- end
38- RUBY
30+ define_method ( :"#{ enum_name } ?" ) do
31+ self == enum_value
32+ end
3933
4034 if machine &.transitions?
41- class_eval <<-RUBY , __FILE__ , __LINE__ + 1
42- # def can_active?
43- # possible_transitions.include?('canceled')
44- # end
45-
46- def can_#{ enum_name } ?
47- possible_transitions.include?('#{ enum_value } ')
48- end
49- RUBY
35+ define_method ( :"can_#{ enum_name } ?" ) do
36+ possible_transitions . include? ( enum_value )
37+ end
5038 end
5139 end
5240
5341 aliases . each_key do |key |
54- class_eval <<-RUBY , __FILE__ , __LINE__ + 1
55- # def forming?
56- # machine.fetch_alias('forming').include?(self)
57- # end
58-
59- def #{ key } ?
60- machine.fetch_alias('#{ key } ').include?(self)
61- end
62- RUBY
42+ define_method ( :"#{ key } ?" ) do
43+ machine . fetch_alias ( key ) . include? ( self )
44+ end
6345 end
6446
6547 if i18n_scope
66- class_eval <<-RUBY , __FILE__ , __LINE__ + 1
67- # def human_name
68- # ::I18n.t(self, scope: "enums.product.state", default: self)
69- # end
70-
71- def human_name
72- ::I18n.t(self, scope: "enums.#{ i18n_scope } ", default: self)
73- end
74- RUBY
48+ full_scope = "enums.#{ i18n_scope } "
49+ define_method ( :human_name ) do
50+ ::I18n . t ( self , scope : full_scope , default : self )
51+ end
7552 end
7653 end
7754 end
0 commit comments