class ContentfulMiddleman::Instance
Constants
- API_PREVIEW_URL
Public Class Methods
new(extension)
click to toggle source
# File lib/contentful_middleman/instance.rb, line 5 def initialize(extension) @extension = extension end
Public Instance Methods
client()
click to toggle source
# File lib/contentful_middleman/instance.rb, line 41 def client @client ||= Contentful::Client.new(client_options) end
content_types_ids_to_mappers()
click to toggle source
# File lib/contentful_middleman/instance.rb, line 21 def content_types_ids_to_mappers @content_types_mappers ||= options.content_types.reduce({}) do |acc, (content_type_id, config)| content_type_mapper = config.fetch(:mapper) acc[content_type_id] = content_type_mapper acc end end
content_types_ids_to_names()
click to toggle source
# File lib/contentful_middleman/instance.rb, line 29 def content_types_ids_to_names @content_types_names ||= options.content_types.reduce({}) do |acc, (content_type_id, config)| content_type_name = config.fetch(:name) acc[content_type_id] = content_type_name acc end end
entries()
click to toggle source
# File lib/contentful_middleman/instance.rb, line 9 def entries if options.all_entries all_entries(options.cda_query) else client.entries(options.cda_query) end end
options()
click to toggle source
# File lib/contentful_middleman/instance.rb, line 37 def options @extension.options end
space_name()
click to toggle source
# File lib/contentful_middleman/instance.rb, line 17 def space_name @space_name ||= options.space.fetch(:name) end
Private Instance Methods
all_entries(cda_query)
click to toggle source
# File lib/contentful_middleman/instance.rb, line 47 def all_entries(cda_query) all = [] query = cda_query.clone query[:order] = 'sys.createdAt' unless query.key?(:order) num_entries = client.entries(limit: 1).total ((num_entries / options.all_entries_page_size) + 1).times do |i| query[:limit] = options.all_entries_page_size query[:skip] = i * options.all_entries_page_size page = client.entries(query) page.each { |entry| all << entry } end all end
client_options()
click to toggle source
# File lib/contentful_middleman/instance.rb, line 63 def client_options client_options = { access_token: options.access_token, space: options.space.fetch(:id), dynamic_entries: :auto, raise_errors: true, default_locale: options.default_locale, integration_name: 'middleman.v4', integration_version: ContentfulMiddleman::VERSION }.merge(options.client_options) client_options[:api_url] = API_PREVIEW_URL if options.use_preview_api client_options end