@@ -9,26 +9,23 @@ module ClassMethods
99 # Definition
1010 #
1111
12- def virtual_has_one ( name , options = { } )
13- uses = options . delete ( :uses )
12+ def virtual_has_one ( name , uses : nil , **options )
1413 reflection = ActiveRecord ::Associations ::Builder ::HasOne . build ( self , name , nil , options )
15- add_virtual_reflection ( reflection , name , uses , options )
14+ add_virtual_reflection ( reflection , name , uses )
1615 end
1716
18- def virtual_has_many ( name , options = { } )
17+ def virtual_has_many ( name , uses : nil , ** options )
1918 define_method ( :"#{ name . to_s . singularize } _ids" ) do
2019 records = send ( name )
2120 records . respond_to? ( :ids ) ? records . ids : records . collect ( &:id )
2221 end
23- uses = options . delete ( :uses )
2422 reflection = ActiveRecord ::Associations ::Builder ::HasMany . build ( self , name , nil , options )
25- add_virtual_reflection ( reflection , name , uses , options )
23+ add_virtual_reflection ( reflection , name , uses )
2624 end
2725
28- def virtual_belongs_to ( name , options = { } )
29- uses = options . delete ( :uses )
26+ def virtual_belongs_to ( name , uses : nil , **options )
3027 reflection = ActiveRecord ::Associations ::Builder ::BelongsTo . build ( self , name , nil , options )
31- add_virtual_reflection ( reflection , name , uses , options )
28+ add_virtual_reflection ( reflection , name , uses )
3229 end
3330
3431 def virtual_reflection? ( name )
@@ -94,7 +91,7 @@ def collect_reflections_with_virtual(association_names)
9491
9592 private
9693
97- def add_virtual_reflection ( reflection , name , uses , _options )
94+ def add_virtual_reflection ( reflection , name , uses )
9895 raise ArgumentError , "macro must be specified" unless reflection
9996
10097 reset_virtual_reflection_information
0 commit comments