Module: Orms::ActiveRecordVersion2
- Includes:
- Yaml::Conditions, Yaml::QueryBuilder
- Included in:
- ActiveRecord::Base
- Defined in:
- lib/orms/active_record/version_2.rb,
lib/orms/active_record/version2/delayed_job.rb
Defined Under Namespace
Modules: DelayedJob
Constant Summary
Constants included from Yaml::QueryBuilder
Yaml::QueryBuilder::ParseObjectFromYaml
Constants included from Yaml::Conditions
Instance Method Summary collapse
- #__include_delayedjob_adapter_if_necessary__ ⇒ Object
- #find_with_yaml_conditions(*args) ⇒ Object
- #refactor_options(options) ⇒ Object
Methods included from Yaml::QueryBuilder
#__attempt_to_load__, #__build_individual_yaml_conditions__, #__build_yaml_attributes__, #__build_yaml_conditions__, #__build_yaml_conditions_for_list__, #__check_yaml_nested_hierarchy__, #__check_yaml_nested_hierarchy_on_list__, #__filter_yaml_attributes_to_check_on__, #__include_db_adapter_if_necessary__, #__join_yaml_conditions__, #__prepare_yaml_conditions__, #__resolve_yaml_conditions_by_structure__, #__serialize__to_yaml_value__, #__yaml_deserialize__, #__yaml_load_object_recursively__, #__yaml_method_or_key__, #__yaml_same_class__
Instance Method Details
#__include_delayedjob_adapter_if_necessary__ ⇒ Object
7 8 9 10 |
# File 'lib/orms/active_record/version_2.rb', line 7 def __include_delayedjob_adapter_if_necessary__ self.send(:include, ::Orms::ActiveRecordVersion2::DelayedJob) @delayed_adapter_included = true end |
#find_with_yaml_conditions(*args) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/orms/active_record/version_2.rb', line 12 def find_with_yaml_conditions(*args) = args.last.is_a?(::Hash) ? args.last : {} yaml_conditions = [:yaml_conditions] flat_check = yaml_conditions.delete(:flat_check) unless yaml_conditions.nil? return find_without_yaml_conditions(*args) if yaml_conditions.blank? __include_db_adapter_if_necessary__ if @db_adapter_included.nil? __include_delayedjob_adapter_if_necessary__ if defined?(Delayed::Job) && self == Delayed::Job && @delayed_adapter_included.nil? = args. adapted_args = args << () selector = adapted_args.shift result = find_without_yaml_conditions(flat_check ? selector : :all, *adapted_args) if flat_check.present? result else result = result.select do |o| __check_yaml_nested_hierarchy__(o, __prepare_yaml_conditions__(yaml_conditions)) end selector == :all ? result : result.send(selector.to_sym) end end |
#refactor_options(options) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/orms/active_record/version_2.rb', line 33 def () sql_conditions = sanitize_sql(.delete(:conditions)) yaml_conditions = __prepare_yaml_conditions__(.delete(:yaml_conditions)) yaml_conditions.symbolize_keys! if yaml_conditions.is_a?(Hash) .merge!({ :conditions => __join_yaml_conditions__(sql_conditions, __build_yaml_conditions__(yaml_conditions)) }) end |