Class: Mediumize::MediumPublisher

Inherits:
Object
  • Object
show all
Defined in:
lib/mediumize/medium_publisher.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ MediumPublisher

Returns a new instance of MediumPublisher.



18
19
20
21
22
# File 'lib/mediumize/medium_publisher.rb', line 18

def initialize(opts={})
  @opts = opts
  @renderer = Mediumize::Renderer.new(opts)
  @client = Medium::Client.new(:integration_token => opts[:token])
end

Instance Method Details

#fetch_me!Object



33
34
35
# File 'lib/mediumize/medium_publisher.rb', line 33

def fetch_me!
  @me ||= @client.users.me
end

#publish(file) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/mediumize/medium_publisher.rb', line 24

def publish(file)
  content = @renderer.render(File.read(file), file)
  fetch_me!
  
  res = @client.posts.create(@me, content.merge(:publish_status => "draft"))
  data = Medium::Client.validate(res)["data"]
  { :id => data["id"], :url => data["url"], :content => content }
end