monitorsys-tortoise 0.1.0 → 0.1.5

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: a22b515d2230d4ac946ff83c32959e1134c75fdc195d8f0cef84bdb996188094
4
- data.tar.gz: ca75ae43d89a6269ca8ac0b0c141f1c31d3560d44398f0829428fb5e0e5629be
3
+ metadata.gz: 1079cf5e3cd6de98df9188a924dc2a157273bfd3fa3d4e3953c9a5382d254b42
4
+ data.tar.gz: 4a8306c05e25dc68d751281591177012e3f04881e8be0eefd61e05a3f8a80515
5
5
  SHA512:
6
- metadata.gz: b8dd9736b5ae0aec278e9956ac467ac692b250807314653dcb20fb76dfda0a74a319d864752c60bc023109cbb73cd578bc9847791e191c9d2bd97ffea406da0b
7
- data.tar.gz: 5800935537a43d9018965d222565a6af0415626a7e48023cad1eab9c541d2a779789098e509ab820b33248b7d4b677d0a54c76df58afcd7484cbd11d320b2241
6
+ metadata.gz: d50e02385844a4d3e4feee61bdebcbba8cba5b8ba728408ecd0a3006399b673f3c6160f67eb765e097c4de93f37f895bc920c704520d7372d0139c2fdc39d4c1
7
+ data.tar.gz: 3e1d9ecd2fde55fa82332ebf8a8df1867e1f50005f5185cfaab8627d65ef9c485276b73543ea06f3c162243eb742e5d8997b9f6af4efe116e266a4ee0926da8f
data/.gitignore CHANGED
@@ -6,5 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
- /bin/setup
10
- tortoise_production
9
+ tortoise_production
10
+ *.gem
@@ -1,7 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tortoise (0.1.0)
4
+ monitorsys-tortoise (0.1.4)
5
+ activerecord
6
+ fileutils
7
+ honeybadger
8
+ listen
9
+ mini_cache
10
+ rake (~> 12.0)
11
+ rest-client
12
+ sqlite3
5
13
 
6
14
  GEM
7
15
  remote: https://rubygems.org/
@@ -63,10 +71,10 @@ DEPENDENCIES
63
71
  honeybadger
64
72
  listen
65
73
  mini_cache
74
+ monitorsys-tortoise!
66
75
  rake (~> 12.0)
67
76
  rest-client
68
77
  sqlite3
69
- tortoise!
70
78
 
71
79
  BUNDLED WITH
72
80
  2.1.4
@@ -1,10 +1,30 @@
1
1
  module Tortoise
2
2
  class UploadJob
3
- def perform(invoice_id, delay=0)
3
+ attr_reader :invoice_id
4
+
5
+ def initialize(invoice_id)
6
+ @invoice_id = invoice_id
7
+ end
8
+
9
+ def perform_now
10
+ process
11
+ end
12
+
13
+ def perform_in(delay=0)
4
14
  Thread.new do
5
15
  sleep delay
6
16
 
7
- invoice = Tortoise::Invoice.find(invoice_id)
17
+ process
18
+ end
19
+ end
20
+
21
+ def perform
22
+ perform_in
23
+ end
24
+
25
+ private
26
+
27
+ def process
8
28
  invoice.update(status: Invoice::STARTED)
9
29
 
10
30
  begin
@@ -19,12 +39,13 @@ module Tortoise
19
39
 
20
40
  invoice.update(status: Invoice::FAILED)
21
41
 
22
- UploadJob.new.perform(invoice.id, configuration.default_retry_time)
42
+ UploadJob.new(invoice.id).perform_in(configuration.default_retry_time)
23
43
  end
24
44
  end
25
- end
26
45
 
27
- private
46
+ def invoice
47
+ @invoice ||= Tortoise::Invoice.find(invoice_id)
48
+ end
28
49
 
29
50
  def api_helper
30
51
  @api_helper ||= Tortoise::ApiHelper.new
@@ -25,10 +25,15 @@ module Tortoise
25
25
  return cached_database unless cached_database.nil?
26
26
  return if public_informations_path.nil?
27
27
 
28
- response = RestClient.get(public_informations_path)
28
+ response = RestClient.get(
29
+ public_informations_path,
30
+ {
31
+ Authorization: "Bearer #{token}"
32
+ }
33
+ )
29
34
  cache.set(
30
35
  DATABASE_CACHE_KEY,
31
- JSON.parse(response.body)['licensa']['database'],
36
+ JSON.parse(response.body)['database'],
32
37
  expires_in: CACHE_EXPIRES
33
38
  )
