monitorsys-tortoise 0.1.0 → 0.1.5

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: 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