Module: Smmrize
- Defined in:
- lib/smmrize.rb,
lib/smmrize/version.rb,
lib/smmrize/request_types/webpage.rb,
lib/smmrize/request_types/document.rb
Defined Under Namespace
Classes: Defaults
Constant Summary collapse
- VERSION =
"0.1.1"
Class Method Summary collapse
- .create_document_query_string(options) ⇒ Object
- .create_webpage_query_string(options) ⇒ Object
- .document(options = {}) ⇒ Object
- .document_option_defaults ⇒ Object
- .prepare_document_options(options) ⇒ Object
- .prepare_webpage_options(options) ⇒ Object
- .send_document_request(options) ⇒ Object
- .send_webpage_request(options) ⇒ Object
- .webpage(options = {}) ⇒ Object
- .webpage_option_defaults ⇒ Object
Class Method Details
.create_document_query_string(options) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/smmrize/request_types/document.rb', line 22 def self.create_document_query_string() raise ArgumentError, "Unknown key in `options`" unless .keys == document_option_defaults.keys query_string = "&SM_API_KEY=#{Smmrize::Defaults.api_key}&SM_LENGTH=#{options[:length]}&SM_KEYWORD_COUNT=#{options[:keywords]}" if [:avoid_quotes] query_string += "&SM_QUOTE_AVOID" end if [:with_break] query_string += "&SM_WITH_BREAK" end Smmrize::Defaults.api_url + query_string end |
.create_webpage_query_string(options) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/smmrize/request_types/webpage.rb', line 21 def self.create_webpage_query_string() raise ArgumentError, "Unknown key in `options`" unless .keys == webpage_option_defaults.keys query_string = "&SM_API_KEY=#{Smmrize::Defaults.api_key}&SM_LENGTH=#{options[:length]}&SM_KEYWORD_COUNT=#{options[:keywords]}" if [:avoid_quotes] query_string += "&SM_QUOTE_AVOID" end if [:with_break] query_string += "&SM_WITH_BREAK" end Smmrize::Defaults.api_url + query_string + "&SM_URL=#{CGI::escape(options[:url])}" end |
.document(options = {}) ⇒ Object
2 3 4 5 6 7 |
# File 'lib/smmrize/request_types/document.rb', line 2 def self.document(={}) raise ArgumentError, "Options should be a hash" unless .is_a?(Hash) raise ArgumentError, "Maximum number of options are #{document_option_defaults.size}" unless .size <= document_option_defaults.size send_document_request() end |
.document_option_defaults ⇒ Object
37 38 39 40 41 42 43 44 45 |
# 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) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/smmrize/request_types/document.rb', line 15 def self.() raise ArgumentError, "Options must contain an `input` parameter" unless .keys.include?(:input) raise ArgumentError, "Options must not contain a URl - Did you mean to use `Smmrize.webpage?`" if .keys.include?(:url) = document_option_defaults.merge() create_document_query_string() end |
.prepare_webpage_options(options) ⇒ Object
15 16 17 18 19 |
# File 'lib/smmrize/request_types/webpage.rb', line 15 def self.() raise ArgumentError, "Options must contain a URL" unless .keys.include?(:url) = webpage_option_defaults.merge() create_webpage_query_string() end |
.send_document_request(options) ⇒ Object
9 10 11 12 13 |
# File 'lib/smmrize/request_types/document.rb', line 9 def self.send_document_request() uri = URI(()) response = Net::HTTP.post_form(uri, 'sm_api_input': [:input]) JSON.parse(response.body) end |
.send_webpage_request(options) ⇒ Object
9 10 11 12 13 |
# File 'lib/smmrize/request_types/webpage.rb', line 9 def self.send_webpage_request() url = () response = Net::HTTP.get_response(URI(url)) JSON.parse(response.body) end |
.webpage(options = {}) ⇒ Object
2 3 4 5 6 7 |
# File 'lib/smmrize/request_types/webpage.rb', line 2 def self.webpage(={}) raise ArgumentError, "Options should be a hash" unless .is_a?(Hash) raise ArgumentError, "Maximum number of options are #{webpage_option_defaults.size}" unless .size <= webpage_option_defaults.size send_webpage_request() end |
.webpage_option_defaults ⇒ Object
36 37 38 39 40 41 42 43 44 |
# 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 |