lita-v2ex 0.1.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 +7 -0
- data/.gitignore +17 -0
- data/Gemfile +3 -0
- data/README.md +21 -0
- data/Rakefile +6 -0
- data/lib/lita-v2ex.rb +12 -0
- data/lib/lita/handlers/v2ex.rb +39 -0
- data/lita-v2ex.gemspec +24 -0
- data/locales/en.yml +4 -0
- data/spec/lita/handlers/v2ex_spec.rb +11 -0
- data/spec/spec_helper.rb +6 -0
- data/templates/.gitkeep +0 -0
- metadata +143 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 50495c1d4dfa01fe08f12bb667f455bfcfaeb23a
|
4
|
+
data.tar.gz: 0ef36f10578137960c65309c1a008586cb77af79
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6167bf6cf6b6093a52a13e72be7f7d39dae13b1915a0b6aadb87bab85cddb5dc40209411195af86fc95ae99391c8c10654b101dcc2fa3c532ffe3e364eef26dd
|
7
|
+
data.tar.gz: 416672f55394cf59a9d1838b9f3f284354009c3a5aee070f3512907d4f76b5f5dca73b921d30019861c5a446f88ef8c1bae3592c98ec255ac38b46f0189a7687
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# lita-v2ex
|
2
|
+
|
3
|
+
Display top 10 hots of V2EX today
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add lita-v2ex to your Lita instance's Gemfile:
|
8
|
+
|
9
|
+
``` ruby
|
10
|
+
gem "lita-v2ex"
|
11
|
+
```
|
12
|
+
|
13
|
+
## Configuration
|
14
|
+
|
15
|
+
Nothing to config
|
16
|
+
|
17
|
+
## Usage
|
18
|
+
```
|
19
|
+
Lita v2ex
|
20
|
+
|
21
|
+
```
|
data/Rakefile
ADDED
data/lib/lita-v2ex.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require "lita"
|
2
|
+
|
3
|
+
Lita.load_locales Dir[File.expand_path(
|
4
|
+
File.join("..", "..", "locales", "*.yml"), __FILE__
|
5
|
+
)]
|
6
|
+
|
7
|
+
require "lita/handlers/v2ex"
|
8
|
+
|
9
|
+
Lita::Handlers::V2ex.template_root File.expand_path(
|
10
|
+
File.join("..", "..", "templates"),
|
11
|
+
__FILE__
|
12
|
+
)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Lita
|
2
|
+
module Handlers
|
3
|
+
class V2ex < Handler
|
4
|
+
route(/v2ex/, :fetch_hot_topic, command: true, help: {
|
5
|
+
"v2ex" => "display 10 hot posts of v2ex today"
|
6
|
+
})
|
7
|
+
|
8
|
+
def fetch_hot_topic response
|
9
|
+
hots = redis.get(key_of_today)
|
10
|
+
hots = access_api unless hots
|
11
|
+
response.reply hots
|
12
|
+
end
|
13
|
+
|
14
|
+
def key_of_today
|
15
|
+
'v2ex_' + Time.now.strftime('%Y-%m-%d')
|
16
|
+
end
|
17
|
+
|
18
|
+
def access_api
|
19
|
+
url = 'https://www.v2ex.com/api/topics/hot.json'
|
20
|
+
res = http.get url
|
21
|
+
hash_res = MultiJson.load(res.body)
|
22
|
+
content = filter_data(hash_res).join("\n")
|
23
|
+
redis.set(key_of_today, content)
|
24
|
+
content
|
25
|
+
end
|
26
|
+
|
27
|
+
def filter_data(res)
|
28
|
+
if res
|
29
|
+
res.map {|item| "#{item['title']}: #{item['url']}" }
|
30
|
+
else
|
31
|
+
[]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
Lita.register_handler(self)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lita-v2ex.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-v2ex"
|
3
|
+
spec.version = "0.1.0"
|
4
|
+
spec.authors = ["easonhan"]
|
5
|
+
spec.email = ["nbkhic@qq.com"]
|
6
|
+
spec.description = "A lita handler which displays top 10 v2ex hot posts today"
|
7
|
+
spec.summary = "A lita handler which displays top 10 v2ex hot posts today"
|
8
|
+
spec.homepage = "https://github.com/easonhan007/lita-v2ex"
|
9
|
+
spec.license = "MIT"
|
10
|
+
spec.metadata = { "lita_plugin_type" => "handler" }
|
11
|
+
|
12
|
+
spec.files = `git ls-files`.split($/)
|
13
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
14
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
+
spec.require_paths = ["lib"]
|
16
|
+
|
17
|
+
spec.add_runtime_dependency "lita", ">= 4.6"
|
18
|
+
|
19
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
20
|
+
spec.add_development_dependency "pry-byebug"
|
21
|
+
spec.add_development_dependency "rake"
|
22
|
+
spec.add_development_dependency "rack-test"
|
23
|
+
spec.add_development_dependency "rspec", ">= 3.0.0"
|
24
|
+
end
|
data/locales/en.yml
ADDED
data/spec/spec_helper.rb
ADDED
data/templates/.gitkeep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,143 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-v2ex
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- easonhan
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-11-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: lita
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.6'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry-byebug
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack-test
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.0.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.0.0
|
97
|
+
description: A lita handler which displays top 10 v2ex hot posts today
|
98
|
+
email:
|
99
|
+
- nbkhic@qq.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- ".gitignore"
|
105
|
+
- Gemfile
|
106
|
+
- README.md
|
107
|
+
- Rakefile
|
108
|
+
- lib/lita-v2ex.rb
|
109
|
+
- lib/lita/handlers/v2ex.rb
|
110
|
+
- lita-v2ex.gemspec
|
111
|
+
- locales/en.yml
|
112
|
+
- spec/lita/handlers/v2ex_spec.rb
|
113
|
+
- spec/spec_helper.rb
|
114
|
+
- templates/.gitkeep
|
115
|
+
homepage: https://github.com/easonhan007/lita-v2ex
|
116
|
+
licenses:
|
117
|
+
- MIT
|
118
|
+
metadata:
|
119
|
+
lita_plugin_type: handler
|
120
|
+
post_install_message:
|
121
|
+
rdoc_options: []
|
122
|
+
require_paths:
|
123
|
+
- lib
|
124
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
requirements: []
|
135
|
+
rubyforge_project:
|
136
|
+
rubygems_version: 2.2.2
|
137
|
+
signing_key:
|
138
|
+
specification_version: 4
|
139
|
+
summary: A lita handler which displays top 10 v2ex hot posts today
|
140
|
+
test_files:
|
141
|
+
- spec/lita/handlers/v2ex_spec.rb
|
142
|
+
- spec/spec_helper.rb
|
143
|
+
has_rdoc:
|