Module: Buhos::Helpers
- Included in:
 - CrossrefDoi, CrossrefQuery, PdfFileProcessor, PdfProcessor, Sinatra::SinatraFileHandler::Helpers
 
- Defined in:
 - lib/buhos/helpers.rb
 
Overview
Misc helpers for Buhos
Instance Method Summary collapse
- 
  
    
      #config_get(id)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Get an APP config.
 - 
  
    
      #config_set(id, valor)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Set an APP config.
 - 
  
    
      #dir_base  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Base dir por whole app.
 - #dir_files ⇒ Object
 - #ds_to_json(res) ⇒ Object
 - #GET_id ⇒ Object
 - 
  
    
      #get_title_head  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Get title header within 80 chars.
 - 
  
    
      #log  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Provides log access.
 - #percent_from_proportion(x) ⇒ Object
 - 
  
    
      #process_abstract_text(t)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Remove innecesary whitespaces.
 - 
  
    
      #protect_encoding(x)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Force text x to be utf-8 compatible.
 - 
  
    
      #pubmed_available?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Is NCBI API KEY available?.
 - 
  
    
      #scopus_available?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Is SCOPUS API key available?.
 - #time_sql(time) ⇒ Object
 - 
  
    
      #title(title)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Set title header for app.
 - 
  
    
      #truncate(text, length = 30, truncate_string = "...")  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Truncate a text to given length and add truncate_string at the end.
 
Instance Method Details
#config_get(id) ⇒ Object
Get an APP config
      93 94 95  | 
    
      # File 'lib/buhos/helpers.rb', line 93 def config_get(id) Configuration.get(id) end  | 
  
#config_set(id, valor) ⇒ Object
Set an APP config
      97 98 99  | 
    
      # File 'lib/buhos/helpers.rb', line 97 def config_set(id,valor) Configuration.set(id,valor) end  | 
  
#dir_base ⇒ Object
Base dir por whole app
      42 43 44  | 
    
      # File 'lib/buhos/helpers.rb', line 42 def dir_base File.(File.dirname(__FILE__)+"/../..") end  | 
  
#dir_files ⇒ Object
      45 46 47 48 49 50  | 
    
      # File 'lib/buhos/helpers.rb', line 45 def dir_files dir_files= $test_mode ? "/spec/usr/files" : "/usr/files" dir=File.(dir_base + "/"+ dir_files) FileUtils.mkdir_p(dir) unless File.exist? dir dir end  | 
  
#ds_to_json(res) ⇒ Object
      75 76 77 78 79 80 81 82 83 84 85  | 
    
      # File 'lib/buhos/helpers.rb', line 75 def ds_to_json(res) require 'json' content_type :json res.map {|v| {id:v[:id], value:v[:text], tokens:v[:text].split(/\s+/) } }.to_json end  | 
  
#GET_id ⇒ Object
      94  | 
    
      # File 'lib/buhos/helpers.rb', line 94 Configuration.get(id)  | 
  
#get_title_head ⇒ Object
Get title header within 80 chars
      66 67 68 69 70 71 72 73  | 
    
      # File 'lib/buhos/helpers.rb', line 66 def get_title_head if @title.length>80 @title[0..80]+"..." else @title end end  | 
  
#log ⇒ Object
Provides log access
      37 38 39  | 
    
      # File 'lib/buhos/helpers.rb', line 37 def log $log end  | 
  
#percent_from_proportion(x) ⇒ Object
      121 122 123  | 
    
      # File 'lib/buhos/helpers.rb', line 121 def percent_from_proportion(x) sprintf("%0.1f%%",x.to_f*100) end  | 
  
#process_abstract_text(t) ⇒ Object
Remove innecesary whitespaces
      88 89 90  | 
    
      # File 'lib/buhos/helpers.rb', line 88 def process_abstract_text(t) t.gsub("\.\n","***").gsub(/\s+/," ").gsub("***",".\n") end  | 
  
#protect_encoding(x) ⇒ Object
Force text x to be utf-8 compatible
      116 117 118  | 
    
      # File 'lib/buhos/helpers.rb', line 116 def protect_encoding(x) x.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '') end  | 
  
#pubmed_available? ⇒ Boolean
Is NCBI API KEY available?
      61 62 63  | 
    
      # File 'lib/buhos/helpers.rb', line 61 def pubmed_available? !ENV['NCBI_API_KEY'].nil? end  | 
  
#scopus_available? ⇒ Boolean
Is SCOPUS API key available?
      56 57 58  | 
    
      # File 'lib/buhos/helpers.rb', line 56 def scopus_available? !ENV['SCOPUS_KEY'].nil? end  | 
  
#time_sql(time) ⇒ Object
      101 102 103  | 
    
      # File 'lib/buhos/helpers.rb', line 101 def time_sql(time) time.strftime("%Y-%m-%d %H:%M:%S") end  | 
  
#title(title) ⇒ Object
Set title header for app
      52 53 54  | 
    
      # File 'lib/buhos/helpers.rb', line 52 def title(title) @title=title end  | 
  
#truncate(text, length = 30, truncate_string = "...") ⇒ Object
Truncate a text to given length and add truncate_string at the end
      105 106 107 108 109 110 111 112 113 114  | 
    
      # File 'lib/buhos/helpers.rb', line 105 def truncate(text, length = 30, truncate_string = "...") if text l = length - truncate_string.chars.length chars = text.chars #$log.info(chars[0..10]) (chars.length > length ) ? (chars[0...l] + truncate_string.chars).join('').to_s : text end end  |