ecoportal-api 0.3.1 → 0.3.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 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