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 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
@@ -0,0 +1,19 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ lita_config.rb
19
+ .DS_Store
data/.travis.yml ADDED
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ script: bundle exec rake
5
+ before_install:
6
+ - gem update --system
7
+ services:
8
+ - redis-server
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
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,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -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,4 @@
1
+ en:
2
+ lita:
3
+ handlers:
4
+ trello:
@@ -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
@@ -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
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