Class: Mediumize::Publisher

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

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Publisher

Returns a new instance of Publisher.



30
31
32
33
34
# File 'lib/mediumize.rb', line 30

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



45
46
47
# File 'lib/mediumize.rb', line 45

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

#publish(file) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/mediumize.rb', line 36

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"] }
end