Class: Jekyll::BitlyFilterCache
- Inherits:
-
Object
- Object
- Jekyll::BitlyFilterCache
- Defined in:
- lib/jekyll-bitly/bitly_filter.rb
Constant Summary collapse
- @@instance =
rubocop:disable Style/ClassVars
BitlyFilterCache.new
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize ⇒ BitlyFilterCache
constructor
A new instance of BitlyFilterCache.
- #shorten(input) ⇒ Object
Constructor Details
#initialize ⇒ BitlyFilterCache
Returns a new instance of BitlyFilterCache.
5 6 7 8 9 10 11 12 |
# File 'lib/jekyll-bitly/bitly_filter.rb', line 5 def initialize @result_cache = {} config = Jekyll.configuration({}) return nil unless config && config["bitly"] && config["bitly"]["username"] @username = config["bitly"]["username"] @key = config["bitly"]["api_key"] Bitly.use_api_version_3 end |
Class Method Details
.instance ⇒ Object
17 18 19 |
# File 'lib/jekyll-bitly/bitly_filter.rb', line 17 def self.instance @@instance end |
Instance Method Details
#shorten(input) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/jekyll-bitly/bitly_filter.rb', line 21 def shorten(input) input.strip! return input unless @username return @result_cache[input] if @result_cache.key?(input) bitly = Bitly.new(@username, @key) u = bitly.shorten(input, history: 1) @result_cache[input] = u.short_url u.short_url end |