lita-zerocater 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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