Module: BentoSearch::OpenurlMainLink
- Defined in:
- app/item_decorators/bento_search/openurl_main_link.rb
Overview
Example of an Item Decorator that replaces the main ‘link’ with an openurl.
This example uses crazy metaprogramming to dynamically create a module configured with your base url etc. You don’t need to use crazy method like that; just define your own local decorator doing exactly what you need, it’s meant to be simple.
config.item_decorators = [ BentoSearch::OpenurlMainLink[:base_url => "http://resolve.somewhere.edu/foo", :extra_query => "&foo=bar"] ]
Class Method Summary collapse
Class Method Details
.[](options) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/item_decorators/bento_search/openurl_main_link.rb', line 16 def self.[]() base_url = [:base_url] extra_query = [:extra_query] || "" Module.new do define_method :link do if (ou = to_openurl) "#{base_url}?#{ou.kev}#{extra_query}" else nil end end end end |