ferris-bueller 0.0.1 → 0.0.2
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 +4 -4
- data/VERSION +1 -1
- data/lib/ferris-bueller/helpers.rb +2 -2
- data/lib/ferris-bueller/slack_api.rb +30 -0
- data/lib/ferris-bueller/web.rb +0 -1
- data/lib/ferris-bueller/web_helpers.rb +7 -2
- metadata +2 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5cd0bb225b443bbd5cd93bb39a5c36b216e61bc
|
4
|
+
data.tar.gz: ac947c90b3c291b59e71caf4ba15765da8c47d7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8094033f7c2e10ac62d306e307ae89b47783956d51f1885b61f94e20bfe37cb464bd95950a1ae9d56c98e2e656366a5ea034629429af82aa6f01c2219b87819e
|
7
|
+
data.tar.gz: 6573073a948f2cf9386afe6d2fc374289be838e4d1e6db263d5dfce039f7b138a44bbcf3a7619e6b3b999346aa6e49d5fc99f4d976b9caa4c86e37408c080c88
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'json'
|
2
2
|
require 'net/http'
|
3
3
|
|
4
|
-
require 'ferris'
|
5
4
|
require 'thin/logging'
|
6
5
|
require 'queryparams'
|
7
6
|
|
8
7
|
require_relative 'constants'
|
9
8
|
require_relative 'web'
|
9
|
+
require_relative 'slack_api'
|
10
10
|
|
11
11
|
|
12
12
|
module FerrisBueller
|
@@ -24,7 +24,7 @@ module FerrisBueller
|
|
24
24
|
Web.set :store, @store
|
25
25
|
Web.set :logger, log
|
26
26
|
Web.set :verification_token, options.verification_token
|
27
|
-
Web.set :api,
|
27
|
+
Web.set :api, SlackAPI.new(token: options.api_token, logger: log)
|
28
28
|
|
29
29
|
if log.level >= ::Logger::DEBUG
|
30
30
|
Web.set :raise_errors, true
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'net/http'
|
3
|
+
|
4
|
+
require 'slog'
|
5
|
+
|
6
|
+
Thread.abort_on_exception = true
|
7
|
+
|
8
|
+
|
9
|
+
module FerrisBueller
|
10
|
+
class SlackAPI
|
11
|
+
def initialize options={}
|
12
|
+
@token = options.fetch :token
|
13
|
+
@logger = options.fetch :logger, Slog.new
|
14
|
+
@api_url = options.fetch :api_url, 'https://slack.com/api'
|
15
|
+
log.trace event: 'API client initialized'
|
16
|
+
end
|
17
|
+
|
18
|
+
def send method, options={}
|
19
|
+
uri = URI File.join(@api_url, method)
|
20
|
+
options = { token: @token }.merge(options)
|
21
|
+
log.trace event: 'sending api request', method: method, options: options
|
22
|
+
res = Net::HTTP.post_form uri, options
|
23
|
+
log.debug event: 'sent api request', method: method, options: options, response: res
|
24
|
+
JSON.parse res.body
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
def log ; @logger end
|
29
|
+
end
|
30
|
+
end
|
data/lib/ferris-bueller/web.rb
CHANGED
@@ -1,5 +1,11 @@
|
|
1
|
+
require 'fuzzystringmatch/pure/jarowinkler'
|
2
|
+
|
3
|
+
|
1
4
|
module FerrisBueller
|
2
5
|
module WebHelpers
|
6
|
+
JARO_WINKLER = FuzzyStringMatch::JaroWinklerPure.new
|
7
|
+
|
8
|
+
def options ; settings.options end
|
3
9
|
|
4
10
|
def store ; settings.store end
|
5
11
|
|
@@ -59,10 +65,9 @@ module FerrisBueller
|
|
59
65
|
def compare name1, name2
|
60
66
|
return nil if name1.nil? || name1.empty?
|
61
67
|
return nil if name2.nil? || name2.empty?
|
62
|
-
@@jaro ||= FuzzyStringMatch::JaroWinkler.create :native
|
63
68
|
n1 = name1.gsub(/\W/, '').downcase
|
64
69
|
n2 = name2.gsub(/\W/, '').downcase
|
65
|
-
|
70
|
+
JARO_WINKLER.getDistance n1, n2
|
66
71
|
end
|
67
72
|
|
68
73
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ferris-bueller
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Clemmer
|
@@ -80,20 +80,6 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.4'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: ferris
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: eventmachine
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,6 +154,7 @@ files:
|
|
168
154
|
- lib/ferris-bueller/metadata.rb
|
169
155
|
- lib/ferris-bueller/mjolnir.rb
|
170
156
|
- lib/ferris-bueller/replies.rb
|
157
|
+
- lib/ferris-bueller/slack_api.rb
|
171
158
|
- lib/ferris-bueller/web.rb
|
172
159
|
- lib/ferris-bueller/web_helpers.rb
|
173
160
|
homepage: https://github.com/sczizzo/ferris-bueller
|