Class: MediumToWebflow::Webflow::Client

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/medium_to_webflow/webflow/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(api_token:, collection_id:, field_mappings:) ⇒ Client

Returns a new instance of Client.



11
12
13
14
15
16
17
# File 'lib/medium_to_webflow/webflow/client.rb', line 11

def initialize(api_token:, collection_id:, field_mappings:)
  @api_token = api_token
  @collection_id = collection_id
  @field_mappings = field_mappings
  self.class.headers "Authorization" => "Bearer #{api_token}"
  @logger = MediumToWebflow.configuration.logger
end

Instance Method Details

#upsert_post(medium_post) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/medium_to_webflow/webflow/client.rb', line 19

def upsert_post(medium_post)
  fields = build_fields(medium_post)
  medium_slug_field = @field_mappings.key("slug")
  existing_item = find_item(slug: medium_post.send(medium_slug_field))

  handle_existing_or_create_item(existing_item, fields, medium_post)
end