Class: RecordMedium::Export

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

Overview

Export methods

Constant Summary collapse

HOST =
'https://recordmedium.com'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Export

Returns a new instance of Export.

Raises:

  • (ArgumentError)


20
21
22
23
24
25
26
# File 'lib/record_medium/export.rb', line 20

def initialize(data)
  @data = data
  @data[:timestamp] ||= Time.now.to_i

  raise ArgumentError, 'No key'    unless @data[:key]
  raise ArgumentError, 'No secret' unless @data[:secret]
end

Class Method Details

.sign(data) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/record_medium/export.rb', line 8

def self.sign(data)
  Digest::MD5.hexdigest(
    [
      data[:key], data[:kind], data[:duration],
      (data[:projects] ? data[:projects].join : nil),
      (data[:reports]  ? data[:reports].join  : nil),
      data[:timestamp],
      data[:secret]
    ].join
  )
end

Instance Method Details

#iframeObject



28
29
30
31
# File 'lib/record_medium/export.rb', line 28

def iframe
  "<iframe width='#{@data[:width]}' height='#{@data[:height]}' src='#{url}'\
    frameborder='0' allowfullscreen></iframe>"
end

#urlObject



33
34
35
# File 'lib/record_medium/export.rb', line 33

def url
  "#{HOST}/export/#{@data[:key]}?#{query_string}"
end