Class: MediumExport::ApiClient

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/middleman-medium_export/api_client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_token:, publish_status:) ⇒ ApiClient

raise_on (400..599).to_a



15
16
17
18
# File 'lib/middleman-medium_export/api_client.rb', line 15

def initialize(api_token:, publish_status:)
  @auth = { Authorization: "Bearer #{api_token}" }
  @publish_status = publish_status
end

Instance Attribute Details

#authObject (readonly)

Returns the value of attribute auth.



6
7
8
# File 'lib/middleman-medium_export/api_client.rb', line 6

def auth
  @auth
end

#publish_statusObject (readonly)

Returns the value of attribute publish_status.



6
7
8
# File 'lib/middleman-medium_export/api_client.rb', line 6

def publish_status
  @publish_status
end

Instance Method Details

#meObject



44
45
46
# File 'lib/middleman-medium_export/api_client.rb', line 44

def me
  self.class.get('/me', headers: auth)
end

#publish(content:, title:, tags:) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/middleman-medium_export/api_client.rb', line 20

def publish(content:, title:, tags:)
  response = self.class.post(
    "/users/#{id}/posts",
    headers: auth,
    body: {
      "title": title,
      "contentFormat": "html",
      "content": content,
      "tags": tags,
      "publishStatus": publish_status
    }.to_json
  )
end

#upload_image(image:) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/middleman-medium_export/api_client.rb', line 34

def upload_image(image:)
  response = self.class.post(
    "https://api.medium.com/v1/images",
    headers: auth,
    body: {
      "image": image
    }
  )
end