kintone_notifier 0.0.1 → 0.0.3
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/kintone_notifier.gemspec +1 -1
- data/lib/kintone_notifier/bot.rb +48 -0
- data/lib/kintone_notifier/version.rb +1 -1
- data/lib/kintone_notifier.rb +9 -51
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61c98bdf21480d4f8a6a593caa4d4e8f892656df
|
4
|
+
data.tar.gz: ffe7a13037b6ffe0c5aa2f51ade83a9cf3da9415
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce48cc29023468fd1775180cbd7366891d2f7b549028e36e20b50c02d533eee026b6f7f32fc4ba8c4b0d1982d18bc7bb72c881f93f21a911828078d6af9a09dd
|
7
|
+
data.tar.gz: dd08fef6cab6a6cf45211ccd7bac2e596c64c5ac4ebdfe14c9413db77a2ec67e167c7e05b044f69a7acbc6c9030d3aa89ce7c455faff5f72ca8d94c34ea96256
|
data/kintone_notifier.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["fujimoto"]
|
10
10
|
spec.email = ["fujimoto@team-heartbeat.com"]
|
11
11
|
spec.summary = %q{tweeting exception or error to Kintone App}
|
12
|
-
spec.description = %q{}
|
12
|
+
spec.description = %q{You have to use as local gem}
|
13
13
|
spec.homepage = ""
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module KintoneNotifier
|
2
|
+
class Bot
|
3
|
+
|
4
|
+
def initialize(options={})
|
5
|
+
raise ArgumentError, "invalid argument. class configuration haven't been given." if @@config.blank?
|
6
|
+
@options = default_options.reverse_merge(default_options)
|
7
|
+
@api = Kintone::Api.new(@options["url"],@options["user"],@options["password"])
|
8
|
+
end
|
9
|
+
def tweet(values={})
|
10
|
+
@api.record.create(@options["app_id"],convert_hash(values.reverse_merge(default_values)))
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.config=(h)
|
14
|
+
@@config = h
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
def convert_hash(h)
|
19
|
+
val = {}.tap do |_val|
|
20
|
+
h.each do |k,v|
|
21
|
+
_val.merge!(k => {"value" => v})
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def default_options
|
27
|
+
@@config.stringify_keys
|
28
|
+
end
|
29
|
+
|
30
|
+
def default_values
|
31
|
+
{
|
32
|
+
"app_name" => app_name,
|
33
|
+
"server" => Socket.gethostname ,
|
34
|
+
"rails_root" => Rails.root,
|
35
|
+
"svn_version" => %x[ svnversion ],
|
36
|
+
"pid" => $$
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
def app_name
|
41
|
+
if Rails.respond_to?(:application)
|
42
|
+
Rails.application.class.name.split("::").shift
|
43
|
+
else
|
44
|
+
Rails.root.to_s.split("/")[-2]
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/kintone_notifier.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require "kintone_notifier/version"
|
2
|
+
require 'kintone_notifier/bot'
|
3
|
+
require 'kintone'
|
2
4
|
|
3
5
|
module KintoneNotifier
|
4
6
|
|
@@ -6,11 +8,12 @@ module KintoneNotifier
|
|
6
8
|
base.extend(ClassMethods)
|
7
9
|
base.class_eval do
|
8
10
|
include KintoneNotifier::InstanceMethods
|
9
|
-
|
11
|
+
if Rails.env.production?
|
10
12
|
rescue_from Exception, :with => :render_500
|
11
13
|
rescue_from ActiveRecord::RecordNotFound, :with => :render_404
|
12
14
|
rescue_from ActionController::RoutingError, :with => :render_404
|
13
|
-
|
15
|
+
rescue_from ActionView::MissingTemplate, :with => :render_404
|
16
|
+
end
|
14
17
|
helper_method :request_env_string
|
15
18
|
|
16
19
|
end
|
@@ -30,53 +33,6 @@ module KintoneNotifier
|
|
30
33
|
# :app_id => 1
|
31
34
|
# }
|
32
35
|
|
33
|
-
class Bot
|
34
|
-
|
35
|
-
def initialize(options={})
|
36
|
-
raise ArgumentError, "invalid argument. class configuration haven't been given." if @@config.blank?
|
37
|
-
@options = default_options.reverse_merge(default_options)
|
38
|
-
@api = Kintone::Api.new(@options["url"],@options["user"],@options["password"])
|
39
|
-
end
|
40
|
-
def tweet(values={})
|
41
|
-
@api.record.create(@options["app_id"],convert_hash(values.reverse_merge(default_values)))
|
42
|
-
end
|
43
|
-
|
44
|
-
def self.config=(h)
|
45
|
-
@@config = h
|
46
|
-
end
|
47
|
-
|
48
|
-
private
|
49
|
-
def convert_hash(h)
|
50
|
-
val = {}.tap do |_val|
|
51
|
-
h.each do |k,v|
|
52
|
-
_val.merge!(k => {"value" => v})
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def default_options
|
58
|
-
@@config.stringify_keys
|
59
|
-
end
|
60
|
-
|
61
|
-
def default_values
|
62
|
-
{
|
63
|
-
"app_name" => app_name,
|
64
|
-
"server" => Socket.gethostname ,
|
65
|
-
"rails_root" => Rails.root,
|
66
|
-
"svn_version" => %x[ svnversion ],
|
67
|
-
"pid" => $$
|
68
|
-
}
|
69
|
-
end
|
70
|
-
|
71
|
-
def app_name
|
72
|
-
if Rails.respond_to?(:application)
|
73
|
-
Rails.application.class.name.split("::").shift
|
74
|
-
else
|
75
|
-
Rails.root.to_s.split("/")[-2]
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
36
|
module ClassMethods
|
81
37
|
|
82
38
|
end
|
@@ -98,9 +54,11 @@ module KintoneNotifier
|
|
98
54
|
"remote_ip" => request.remote_ip,
|
99
55
|
"parameters" => request.filtered_parameters.inspect,
|
100
56
|
"exception_class_name" => exception.class.name,
|
101
|
-
"description" =>
|
57
|
+
"description" => exception.message,
|
58
|
+
"backtrace" => exception.backtrace.join("\r\n"),
|
102
59
|
"session" => session.inspect,
|
103
|
-
"environment" => request_env_string
|
60
|
+
"environment" => request_env_string,
|
61
|
+
"user_agent" => request.headers["HTTP_USER_AGENT"]
|
104
62
|
}
|
105
63
|
bot.tweet(notice)
|
106
64
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kintone_notifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fujimoto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
description:
|
55
|
+
description: You have to use as local gem
|
56
56
|
email:
|
57
57
|
- fujimoto@team-heartbeat.com
|
58
58
|
executables: []
|
@@ -66,6 +66,7 @@ files:
|
|
66
66
|
- Rakefile
|
67
67
|
- kintone_notifier.gemspec
|
68
68
|
- lib/kintone_notifier.rb
|
69
|
+
- lib/kintone_notifier/bot.rb
|
69
70
|
- lib/kintone_notifier/version.rb
|
70
71
|
homepage: ''
|
71
72
|
licenses:
|