class SmsRu::Message

Public Class Methods

new(request, dir_location) click to toggle source
# File lib/sms_ru/message.rb, line 6
def initialize(request, dir_location)
  @request = parse_request(request)
  @dir_location = dir_location
  FileUtils.mkdir_p @dir_location
  @file_location = "#{Time.now.to_i}_#{Digest::SHA1.hexdigest(@request.to_s + rand(1_000_000).to_s)[0..6]}"
end

Public Instance Methods

render() click to toggle source
# File lib/sms_ru/message.rb, line 13
def render
  File.open(filepath, 'w') do |f|
    f.write ERB.new(template).result(binding)
  end
  
  Launchy.open("file:///#{filepath}")
end

Private Instance Methods

filepath() click to toggle source
# File lib/sms_ru/message.rb, line 34
def filepath
  File.join(@dir_location, @file_location + '.html')
end
parse_request(request) click to toggle source
# File lib/sms_ru/message.rb, line 23
def parse_request(request)
  {
    method: request.method.to_s,
    uri: request.uri.to_s,
  }.merge Rack::Utils.parse_nested_query(request.body)
end
template() click to toggle source
# File lib/sms_ru/message.rb, line 30
def template
  File.read(File.expand_path('../message.html.erb', __FILE__))
end