Class: Alchemy::Language
- Inherits:
-
BaseRecord
- Object
- ActiveRecord::Base
- BaseRecord
- Alchemy::Language
- Includes:
- Code
- Defined in:
- app/models/alchemy/language.rb
Defined Under Namespace
Modules: Code
Constant Summary
Constants included from SearchableResource
SearchableResource::SEARCHABLE_COLUMN_TYPES
Class Method Summary collapse
-
.current ⇒ Object
deprecated
Deprecated.
Use Current#language instead.
-
.current=(language) ⇒ Object
deprecated
Deprecated.
Use Current#language= instead.
-
.current_root_page ⇒ Object
The root page of the current language.
-
.default ⇒ Object
Default language for current site.
- .on_current_site ⇒ Object
- .on_site(site) ⇒ Object
Instance Method Summary collapse
- #available_menu_names ⇒ Object
- #label(attrib) ⇒ Object
-
#matching_locales ⇒ Array
All available locales matching this language.
Methods included from Code
Methods included from SearchableResource
#ransackable_associations, #ransackable_attributes, #ransortable_attributes
Class Method Details
.current ⇒ Object
Deprecated.
Use Current#language instead.
Current language from current thread or default.
83 84 85 |
# File 'app/models/alchemy/language.rb', line 83 def current Current.language end |
.current=(language) ⇒ Object
Deprecated.
Use Current#language= instead.
Store the current language in the current thread.
76 77 78 |
# File 'app/models/alchemy/language.rb', line 76 def current=(language) Current.language = language end |
.current_root_page ⇒ Object
The root page of the current language.
89 90 91 |
# File 'app/models/alchemy/language.rb', line 89 def current_root_page Current.language&.pages&.language_roots&.first end |
.default ⇒ Object
Default language for current site
94 95 96 |
# File 'app/models/alchemy/language.rb', line 94 def default on_current_site.find_by(default: true) end |
.on_current_site ⇒ Object
70 71 72 |
# File 'app/models/alchemy/language.rb', line 70 def on_current_site on_site(Current.site) end |
.on_site(site) ⇒ Object
66 67 68 |
# File 'app/models/alchemy/language.rb', line 66 def on_site(site) site ? where(site_id: site.id) : all end |
Instance Method Details
#available_menu_names ⇒ Object
121 122 123 |
# File 'app/models/alchemy/language.rb', line 121 def Alchemy::Node. - nodes.reject(&:parent_id).map(&:menu_type) end |
#label(attrib) ⇒ Object
99 100 101 102 103 104 105 |
# File 'app/models/alchemy/language.rb', line 99 def label(attrib) if attrib.to_sym == :code code else Alchemy.t(code, default: name) end end |
#matching_locales ⇒ Array
All available locales matching this language
Matching either the code (language_code
+ country_code
) or the language_code
115 116 117 118 119 |
# File 'app/models/alchemy/language.rb', line 115 def matching_locales @_matching_locales ||= ::I18n.available_locales.select do |locale| locale.to_s.split("-")[0] == language_code end end |