Class: Sequel::Model::Associations::OneToOneAssociationReflection
- Inherits:
-
OneToManyAssociationReflection
- Object
- Hash
- AssociationReflection
- OneToManyAssociationReflection
- Sequel::Model::Associations::OneToOneAssociationReflection
- Defined in:
- lib/sequel/model/associations.rb
Constant Summary
Constants included from Inflections
Inflections::CAMELIZE_CONVERT_REGEXP, Inflections::CAMELIZE_MODULE_REGEXP, Inflections::DASH, Inflections::DEMODULIZE_CONVERT_REGEXP, Inflections::EMPTY_STRING, Inflections::SLASH, Inflections::UNDERSCORE, Inflections::UNDERSCORE_CONVERT_REGEXP1, Inflections::UNDERSCORE_CONVERT_REGEXP2, Inflections::UNDERSCORE_CONVERT_REPLACE, Inflections::UNDERSCORE_MODULE_REGEXP, Inflections::VALID_CONSTANT_NAME_REGEXP
Instance Method Summary collapse
-
#eager_limit_strategy ⇒ Object
one_to_one associations don’t use an eager limit strategy by default, but support both DISTINCT ON and window functions as strategies.
-
#limit_and_offset ⇒ Object
The limit and offset for this association (returned as a two element array).
-
#returns_array? ⇒ Boolean
one_to_one associations return a single object, not an array.
Methods inherited from OneToManyAssociationReflection
#associated_object_keys, #can_have_associated_objects?, #default_key, #eager_loader_key, #eager_loading_predicate_key, #primary_key, #qualified_primary_key, #reciprocal_array?, #remove_before_destroy?, #remove_should_check_existing?, #set_reciprocal_to_self?
Methods inherited from AssociationReflection
#_add_method, #_dataset_method, #_remove_all_method, #_remove_method, #_setter_method, #add_method, #associated_class, #association_method, #can_have_associated_objects?, #dataset_helper_method, #dataset_method, #dataset_need_primary_key?, #eager_graph_lazy_dataset?, #eager_loading_use_associated_key?, #need_associated_primary_key?, #qualify, #qualify_assoc, #qualify_cur, #reciprocal, #reciprocal_array?, #remove_all_method, #remove_before_destroy?, #remove_method, #remove_should_check_existing?, #select, #set_reciprocal_to_self?, #setter_method
Methods included from Inflections
clear, irregular, plural, singular, uncountable
Methods inherited from Hash
#&, #case, #hstore, #pg_json, #sql_expr, #sql_negate, #sql_or, #|, #~
Instance Method Details
#eager_limit_strategy ⇒ Object
one_to_one associations don’t use an eager limit strategy by default, but support both DISTINCT ON and window functions as strategies.
425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 |
# File 'lib/sequel/model/associations.rb', line 425 def eager_limit_strategy cached_fetch(:_eager_limit_strategy) do case s = self[:eager_limit_strategy] when Symbol s when true ds = associated_class.dataset if ds.supports_ordered_distinct_on? :distinct_on elsif ds.supports_window_functions? :window_function end else nil end end end |
#limit_and_offset ⇒ Object
The limit and offset for this association (returned as a two element array).
444 445 446 |
# File 'lib/sequel/model/associations.rb', line 444 def limit_and_offset [1, nil] end |
#returns_array? ⇒ Boolean
one_to_one associations return a single object, not an array
449 450 451 |
# File 'lib/sequel/model/associations.rb', line 449 def returns_array? false end |