34
39
  end
@@ -47,8 +52,6 @@ module Tortoise
47
52
  Authorization: "Bearer #{token}"
48
53
  }
49
54
  )
50
- rescue RestClient::Exception => e
51
- e.response
52
55
  end
53
56
 
54
57
  private
@@ -9,7 +9,7 @@ module Tortoise
9
9
  private
10
10
 
11
11
  def listener
12
- @listener ||= Listen.to(*directories) do |_m, added, _r|
12
+ @listener ||= Listen.to(*directories, latency: 5, wait_for_delay: 5) do |_m, added, _r|
13
13
  Tortoise::BulkLoader.load(added)
14
14
  end
15
15
  end
@@ -13,7 +13,7 @@ module Tortoise
13
13
  def load
14
14
  return if exists?
15
15
 
16
- Tortoise::UploadJob.new.perform(invoice.id)
16
+ Tortoise::UploadJob.new(invoice.id).perform_now
17
17
  end
18
18
 
19
19
  private
@@ -1,3 +1,3 @@
1
1
  module Tortoise
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -10,6 +10,15 @@ Gem::Specification.new do |spec|
10
10
  spec.homepage = 'http://monitorsys.com.br'
11
11
  spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
12
12
 
13
+ spec.add_dependency('rake', '~> 12.0')
14
+ spec.add_dependency('listen')
15
+ spec.add_dependency('rest-client')
16
+ spec.add_dependency('sqlite3')
17
+ spec.add_dependency('activerecord')
18
+ spec.add_dependency('fileutils')
19
+ spec.add_dependency('mini_cache')
20
+ spec.add_dependency('honeybadger')
21
+
13
22
  # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
14
23
 
15
24
  spec.metadata['homepage_uri'] = spec.homepage
metadata CHANGED
@@ -1,15 +1,127 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: monitorsys-tortoise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - João Mangilli
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-09 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2021-01-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '12.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '12.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: listen
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rest-client
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sqlite3
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
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: activerecord
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: fileutils
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
+ - !ruby/object:Gem::Dependency
98
+ name: mini_cache
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: honeybadger
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
13
125
  description:
14
126
  email:
15
127
  - joao-luis-mangilli@hotmail.com
@@ -22,7 +134,6 @@ files:
22
134
  - Gemfile.lock
23
135
  - README.md
24
136
  - Rakefile
25
- - bin/console
26
137
  - config/sqllite3.rb
27
138
  - lib/tasks/migrate.rake
28
139
  - lib/tortoise.rb
@@ -1,43 +0,0 @@
1
- require 'bundler/setup'
2
- require 'irb'
3
- require 'tortoise'
4
- require 'io/console'
5
-
6
- def get_response(answer, default: nil, password: false)
7
- puts "#{answer} (#{default || 'n/a'}): "
8
- chomp(password).presence || default
9
- end
10
-
11
- def chomp(password)
12
- password ? STDIN.noecho(&:gets).chomp : gets.chomp
13
- end
14
-
15
- def create_directory
16
- Tortoise::Directory.create!(folder_path: get_response('Digite o diretorio da pasta'))
17
-
18
- create_directory if get_response('Deseja cadastrar outro diretorio?(S/N)').to_s.upcase == 'S'
19
- end
20
-
21
- def create_configuration
22
- Tortoise::Configuration.create!(
23
- api_path: ENV['TORTOISE_API_PATH'].to_s.strip,
24
- token_path: ENV['TORTOISE_TOKEN_PATH'].to_s.strip,
25
- upload_path: ENV['TORTOISE_UPLOAD_PATH'].to_s.strip,
26
- public_informations_path: ENV['TORTOISE_PUBLIC_INFORMATIONS_PATH'].to_s.strip,
27
- user: get_response('Digite o usuario'),
28
- password: get_response('Digite a senha', password: true),
29
- retry_time: ENV['TORTOISE_RETRY_TIME'].to_s.strip,
30
- app_user: ENV['TORTOISE_APP_USER'].to_s.strip,
31
- app_password: ENV['TORTOISE_APP_PASSWORD'].to_s.strip
32
- )
33
-
34
- Tortoise::InitialLoader.new.load
35
- end
36
-
37
- create_directory unless Tortoise::Configuration.exists?
38
- create_configuration unless Tortoise::Configuration.exists?
39
-
40
- Tortoise::Listener.new.start
41
-
42
- # IRB.start(__FILE__)
43
- sleep