ecoportal-api 0.3.1 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60133e693723fd363c8c32e89e7f5b308522771573708b3bf7e2fdac9b2a108f
4
- data.tar.gz: 0eb957b5d9dbf62a67d34cf82e53d39f5eff3457c3dfffe7bd3180ec743b0830
3
+ metadata.gz: c843c0e60dae847a8d25dfa7ece7415800ab6db094542225ffc36be691b3475e
4
+ data.tar.gz: 7bdc9008eeacc38d6df779b0d553ab392ffb117816f1b849bd0b9831aa3ff43a
5
5
  SHA512:
6
- metadata.gz: 3e6a5f4ad981f35bc49d855e257b15c62876f305fb3cb3e969809ef50e6825a0437697222bdf8b8158e747e4d1d0dfd4065c8e60f7b7406515a983b37ec187ab
7
- data.tar.gz: ec50e3d7da8ddbd6487040efd30207eb87a9340d54442af1edd984acacec08c14d9ffcf2e4751b7b0fa3bd46102600af742569c05647022eaf2eb9730d829661
6
+ metadata.gz: c5d8a9cc96bd7dac8644e216109c94a28e46baf4d2c1decef356bdd11b5e78cfd96c50108bbfe8647e7318c8bbef76eeed3f1595e804395b8c11303b32c09f51
7
+ data.tar.gz: 269031a257355f64b6ee725b12e4a7d118f8a9f29308701fb4ddecfa2b05f03a2d9c4a2bb6e85cab31f64f30a8c941de587c6b2de2b82bc69c207dab3ff5e310
@@ -8,6 +8,7 @@ module Ecoportal
8
8
  end
9
9
  end
10
10
 
11
+ require "ecoportal/api/logger"
11
12
  require "ecoportal/api/common"
12
13
  require "ecoportal/api/v1"
13
14
  require "ecoportal/api/internal"
@@ -72,21 +72,15 @@ module Ecoportal
72
72
 
73
73
  def instrument(method, path, data = nil)
74
74
  start_time = Time.now.to_f
75
- log :info do
76
- "GET #{url_for(path)}"
77
- end
78
- JSON.pretty_generate(data).lines.each.with_index do |line, index|
79
- line = "Data: " + line if index.zero?
80
- log(:info) { line.chomp }
81
- end
75
+ log(:info) { "#{method} #{url_for(path)}" }
76
+ log(:debug) { "Data: #{JSON.pretty_generate(data)}" }
82
77
  yield.tap do |result|
83
78
  end_time = Time.now.to_f
84
- log :info do
79
+ log(result.success?? :info : :warn) do
85
80
  "Took %.2fs, Status #{result.status}" % (end_time - start_time)
86
81
  end
87
- JSON.pretty_generate(result.body).lines.each.with_index do |line, index|
88
- line = "Response: " + line if index.zero?
89
- log(:debug) { line.chomp }
82
+ log(result.success?? :debug : :warn) do
83
+ "Response: #{JSON.pretty_generate(result.body)}"
90
84
  end
91
85
  end
92
86
  end
@@ -4,12 +4,7 @@ module Ecoportal
4
4
  module Logging
5
5
  private
6
6
  def default_logger
7
- Logger.new(STDOUT).tap do |_logger|
8
- _logger.formatter = proc do |severity, datetime, progname, msg|
9
- "#{severity.to_s[0]}: #{datetime.strftime("%Y-%m-%d %H:%M:%S")} > #{msg}\n"
10
- end
11
- _logger.level = Logger::DEBUG
12
- end
7
+ Ecoportal::API::Logger.new
13
8
  end
14
9
  end
15
10
  end
@@ -2,7 +2,7 @@ module Ecoportal
2
2
  module API
3
3
  class Internal
4
4
  class Account < Common::BaseModel
5
- passthrough :policy_group_ids, :landing_page_id, :permissions_preset, :permissions_custom, :preferences, :prefilter, :filter_tags, :login_provider_ids, :starred_ids, :accept_eula, :send_invites, to: :doc
5
+ passthrough :policy_group_ids, :landing_page_id, :permissions_preset, :permissions_custom, :preferences, :prefilter, :filter_tags, :login_provider_ids, :starred_ids, :accept_eula, :send_invites, :default_tag, to: :doc
6
6
 
7
7
  VALID_TAG_REGEX = /^[A-Za-z0-9 &_'\/-]+$/
8
8
 
@@ -0,0 +1,62 @@
1
+ module Ecoportal
2
+ module API
3
+ class Logger
4
+ TIMESTAMP_PATTERN = "%Y-%m-%dT%H:%M:%S"
5
+ STDOUT_FORMAT_PROC = proc do |severity, datetime, progname, msg|
6
+ prefix = "%5s > " % severity
7
+ msg.lines.map.with_index do |line, idx|
8
+ if idx.zero?
9
+ prefix + line.chomp
10
+ else
11
+ " "*prefix.length + line.chomp
12
+ end
13
+ end.join("\n")+"\n"
14
+ end
15
+ FILE_FORMAT_PROC = proc do |severity, datetime, progname, msg|
16
+ prefix = "%5s(%s) > " % [severity, datetime.strftime(TIMESTAMP_PATTERN)]
17
+ msg.lines.map.with_index do |line, idx|
18
+ if idx.zero?
19
+ prefix + line.chomp
20
+ else
21
+ " "*prefix.length + line.chomp
22
+ end
23
+ end.join("\n")+"\n"
24
+ end
25
+
26
+ attr_reader :console, :file
27
+
28
+ def initialize(
29
+ console_level: ::Logger::INFO,
30
+ file_level: ::Logger::DEBUG,
31
+ output_file: File.join(Dir.getwd, "API_Log-#{Time.now.strftime(TIMESTAMP_PATTERN)}.txt")
32
+ )
33
+ @console = make_stdout_logger(console_level)
34
+ @file = make_file_logger(file_level, output_file)
35
+ end
36
+
37
+ %w(unknown fatal error warn info debug).each do |type|
38
+ define_method(type) do |&block|
39
+ @console.send(type, &block)
40
+ @file&.send(type, &block)
41
+ end
42
+ end
43
+
44
+ private
45
+
46
+ def make_stdout_logger(level)
47
+ ::Logger.new(STDOUT).tap do |logger|
48
+ logger.formatter = STDOUT_FORMAT_PROC
49
+ logger.level = level
50
+ end
51
+ end
52
+
53
+ def make_file_logger(level, output_file)
54
+ return unless output_file
55
+ ::Logger.new(File.open(output_file, "a")).tap do |logger|
56
+ logger.formatter = FILE_FORMAT_PROC
57
+ logger.level = level
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- VERSION = "0.3.1"
3
+ VERSION = "0.3.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecoportal-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tapio Saarinen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-03 00:00:00.000000000 Z
11
+ date: 2018-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -125,6 +125,7 @@ files:
125
125
  - lib/ecoportal/api/internal/preferences.rb
126
126
  - lib/ecoportal/api/internal/schema_field.rb
127
127
  - lib/ecoportal/api/internal/schema_field_value.rb
128
+ - lib/ecoportal/api/logger.rb
128
129
  - lib/ecoportal/api/v1.rb
129
130
  - lib/ecoportal/api/v1/.git-keep
130
131
  - lib/ecoportal/api/v1/people.rb