Class: Www::VideoSectionComponent

Inherits:
ApplicationComponent show all
Includes:
PagesHelper, PresenterHelper, SeoHelper
Defined in:
app/components/www/video_section_component.rb

Constant Summary

Constants included from SeoHelper

SeoHelper::AWARDS, SeoHelper::CA_ADDRESS, SeoHelper::CA_BUSINESS_HOURS, SeoHelper::CA_CONTACT_POINT, SeoHelper::CA_CURRENCIES, SeoHelper::CA_DESCRIPTION, SeoHelper::CA_FOUNDING_DATE, SeoHelper::CA_GLOBAL_LOCATION_NUMBER, SeoHelper::CA_LEGAL_NAME, SeoHelper::CA_LOCAL_BUSINESS, SeoHelper::CA_ONLINE_STORE, SeoHelper::CA_RETURN_POLICY, SeoHelper::CA_SALES_DEPARTMENT, SeoHelper::CA_SERVICE_AREA, SeoHelper::CA_URL, SeoHelper::CA_VAT_ID, SeoHelper::CA_WAREHOUSE_DEPARTMENT, SeoHelper::CA_WAREHOUSE_HOURS, SeoHelper::COMPANY_EMAIL, SeoHelper::COMPANY_LOGO, SeoHelper::COMPANY_NAME, SeoHelper::COMPANY_SLOGAN, SeoHelper::EXPERTISE, SeoHelper::FAX_NUMBER, SeoHelper::GS1_COMPANY_PREFIX, SeoHelper::ISO6523_CODE, SeoHelper::PAYMENT_METHODS, SeoHelper::PHONE_NUMBER, SeoHelper::PRIMARY_NAICS, SeoHelper::REFUND_TYPE, SeoHelper::RETURN_FEES, SeoHelper::RETURN_METHOD, SeoHelper::RETURN_POLICY_CATEGORY, SeoHelper::SECONDARY_NAICS, SeoHelper::SOCIAL_PROFILES, SeoHelper::US_ADDRESS, SeoHelper::US_BUSINESS_HOURS, SeoHelper::US_CONTACT_POINT, SeoHelper::US_CURRENCIES, SeoHelper::US_DESCRIPTION, SeoHelper::US_FOUNDING_DATE, SeoHelper::US_GLOBAL_LOCATION_NUMBER, SeoHelper::US_IMAGE, SeoHelper::US_LEGAL_NAME, SeoHelper::US_LOCAL_BUSINESS, SeoHelper::US_ONLINE_STORE, SeoHelper::US_RETURN_POLICY, SeoHelper::US_SALES_DEPARTMENT, SeoHelper::US_SERVICE_AREA, SeoHelper::US_TAX_ID, SeoHelper::US_URL, SeoHelper::US_WAREHOUSE_DEPARTMENT, SeoHelper::US_WAREHOUSE_HOURS

Instance Method Summary collapse

Methods included from SeoHelper

#add_page_schema, #canada?, #company_social_links, #ensure_context_json, #json_ld_script_tag, #local_business_schema, #online_store_id, #online_store_schema, #page_main_entity, #page_main_entity_json, #render_auto_collection_page_schema, #render_collection_page_schema, #render_local_business_schema, #render_online_store_schema, #render_page_schemas, #render_page_video_schemas, #render_webpage_schema, #render_webpage_schema_with_collections, #usa?

Methods included from PresenterHelper

#generic_present, #present

Methods included from PagesHelper

#heated_driveway_cost_rows, #page_article_faqs, #page_banner_image, #page_header_h1, #page_header_h2, #page_header_h3, #page_posts, #page_publications, #page_showcases, #page_videos, #review_benefit_card, #review_trust_badge

Methods included from UrlsHelper

#catalog_breadcrumb_links, #catalog_link, #catalog_link_for_product_line, #catalog_link_for_sku, #cms_link, #delocalized_path, #path_to_sales_product_sku, #path_to_sales_product_sku_for_product_line, #path_to_sales_product_sku_for_product_line_slug, #product_line_from_catalog_link, #protocol_neutral_url, #sanitize_external_url, #valid_external_url?

Methods inherited from ApplicationComponent

#cms_link, #fetch_or_fallback, #image_asset_tag, #image_tag, #number_to_currency, #number_with_delimiter, #post_path, #post_url, #strip_tags

Constructor Details

#initialize(videos: nil, slugs: nil, cloudflare_uids: nil, ids: nil, section_title: nil, description: nil, view_more_title: nil, view_more_href: nil, render_only_thumbnails: nil, add_schema: true, display_category_badge: false, display_duration: true, header_style: 'h2', use_slider: true, border: nil) ⇒ VideoSectionComponent

Returns a new instance of VideoSectionComponent.

Parameters:

  • border (Symbol, nil) (defaults to: nil)

    Border style: :top, :bottom, or :both

  • videos (Object, nil) (defaults to: nil)
  • slugs (Object, nil) (defaults to: nil)
  • cloudflare_uids (Object, nil) (defaults to: nil)
  • ids (Object, nil) (defaults to: nil)
  • section_title (Object, nil) (defaults to: nil)
  • description (Object, nil) (defaults to: nil)
  • view_more_title (Object, nil) (defaults to: nil)
  • view_more_href (Object, nil) (defaults to: nil)
  • render_only_thumbnails (Object, nil) (defaults to: nil)
  • add_schema (Boolean) (defaults to: true)
  • display_category_badge (Boolean) (defaults to: false)
  • display_duration (Boolean) (defaults to: true)
  • header_style (String) (defaults to: 'h2')
  • use_slider (Boolean) (defaults to: true)


21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'app/components/www/video_section_component.rb', line 21

def initialize(
  videos: nil,
  slugs: nil,
  cloudflare_uids: nil,
  ids: nil,
  section_title: nil,
  description: nil,
  view_more_title: nil,
  view_more_href: nil,
  render_only_thumbnails: nil,
  add_schema: true,
  display_category_badge: false,
  display_duration: true,
  header_style: 'h2',
  use_slider: true,
  border: nil
)
  super()
  @videos = videos || resolve_videos(slugs: slugs, cloudflare_uids: cloudflare_uids, ids: ids)
  @section_title = section_title
  @description = description
  @view_more_title = view_more_title
  @view_more_href = view_more_href
  @render_only_thumbnails = render_only_thumbnails
  @add_schema = add_schema
  @display_category_badge = display_category_badge
  @display_duration = display_duration
  @header_style = header_style
  @use_slider = use_slider
  @border = border
end

Instance Method Details

#render?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'app/components/www/video_section_component.rb', line 53

def render?
  videos.present?
end

#with_collection(videos) ⇒ Object



57
58
59
60
# File 'app/components/www/video_section_component.rb', line 57

def with_collection(videos)
  @videos = videos
  self
end