Class: Base
- Inherits:
-
Sinatra::Base
- Object
- Sinatra::Base
- Base
- Defined in:
- lib/base_scraper_service/base.rb
Instance Method Summary collapse
- #constantize(lower_case_string) ⇒ Object
- #filter_offers(offers) ⇒ Object
- #get_service_name ⇒ Object
- #send_sinatra_file(path) ⇒ Object
- #valid_book_condition?(item_condition) ⇒ Boolean
- #valid_isbn?(isbn) ⇒ Boolean
- #valid_params? ⇒ Boolean
- #valid_ship_type?(ship_type) ⇒ Boolean
Instance Method Details
#constantize(lower_case_string) ⇒ Object
63 64 65 |
# File 'lib/base_scraper_service/base.rb', line 63 def constantize(lower_case_string) "#{lower_case_string.split('_').collect(&:capitalize).join + 'OffersService'}".constantize end |
#filter_offers(offers) ⇒ Object
56 57 58 59 60 61 |
# File 'lib/base_scraper_service/base.rb', line 56 def filter_offers(offers) offers = offers.select{ |offer| offer[:Item_Condition].downcase == params[:item_condition].downcase} if params[:item_condition].present? offers = offers.select{ |offer| offer[:ship_type].downcase == params[:ship_type].downcase} if params[:ship_type].present? offers end |
#get_service_name ⇒ Object
46 47 48 |
# File 'lib/base_scraper_service/base.rb', line 46 def get_service_name ENV['SERVICE_NAME'].capitalize + 'OffersService' end |
#send_sinatra_file(path) ⇒ Object
50 51 52 53 54 |
# File 'lib/base_scraper_service/base.rb', line 50 def send_sinatra_file(path) file_path = File.join(File.dirname(__FILE__), 'public', path) file_path = File.join(file_path, 'index.html') unless file_path =~ /\.[a-z]+$/i and !File.directory?(file_path) File.exist?(file_path) ? send_file(file_path) : not_found end |
#valid_book_condition?(item_condition) ⇒ Boolean
80 81 82 83 84 85 |
# File 'lib/base_scraper_service/base.rb', line 80 def valid_book_condition?(item_condition) return true if ['', 'used', 'new'].include?(item_condition.downcase) @res[:long_message] = 'invalid item condition' false end |
#valid_isbn?(isbn) ⇒ Boolean
73 74 75 76 77 78 |
# File 'lib/base_scraper_service/base.rb', line 73 def valid_isbn?(isbn) return true if StdNum::ISBN.valid?(isbn) && [10, 13].include?(isbn.size) @res[:long_message] = 'invalid isbn' false end |
#valid_params? ⇒ Boolean
67 68 69 70 71 |
# File 'lib/base_scraper_service/base.rb', line 67 def valid_params? valid_isbn?(params[:isbn]) && valid_book_condition?(params[:item_condition].to_s) && valid_ship_type?(params[:ship_type].to_s) end |
#valid_ship_type?(ship_type) ⇒ Boolean
87 88 89 90 91 92 |
# File 'lib/base_scraper_service/base.rb', line 87 def valid_ship_type?(ship_type) return true if ['', 'standard', 'expedited'].include?(ship_type.downcase) @res[:long_message] = 'invalid ship type' false end |