Sha256: 3e61a641ae76ea0be7ec05b09d9cc3d4cc4b51ab4913d15610aa597f64c5ad81
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true require "mobility/backend" require "mobility/arel" module Mobility module Backends module ActiveRecord def self.included(backend_class) backend_class.include(Backend) backend_class.extend(ClassMethods) end module ClassMethods # @param [Symbol] name Attribute name # @param [Symbol] locale Locale def [](name, locale) build_node(name.to_s, locale) end # @param [String] _attr Attribute name # @param [Symbol] _locale Locale # @return Arel node for this translated attribute def build_node(_attr, _locale) raise NotImplementedError end # @param [ActiveRecord::Relation] relation Relation to scope # @param [Object] predicate Arel predicate # @param [Symbol] locale (Mobility.locale) Locale # @option [Boolean] invert # @return [ActiveRecord::Relation] Relation with scope added def apply_scope(relation, _predicate, _locale = Mobility.locale, invert: false) relation end private def build_quoted(value) ::Arel::Nodes.build_quoted(value) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mobility-1.0.0.beta2 | lib/mobility/backends/active_record.rb |
mobility-1.0.0.beta1 | lib/mobility/backends/active_record.rb |
mobility-1.0.0.alpha | lib/mobility/backends/active_record.rb |