class MediumExport

Extension namespace

Constants

ApiTokenMissing
InvalidPublishStatus
InvalidTemplatePosition
PUBLISH_STATUSES
TEMPLATES_POSSITIONS

Public Class Methods

new(app, options_hash={}, &block) click to toggle source
Calls superclass method
# File lib/middleman-medium_export/extension.rb, line 22
def initialize(app, options_hash={}, &block)
  super

  check_api_token!
  check_template_positions!
  check_publish_statuses!
end

Public Instance Methods

api_client() click to toggle source
# File lib/middleman-medium_export/extension.rb, line 30
def api_client
  @api_client ||= ApiClient.new(options.to_h.slice(:api_token, :publish_status))
end
template() click to toggle source
# File lib/middleman-medium_export/extension.rb, line 34
def template
  return unless options.template_path

  Template.new(options.to_h.slice(:template_path, :template_position))
end

Private Instance Methods

check_api_token!() click to toggle source
# File lib/middleman-medium_export/extension.rb, line 42
def check_api_token!
  return unless options.api_token.to_s.empty?

  error_msg = "Please, provide an api_token option. To obtain api_token refer to\n" \
    "https://help.medium.com/hc/en-us/articles/213480228-Get-integration-token\n\n"
  raise ApiTokenMissing, error_msg
end
check_publish_statuses!() click to toggle source
# File lib/middleman-medium_export/extension.rb, line 59
def check_publish_statuses!
  return if PUBLISH_STATUSES.include?(options.publish_status.to_sym)

  error_msg = "Invalid publish_status: #{options.publish_status}.\n" \
    "Possible publish statuses are: #{PUBLISH_STATUSES.join(", ")}\n\n"
  raise InvalidPublishStatus, error_msg
end
check_template_positions!() click to toggle source
# File lib/middleman-medium_export/extension.rb, line 50
def check_template_positions!
  position = options.template_position.to_s
  return if position.empty? || TEMPLATES_POSSITIONS.include?(position)

  error_msg = "Invalid template_position: #{options.template_position}.\n" \
    "Possible template positions are: #{TEMPLATES_POSSITIONS.join(", ")}\n\n"
  raise InvalidTemplatePosition, error_msg
end