class Mobility::Backends::Sequel::Column
Implements the {Mobility::Backends::Column} backend for Sequel
models.
Public Class Methods
build_op(attr, locale)
click to toggle source
# File lib/mobility/backends/sequel/column.rb, line 35 def self.build_op(attr, locale) ::Sequel::SQL::QualifiedIdentifier.new(model_class.table_name, Column.column_name_for(attr, locale)) end
Public Instance Methods
each_locale() { |l| ... }
click to toggle source
@!macro backend_iterator
# File lib/mobility/backends/sequel/column.rb, line 31 def each_locale available_locales.each { |l| yield(l) if present?(l) } end
read(locale, _options = nil)
click to toggle source
@!group Backend
Accessors @!macro backend_reader
# File lib/mobility/backends/sequel/column.rb, line 18 def read(locale, _options = nil) column = column(locale) model[column] if model.columns.include?(column) end
write(locale, value, _options = nil)
click to toggle source
@!group Backend
Accessors @!macro backend_writer
# File lib/mobility/backends/sequel/column.rb, line 25 def write(locale, value, _options = nil) column = column(locale) model[column] = value if model.columns.include?(column) end
Private Instance Methods
available_locales()
click to toggle source
# File lib/mobility/backends/sequel/column.rb, line 42 def available_locales @available_locales ||= get_column_locales end
get_column_locales()
click to toggle source
# File lib/mobility/backends/sequel/column.rb, line 46 def get_column_locales column_name_regex = /\A#{attribute}_([a-z]{2}(_[a-z]{2})?)\z/.freeze model.columns.map do |c| (match = c.to_s.match(column_name_regex)) && match[1].to_sym end.compact end