lita-octo 0.0.1
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 +19 -0
- data/.travis.yml +8 -0
- data/Gemfile +3 -0
- data/README.md +15 -0
- data/Rakefile +6 -0
- data/lib/lita/handlers/static.rb +49 -0
- data/lib/lita/handlers/stock.rb +58 -0
- data/lib/lita/handlers/trello.rb +35 -0
- data/lib/lita-octo.rb +12 -0
- data/lita-octo.gemspec +28 -0
- data/locales/en.yml +4 -0
- data/spec/lita/handlers/stock_spec.rb +12 -0
- data/spec/spec_helper.rb +14 -0
- data/templates/.gitkeep +0 -0
- metadata +160 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 53992f48032613586ff5cbc3c6bae2bb7891b373
|
4
|
+
data.tar.gz: 67ca7627c96cf7bc2b8aab56cee08c9be9004738
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e58035dfd897645436dfe0153ffc219586b9f6e6381601d5a251afb5f1d03f31ee4b0261c6b8196f604196c29d009d73328b2a8a5bc7ba2ed02e0f760f963bc1
|
7
|
+
data.tar.gz: c1be347c241041e65a90921af31c8ae328eb843fd21e1c3886bb5f3074075b9306dc5ccfdac7e92746d75042c4e5656e6522547b5018f891dff5539a2b479769
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# lita-octo
|
2
|
+
|
3
|
+
**lita-octo** is a handler for [Lita](https://github.com/jimmycuadra/lita) that provides answers for OCTO OZ company.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add lita-octo to your Lita instance's Gemfile:
|
8
|
+
|
9
|
+
``` ruby
|
10
|
+
gem "lita-octo"
|
11
|
+
```
|
12
|
+
|
13
|
+
## Usage
|
14
|
+
|
15
|
+
Lita: octo
|
data/Rakefile
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
require "lita"
|
2
|
+
|
3
|
+
module Lita
|
4
|
+
module Handlers
|
5
|
+
class Static < Handler
|
6
|
+
|
7
|
+
#
|
8
|
+
# Renvoie l'adresse courante de nos bureaux
|
9
|
+
#
|
10
|
+
route %r{adresse}i, :adresse_info, command: true, help: {
|
11
|
+
"n'importe quoi avec le mot 'adresse'" => "Renvoie l'adresse de nos bureaux en Australie"
|
12
|
+
}
|
13
|
+
|
14
|
+
def adresse_info(response)
|
15
|
+
ourAddress = "Suite 402, 55 Lime Street, Sydney NSW 2000"
|
16
|
+
response.reply ourAddress
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# Renvoie le numéro de téléphone fixe courant de nos bureaux
|
21
|
+
#
|
22
|
+
route %r{telephone}i, :tel_info, command: true, help: {
|
23
|
+
"n'importe quoi avec le mot 'telephone'" => "Renvoie le numéro de téléphone de nos bureaux en Australie"
|
24
|
+
}
|
25
|
+
|
26
|
+
def tel_info(response)
|
27
|
+
ourPhone = "+61 2 97 791 685"
|
28
|
+
response.reply ourPhone
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# Juste histoire d'avoir un peu de répondant... Lita, ça va ? Répond par une réponse aléatoire parmi N.
|
33
|
+
#
|
34
|
+
route %r{(ç|c)a va}i, :cava_info, command: false, help: {
|
35
|
+
"'ça va' ou 'ca va', avec ou sans point d'interrogation" => "Dit que ça va, aléatoirement"
|
36
|
+
}
|
37
|
+
|
38
|
+
def cava_info(response)
|
39
|
+
cava = ['OK', 'hamdoula', 'tranquille', 'tranquille tak tak', 'bien bien', 'ça va ça va',
|
40
|
+
'pas mal, pas mal', 'yep, excellent', 'on fait aller...', 'bah, tant qu''il y a la santé...'
|
41
|
+
]
|
42
|
+
response.reply cava.sample
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
Lita.register_handler(Static)
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require "lita"
|
2
|
+
|
3
|
+
module Lita
|
4
|
+
module Handlers
|
5
|
+
class Stock < Handler
|
6
|
+
route %r{action octo}i, :stock_info, command: true, help: {
|
7
|
+
"action octo" => "Returns stock price information of OCTO Technology."
|
8
|
+
}
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
def stock_info(response)
|
13
|
+
symbol = "EPA:ALOCT"
|
14
|
+
data = get_stock_data(symbol)
|
15
|
+
|
16
|
+
response.reply format_response(data)
|
17
|
+
|
18
|
+
rescue Exception => e
|
19
|
+
Lita.logger.error("Stock information error: #{e.message}")
|
20
|
+
response.reply "Sorry, but there was a problem retrieving octo stock information."
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
|
26
|
+
def get_stock_data(symbol)
|
27
|
+
resp = http.get("https://www.google.com/finance/info?infotype=infoquoteall&q=#{symbol}")
|
28
|
+
raise 'RequestFail' unless resp.status == 200
|
29
|
+
MultiJson.load(clean_response(resp.body))[0]
|
30
|
+
end
|
31
|
+
|
32
|
+
# Clean up the body and fix any hex formatting that Google does
|
33
|
+
def clean_response(body)
|
34
|
+
body.gsub!(/\/\//, '')
|
35
|
+
|
36
|
+
# Google sends hex encoded data, we need to fix that
|
37
|
+
(33..47).each do |char|
|
38
|
+
body.gsub!(/\\x#{char.to_s(16)}/, char.chr)
|
39
|
+
end
|
40
|
+
|
41
|
+
body
|
42
|
+
end
|
43
|
+
|
44
|
+
def format_response(data)
|
45
|
+
line = []
|
46
|
+
#line << "#{data['name']}"
|
47
|
+
line << "Action OCTO"
|
48
|
+
line << "#{data['l']} (#{data['c']}, #{data['cp']}%)"
|
49
|
+
|
50
|
+
line.join ' - '
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
Lita.register_handler(Stock)
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require "lita"
|
2
|
+
|
3
|
+
module Lita
|
4
|
+
module Handlers
|
5
|
+
class Trello < Handler
|
6
|
+
|
7
|
+
#
|
8
|
+
# Ajoute une carte dans le trello Actions, colonne ToDo, avec le titre comme paramètre
|
9
|
+
#
|
10
|
+
route %r{trello add\s+(.+)}i, :trello_add, command: true, help: {
|
11
|
+
"trello add <titre>" => "Ajoute une carte dans le trello Actions, colonne ToDo, avec le <titre> comme paramètre"
|
12
|
+
}
|
13
|
+
|
14
|
+
def trello_add(response)
|
15
|
+
ourAddress = "Suite 402, 55 Lime Street, Sydney NSW 2000"
|
16
|
+
response.reply ourAddress
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# Liste les cartes dans le trello Actions, colonne ToDo
|
21
|
+
#
|
22
|
+
route %r{trello list}i, :trello_list, command: true, help: {
|
23
|
+
"trello list" => "Liste les cartes dans le trello Actions, colonne ToDo"
|
24
|
+
}
|
25
|
+
|
26
|
+
def trello_list(response)
|
27
|
+
ourAddress = "Suite 402, 55 Lime Street, Sydney NSW 2000"
|
28
|
+
response.reply ourAddress
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
Lita.register_handler(Trello)
|
34
|
+
end
|
35
|
+
end
|
data/lib/lita-octo.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require "lita/handlers/static"
|
2
|
+
require "lita/handlers/stock"
|
3
|
+
require "lita/handlers/trello"
|
4
|
+
|
5
|
+
Lita.load_locales Dir[File.expand_path(
|
6
|
+
File.join("..", "..", "locales", "*.yml"), __FILE__
|
7
|
+
)]
|
8
|
+
|
9
|
+
Lita::Handlers::Trello.template_root File.expand_path(
|
10
|
+
File.join("..", "..", "templates"),
|
11
|
+
__FILE__
|
12
|
+
)
|
data/lita-octo.gemspec
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-octo"
|
3
|
+
spec.version = "0.0.1"
|
4
|
+
spec.authors = ["David Alia"]
|
5
|
+
spec.email = ["dalia@octo.com"]
|
6
|
+
spec.description = %q{A Lita handler that displays OCTO OZ information}
|
7
|
+
spec.summary = %q{A Lita handler that displays OCTO OZ information: P&L, phone number, askbob info etc.}
|
8
|
+
spec.homepage = "https://gitlab.octo.com/dalia/lita-octo"
|
9
|
+
spec.license = ""
|
10
|
+
|
11
|
+
spec.files = `git ls-files`.split($/)
|
12
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
13
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
14
|
+
spec.require_paths = ["lib"]
|
15
|
+
|
16
|
+
spec.required_ruby_version = ">= 2.1.0"
|
17
|
+
|
18
|
+
spec.add_runtime_dependency "lita", ">= 2.3"
|
19
|
+
spec.add_runtime_dependency "ruby-trello", "~> 1.1"
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "rspec", ">= 3.0.0.beta2"
|
24
|
+
spec.add_development_dependency "simplecov"
|
25
|
+
spec.add_development_dependency "coveralls"
|
26
|
+
|
27
|
+
spec.metadata = { "lita_plugin_type" => "handler" }
|
28
|
+
end
|
data/locales/en.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Lita::Handlers::stock, lita_handler: true do
|
4
|
+
it { routes_command("action octo").to(:stock_info) }
|
5
|
+
it { doesnt_route_command("action").to(:stock_info) }
|
6
|
+
|
7
|
+
it "checks general action octo" do
|
8
|
+
send_command "action octo"
|
9
|
+
expect(replies.last).to include("ALOCT")
|
10
|
+
expect(replies.last).to include("Octo Technology")
|
11
|
+
end
|
12
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require "simplecov"
|
2
|
+
require "coveralls"
|
3
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
4
|
+
SimpleCov::Formatter::HTMLFormatter,
|
5
|
+
Coveralls::SimpleCov::Formatter
|
6
|
+
]
|
7
|
+
SimpleCov.start { add_filter "/spec/" }
|
8
|
+
|
9
|
+
require "lita-octo"
|
10
|
+
require "lita/rspec"
|
11
|
+
|
12
|
+
# A compatibility mode is provided for older plugins upgrading from Lita 3. Since this plugin
|
13
|
+
# was generated with Lita 4, the compatibility mode should be left disabled.
|
14
|
+
Lita.version_3_compatibility_mode = false
|
data/templates/.gitkeep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,160 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-octo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David Alia
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-08-13 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: '2.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: ruby-trello
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
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: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 3.0.0.beta2
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 3.0.0.beta2
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: coveralls
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: A Lita handler that displays OCTO OZ information
|
112
|
+
email:
|
113
|
+
- dalia@octo.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".gitignore"
|
119
|
+
- ".travis.yml"
|
120
|
+
- Gemfile
|
121
|
+
- README.md
|
122
|
+
- Rakefile
|
123
|
+
- lib/lita-octo.rb
|
124
|
+
- lib/lita/handlers/static.rb
|
125
|
+
- lib/lita/handlers/stock.rb
|
126
|
+
- lib/lita/handlers/trello.rb
|
127
|
+
- lita-octo.gemspec
|
128
|
+
- locales/en.yml
|
129
|
+
- spec/lita/handlers/stock_spec.rb
|
130
|
+
- spec/spec_helper.rb
|
131
|
+
- templates/.gitkeep
|
132
|
+
homepage: https://gitlab.octo.com/dalia/lita-octo
|
133
|
+
licenses:
|
134
|
+
- ''
|
135
|
+
metadata:
|
136
|
+
lita_plugin_type: handler
|
137
|
+
post_install_message:
|
138
|
+
rdoc_options: []
|
139
|
+
require_paths:
|
140
|
+
- lib
|
141
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 2.1.0
|
146
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
requirements: []
|
152
|
+
rubyforge_project:
|
153
|
+
rubygems_version: 2.4.5
|
154
|
+
signing_key:
|
155
|
+
specification_version: 4
|
156
|
+
summary: 'A Lita handler that displays OCTO OZ information: P&L, phone number, askbob
|
157
|
+
info etc.'
|
158
|
+
test_files:
|
159
|
+
- spec/lita/handlers/stock_spec.rb
|
160
|
+
- spec/spec_helper.rb
|