@@ -8,19 +8,19 @@ module Field
88 NAME_REGEX = /\A [a-z][a-z_0-9]*\z / . freeze
99
1010 included do
11- enum accessibility : { read_and_write : 0 , readonly : 1 , hidden : 2 } ,
11+ enum accessibility : { read_and_write : 0 , readonly : 1 , hidden : 2 } ,
1212 _prefix : :access
1313
1414 serialize :validations
1515 serialize :options
1616
1717 validates :name ,
1818 presence : true ,
19- uniqueness : { scope : :form } ,
20- exclusion : { in : FormCore . reserved_names } ,
21- format : { with : NAME_REGEX }
19+ uniqueness : { scope : :form } ,
20+ exclusion : { in : FormCore . reserved_names } ,
21+ format : { with : NAME_REGEX }
2222 validates :accessibility ,
23- inclusion : { in : accessibilities . keys . map ( &:to_sym ) }
23+ inclusion : { in : accessibilities . keys . map ( &:to_sym ) }
2424
2525 after_initialize do
2626 self . validations ||= { }
@@ -54,9 +54,7 @@ def interpret_to(model, overrides: {})
5454 default_value = overrides . fetch ( :default_value , self . default_value )
5555 model . attribute name , stored_type , default : default_value
5656
57- if accessibility == :readonly
58- model . attr_readonly name
59- end
57+ model . attr_readonly name if accessibility == :readonly
6058
6159 interpret_validations_to model , accessibility , overrides
6260 interpret_extra_to model , accessibility , overrides
@@ -66,22 +64,18 @@ def interpret_to(model, overrides: {})
6664
6765 protected
6866
69- def interpret_validations_to ( model , accessibility , overrides = { } )
70- validations = overrides . fetch ( :validations , ( self . validations || { } ) )
71- validation_options = overrides . fetch ( :validation_options ) { self . options . fetch ( :validation , { } ) }
67+ def interpret_validations_to ( model , accessibility , overrides = { } )
68+ validations = overrides . fetch ( :validations , ( self . validations || { } ) )
69+ validation_options = overrides . fetch ( :validation_options ) { self . options . fetch ( :validation , { } ) }
7270
73- if accessibility == :read_and_write && validations . present?
74- model . validates name , **validations , **validation_options
71+ model . validates name , **validations , **validation_options if accessibility == :read_and_write && validations . present?
7572 end
76- end
7773
78- def interpret_extra_to ( _model , _accessibility , _overrides = { } ) ; end
74+ def interpret_extra_to ( _model , _accessibility , _overrides = { } ) ; end
7975
80- def check_model_validity! ( model )
81- unless model . is_a? ( Class ) && model < ::FormCore ::VirtualModel
82- raise ArgumentError , "#{ model } must be a #{ ::FormCore ::VirtualModel } 's subclass"
76+ def check_model_validity! ( model )
77+ raise ArgumentError , "#{ model } must be a #{ ::FormCore ::VirtualModel } 's subclass" unless model . is_a? ( Class ) && model < ::FormCore ::VirtualModel
8378 end
84- end
8579 end
8680 end
8781end
0 commit comments