Module: Gluttonberg::Content
- Defined in:
- lib/gluttonberg/content.rb,
lib/gluttonberg/content/block.rb,
lib/gluttonberg/content/workflow.rb,
lib/gluttonberg/content/clean_html.rb,
lib/gluttonberg/content/versioning.rb,
lib/gluttonberg/content/page_finder.rb,
lib/gluttonberg/content/publishable.rb,
lib/gluttonberg/content/validations.rb,
lib/gluttonberg/content/despamilator.rb,
lib/gluttonberg/content/localization.rb,
lib/gluttonberg/content/page_children.rb,
lib/gluttonberg/content/home_page_info.rb,
lib/gluttonberg/content/page_components.rb,
lib/gluttonberg/content/slug_management.rb,
lib/gluttonberg/content/import_export_csv.rb,
lib/gluttonberg/content/block_localization.rb,
lib/gluttonberg/content/despamilator/filter.rb,
lib/gluttonberg/content/despamilator/subject.rb,
lib/gluttonberg/content/despamilator/version.rb,
lib/gluttonberg/content/default_template_file.rb,
lib/gluttonberg/content/page_description_info.rb,
lib/gluttonberg/content/page_localization_slug.rb,
lib/gluttonberg/content/despamilator/filter/urls.rb,
lib/gluttonberg/content/despamilator/subject/text.rb,
lib/gluttonberg/content/despamilator/filter/emails.rb,
lib/gluttonberg/content/despamilator/filter/prices.rb,
lib/gluttonberg/content/despamilator/filter/shouting.rb,
lib/gluttonberg/content/despamilator/filter/html_tags.rb,
lib/gluttonberg/content/despamilator/filter/no_vowels.rb,
lib/gluttonberg/content/despamilator/filter/long_words.rb,
lib/gluttonberg/content/despamilator/filter/mixed_case.rb,
lib/gluttonberg/content/despamilator/filter/script_tag.rb,
lib/gluttonberg/content/despamilator/filter/spammy_tlds.rb,
lib/gluttonberg/content/despamilator/filter/naughty_words.rb,
lib/gluttonberg/content/despamilator/filter/ip_address_url.rb,
lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb,
lib/gluttonberg/content/despamilator/filter/square_brackets.rb,
lib/gluttonberg/content/despamilator/filter/trailing_number.rb,
lib/gluttonberg/content/despamilator/filter/gtubs_test_filter.rb,
lib/gluttonberg/content/despamilator/filter/numbers_and_words.rb,
lib/gluttonberg/content/despamilator/filter/weird_punctuation.rb,
lib/gluttonberg/content/despamilator/filter/unusual_characters.rb,
lib/gluttonberg/content/despamilator/filter/very_long_domain_name.rb
Overview
The content module contains a whole bunch classes and mixins related to the pages, localizations, content models and helpers for rendering content inside of views.
Defined Under Namespace
Modules: Block, BlockLocalization, CleanHtml, DefaultTemplateFile, DespamilatorFilter, HomePageInfo, ImportExportCSV, Localization, PageChildren, PageComponents, PageDescriptionInfo, PageFinder, PageLocalizationSlug, Publishable, SlugManagement, Validations, Versioning, Workflow Classes: Despamilator
Constant Summary collapse
- @@content_associations =
nil
- @@non_localized_associations =
nil
- @@localizations =
{}
- @@localization_associations =
nil
- @@localization_classes =
nil
Class Method Summary collapse
- .actual_content_classes ⇒ Object
-
.content_associations ⇒ Object
Return the collection of content association names.
-
.localization_associations ⇒ Object
Returns an array of the localization association names.
-
.localizations ⇒ Object
Returns a hash of content classes that are localized, keyed to the association name.
-
.non_localized_associations ⇒ Object
For each content class that is registered, a corresponding association is declared against the Page model.
-
.register_localization(assoc_name, klass) ⇒ Object
If a content class has the is_localized declaration, this method is used to register it so we can keep track of all localized content.
-
.setup ⇒ Object
This is called after the application loads so that we can define any extra associations or do house-keeping once everything is required and running.
Class Method Details
.actual_content_classes ⇒ Object
77 78 79 80 |
# File 'lib/gluttonberg/content.rb', line 77 def self.actual_content_classes Gluttonberg::Content::Block.classes @@localization_classes + Block.classes.select {|c| !c.localized? } end |
.content_associations ⇒ Object
Return the collection of content association names.
56 57 58 |
# File 'lib/gluttonberg/content.rb', line 56 def self.content_associations @@content_associations end |
.localization_associations ⇒ Object
Returns an array of the localization association names.
73 74 75 |
# File 'lib/gluttonberg/content.rb', line 73 def self.localization_associations @@localization_associations end |
.localizations ⇒ Object
Returns a hash of content classes that are localized, keyed to the association name.
68 69 70 |
# File 'lib/gluttonberg/content.rb', line 68 def self.localizations @@localizations end |
.non_localized_associations ⇒ Object
For each content class that is registered, a corresponding association is declared against the Page model. We need to keep track of these, which is what this method does. It just returns an array of the association names.
48 49 50 51 52 53 |
# File 'lib/gluttonberg/content.rb', line 48 def self.non_localized_associations @@non_localized_associations ||= begin non_localized = Block.classes.select {|c| !c.localized? } non_localized.collect {|c| c.association_name } end end |
.register_localization(assoc_name, klass) ⇒ Object
If a content class has the is_localized declaration, this method is used to register it so we can keep track of all localized content.
62 63 64 |
# File 'lib/gluttonberg/content.rb', line 62 def self.register_localization(assoc_name, klass) @@localizations[assoc_name] = klass end |
.setup ⇒ Object
This is called after the application loads so that we can define any extra associations or do house-keeping once everything is required and running
37 38 39 40 41 42 |
# File 'lib/gluttonberg/content.rb', line 37 def self.setup # Store the names of the associations in their own array for convenience @@localization_associations = @@localizations.keys @@localization_classes = @@localizations.values @@content_associations = Block.classes.collect { |k| k.association_name } end |