module Smmrize
Constants
- VERSION
Public Class Methods
create_document_query_string(options)
click to toggle source
# File lib/smmrize/request_types/document.rb, line 22 def self.create_document_query_string(options) raise ArgumentError, "Unknown key in `options`" unless options.keys == document_option_defaults.keys query_string = "&SM_API_KEY=#{Smmrize::Defaults.api_key}&SM_LENGTH=#{options[:length]}&SM_KEYWORD_COUNT=#{options[:keywords]}" if options[:avoid_quotes] query_string += "&SM_QUOTE_AVOID" end if options[:with_break] query_string += "&SM_WITH_BREAK" end Smmrize::Defaults.api_url + query_string end
create_webpage_query_string(options)
click to toggle source
# File lib/smmrize/request_types/webpage.rb, line 21 def self.create_webpage_query_string(options) raise ArgumentError, "Unknown key in `options`" unless options.keys == webpage_option_defaults.keys query_string = "&SM_API_KEY=#{Smmrize::Defaults.api_key}&SM_LENGTH=#{options[:length]}&SM_KEYWORD_COUNT=#{options[:keywords]}" if options[:avoid_quotes] query_string += "&SM_QUOTE_AVOID" end if options[:with_break] query_string += "&SM_WITH_BREAK" end Smmrize::Defaults.api_url + query_string + "&SM_URL=#{CGI::escape(options[:url])}" end
document(options={})
click to toggle source
# File lib/smmrize/request_types/document.rb, line 2 def self.document(options={}) raise ArgumentError, "Options should be a hash" unless options.is_a?(Hash) raise ArgumentError, "Maximum number of options are #{document_option_defaults.size}" unless options.size <= document_option_defaults.size send_document_request(options) end
document_option_defaults()
click to toggle source
# File lib/smmrize/request_types/document.rb, line 37 def self.document_option_defaults { input: nil, length: 7, keywords: 0, avoid_quotes: false, with_break: false } end
prepare_document_options(options)
click to toggle source
# File lib/smmrize/request_types/document.rb, line 15 def self.prepare_document_options(options) raise ArgumentError, "Options must contain an `input` parameter" unless options.keys.include?(:input) raise ArgumentError, "Options must not contain a URl - Did you mean to use `Smmrize.webpage?`" if options.keys.include?(:url) options = document_option_defaults.merge(options) create_document_query_string(options) end
prepare_webpage_options(options)
click to toggle source
# File lib/smmrize/request_types/webpage.rb, line 15 def self.prepare_webpage_options(options) raise ArgumentError, "Options must contain a URL" unless options.keys.include?(:url) options = webpage_option_defaults.merge(options) create_webpage_query_string(options) end
send_document_request(options)
click to toggle source
# File lib/smmrize/request_types/document.rb, line 9 def self.send_document_request(options) uri = URI(prepare_document_options(options)) response = Net::HTTP.post_form(uri, 'sm_api_input': options[:input]) JSON.parse(response.body) end
send_webpage_request(options)
click to toggle source
# File lib/smmrize/request_types/webpage.rb, line 9 def self.send_webpage_request(options) url = prepare_webpage_options(options) response = Net::HTTP.get_response(URI(url)) JSON.parse(response.body) end
webpage(options={})
click to toggle source
# File lib/smmrize/request_types/webpage.rb, line 2 def self.webpage(options={}) raise ArgumentError, "Options should be a hash" unless options.is_a?(Hash) raise ArgumentError, "Maximum number of options are #{webpage_option_defaults.size}" unless options.size <= webpage_option_defaults.size send_webpage_request(options) end
webpage_option_defaults()
click to toggle source
# File lib/smmrize/request_types/webpage.rb, line 36 def self.webpage_option_defaults { url: nil, length: 7, keywords: 0, avoid_quotes: false, with_break: false } end