Module: ContentfulMiddleman::Helpers
- Defined in:
- lib/contentful_middleman/helpers.rb
Instance Method Summary collapse
- #contentful_instances ⇒ Object
- #localize(entry, field, locale, fallback_locale = 'en-US') ⇒ Object
- #localize_array(value, locale, fallback_locale = 'en-US') ⇒ Object
- #localize_entry(entry, locale, fallback_locale = 'en-US') ⇒ Object
- #localize_value(value, locale, fallback_locale = 'en-US') ⇒ Object
- #with_preview(space: '', access_token: '', tries: 3, expires_in: ContentfulMiddleman::Tools::PreviewProxy.hours(2), &block) ⇒ Object
Instance Method Details
#contentful_instances ⇒ Object
5 6 7 |
# File 'lib/contentful_middleman/helpers.rb', line 5 def contentful_instances ContentfulMiddleman.instances end |
#localize(entry, field, locale, fallback_locale = 'en-US') ⇒ Object
17 18 19 20 21 22 |
# File 'lib/contentful_middleman/helpers.rb', line 17 def localize(entry, field, locale, fallback_locale='en-US') value = entry.fetch(field) return localize_array(value, locale, fallback_locale) if value.is_a? ::Array localize_value(value, locale, fallback_locale) end |
#localize_array(value, locale, fallback_locale = 'en-US') ⇒ Object
24 25 26 27 28 |
# File 'lib/contentful_middleman/helpers.rb', line 24 def localize_array(value, locale, fallback_locale='en-US') value.map do |v| localize_value(v, locale, fallback_locale) end end |
#localize_entry(entry, locale, fallback_locale = 'en-US') ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/contentful_middleman/helpers.rb', line 9 def localize_entry(entry, locale, fallback_locale='en-US') localized_entry = {} entry.each do |field, value| localized_entry[field] = localize(entry, field, locale, fallback_locale) end localized_entry end |
#localize_value(value, locale, fallback_locale = 'en-US') ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/contentful_middleman/helpers.rb', line 30 def localize_value(value, locale, fallback_locale='en-US') if value.respond_to? :fetch return value.fetch(locale) if value.key? locale return value.fetch(fallback_locale) end value end |
#with_preview(space: '', access_token: '', tries: 3, expires_in: ContentfulMiddleman::Tools::PreviewProxy.hours(2), &block) ⇒ Object
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/contentful_middleman/helpers.rb', line 38 def with_preview(space: '', access_token: '', tries: 3, expires_in: ContentfulMiddleman::Tools::PreviewProxy.hours(2), &block) preview_client = ContentfulMiddleman::Tools::PreviewProxy.instance( space: space, access_token: access_token, tries: tries, expires_in: expires_in ) block.call(preview_client) end |