lita-zerocater 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 207933e1678f1a1450540a492e5fbc9aff64749a
4
- data.tar.gz: d27c83d047e8dbe546a48e84a6d01a8dc0345225
3
+ metadata.gz: 577202ef0f7bac17a9db41bd81336971813d4351
4
+ data.tar.gz: b445f765b77ee22cfe216e22c6f982e43357835c
5
5
  SHA512:
6
- metadata.gz: 6a1d8c2c562347b731555dc6ef4c117c3fff05e4cdc953cd983b6d4fecd3093a08a1bb27df7f97d9c6ed5d1b97e21ce6e8fa8b9686eb7b284266a7e9e14cc172
7
- data.tar.gz: 5145f3df0779b967261aca3a5420ce2a07be6740e2df6258350afe6765571478bd56f2c899b554f3863a85fb06dec51a60047e26370980374976470b591daa9e
6
+ metadata.gz: 472ee00c40025487f833146a42f72d076fa0c5846948c8d572e8dbcf87f68b3cc693e38350a4a9dc7da0ac4ddba8bc0a1b4376792f138e528387de00af54eb88
7
+ data.tar.gz: 52c04b88725ba64191443cc5265026a74fd70f10b61190c51a1f51a995ae25b5022b48d8815243c7537e5158753f7cda6daddcbbd67b094e879f119cc9b5e3d6
data/README.md CHANGED
@@ -39,4 +39,3 @@ zerocater today - Show today's Zerocater menu for all locations
39
39
  zerocater tomorrow - Show tomorrow's Zerocater menu for all locations
40
40
  zerocater yesterday - Show yesterday's Zerocater menu for all locations
41
41
  ```
42
-
@@ -5,6 +5,7 @@ Lita.load_locales Dir[File.expand_path(
5
5
  )]
6
6
 
7
7
  require 'nokogiri'
8
+ require 'unidecoder'
8
9
 
9
10
  require 'lita/handlers/zerocater'
10
11
 
@@ -70,13 +70,18 @@ module Lita
70
70
  menu = page.css("div.menu[data-date='" + search_date + "']")
71
71
  menu.css('.meal-label').each do |meal|
72
72
  meal.css('.order-name').each do |order|
73
- results.push order.text.strip
73
+ results.push order.text.strip.to_ascii
74
74
  end
75
75
  end
76
76
  results
77
77
  end
78
78
 
79
+ # rubocop:disable Metrics/AbcSize
80
+ # rubocop:disable Metrics/MethodLength
79
81
  def menu(location, search_date)
82
+ cache_key = "#{location}_#{search_date}"
83
+ return redis.get(cache_key) if redis.exists(cache_key)
84
+
80
85
  begin
81
86
  menu = extract(fetch(config.locations[location]), search_date)
82
87
  rescue
@@ -85,10 +90,14 @@ module Lita
85
90
 
86
91
  return t('error.empty') unless menu.size > 0
87
92
 
88
- render_template('menu',
89
- menu: menu,
90
- locale: t('menu.locale', location: location))
93
+ t = render_template('menu',
94
+ menu: menu,
95
+ locale: t('menu.locale', location: location))
96
+ redis.set(cache_key, t)
97
+ t
91
98
  end
99
+ # rubocop:enable Metrics/AbcSize
100
+ # rubocop:enable Metrics/MethodLength
92
101
 
93
102
  def menu_today(location)
94
103
  menu(location, (Date.today).to_s)
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'lita-zerocater'
3
- spec.version = '0.7.0'
3
+ spec.version = '0.8.0'
4
4
  spec.authors = ['Eric Sigler']
5
5
  spec.email = ['me@esigler.com']
6
6
  spec.description = 'A ZeroCater menu lookup plugin for Lita'
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.add_runtime_dependency 'lita', '>= 4.4'
18
18
  spec.add_runtime_dependency 'nokogiri'
19
+ spec.add_runtime_dependency 'unidecoder'
19
20
 
20
21
  spec.add_development_dependency 'bundler'
21
22
  spec.add_development_dependency 'coveralls'
@@ -1,8 +1,6 @@
1
- ```
2
1
  *<%= @locale %>*:
3
2
 
4
3
  <% @menu.each do |item| %>
5
4
  _<%= item %>_
6
5
 
7
6
  <% end %>
8
- ```
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-zerocater
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Sigler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-08 00:00:00.000000000 Z
11
+ date: 2015-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: unidecoder
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement