Module: Errgonomic::Rails
- Defined in:
- lib/errgonomic/rails.rb,
lib/errgonomic/rails/active_record_optional.rb,
lib/errgonomic/rails/active_record_delegate_optional.rb,
lib/errgonomic/rails/active_record_optional.rb,
lib/errgonomic/rails/active_record_optional.rb
Overview
Slightly more convenient access to the setup functions: Errgonomic::Rails.setup_before and Errgonomic::Rails.setup_after
Defined Under Namespace
Modules: ActiveRecordDelegateOptional, ActiveRecordOptional, ActiveRecordPredicateBuilder, ActiveRecordQuoting
Class Method Summary collapse
-
.setup_after ⇒ Object
Models opt in to ActiveRecordOptional individually via
include Errgonomic::Rails::ActiveRecordOptional. -
.setup_before ⇒ Object
We provide helper class methods, like
delegate_optional, which need to be included into ActiveRecord::Base before any models are evaluated. -
.unwrap_options(value) ⇒ Object
Unwrap Options in a query condition, reaching one level into an array so a list of Options binds like a list of values.
Class Method Details
.setup_after ⇒ Object
Models opt in to ActiveRecordOptional individually via
include Errgonomic::Rails::ActiveRecordOptional.
22 |
# File 'lib/errgonomic/rails.rb', line 22 def self.setup_after; end |
.setup_before ⇒ Object
We provide helper class methods, like delegate_optional,
which need to be included into ActiveRecord::Base before any models are
evaluated.
16 17 18 |
# File 'lib/errgonomic/rails.rb', line 16 def self.setup_before ActiveRecord::Base.include(Errgonomic::Rails::ActiveRecordDelegateOptional) end |
.unwrap_options(value) ⇒ Object
Unwrap Options in a query condition, reaching one level into an array so a list of Options binds like a list of values.
304 305 306 307 308 309 310 311 312 313 |
# File 'lib/errgonomic/rails/active_record_optional.rb', line 304 def self.(value) case value when Errgonomic::Option::Any value.unwrap_or(nil) when Array value.any? { |v| v.is_a?(Errgonomic::Option::Any) } ? value.map { |v| (v) } : value else value end end |