billing 0.0.8a → 0.0.8

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
  SHA1:
3
- metadata.gz: 72e0f8705a8e02564bb5fe4c63c6983a8ccf537a
4
- data.tar.gz: 3862882f2315d1b8268af66f3ce9c02b188ebf7b
3
+ metadata.gz: 85a0bd23ac0ea7985a56a4a4ffb41890f30b290f
4
+ data.tar.gz: f5a71cf981e5bf73c36a797893bd81fcb112cb66
5
5
  SHA512:
6
- metadata.gz: 424e3fde6c0dd2685c5791a328a50a608f08bc226885521a3342cdadcb316211c78cc86f20249b9921e620fabe792f1e776049df4844e91f71c9bdfee25bac0c
7
- data.tar.gz: d7b7a374bd2b740b276e4b37cb5a2b3f803c4a5e43725ec8e14421ff9b9b72279ab737debfefbc8ccad93edd502dbe51b0b4d3b114bbcec3671ac74c937c062b
6
+ metadata.gz: e46daa7655ef8825493c364fee6104cc37b37ada9b0ade3ae7e761654abc6408af0f8e57d20da42525bd04c21c658d9a4d07a60a2d06d1cc963cb6ae2efcc882
7
+ data.tar.gz: caa0ec0e93301541458037bc462cb6054db3582e44269aeb3f8b64376ddb44d1a8e7ee1138dc16bc4cbaa2eb6d0aef3cf4ab9941fce4603ab1ca533442f91ea2
@@ -1,4 +1,69 @@
1
- require 'rescue/plugins/extface_lonely_device'
1
+ module Resque
2
+ module Plugins
3
+ module ExtfaceLonelyDevice
4
+ LOCK_TIMEOUT = 60 * 60 * 24 * 5 # 5 days
5
+
6
+ def lock_timeout
7
+ Time.now.to_i + LOCK_TIMEOUT + 1
8
+ end
9
+
10
+ def requeue_interval
11
+ self.instance_variable_get(:@requeue_interval) || 1
12
+ end
13
+
14
+ # Overwrite this method to uniquely identify which mutex should be used
15
+ # for a resque worker.
16
+ def redis_key(*args)
17
+ "extface_"
18
+ end
19
+
20
+ def can_lock_queue?(*args)
21
+ now = Time.now.to_i
22
+ key = redis_key(*args)
23
+ timeout = lock_timeout
24
+
25
+ # Per http://redis.io/commands/setnx
26
+ return true if Resque.redis.setnx(key, timeout)
27
+ return false if Resque.redis.get(key).to_i > now
28
+ return true if Resque.redis.getset(key, timeout).to_i <= now
29
+ return false
30
+ rescue ActiveRecord::RecordNotFound #redis_key exception
31
+ p "Not found!!!"
32
+ sleep 1
33
+ reenqueue(*args) #will stop if new redis_key exception
34
+ end
35
+
36
+ def unlock_queue(*args)
37
+ Resque.redis.del(redis_key(*args))
38
+ end
39
+
40
+ def reenqueue(*args)
41
+ Resque.enqueue_to(redis_key(*args), self, *args)
42
+ end
43
+
44
+ def before_perform(*args)
45
+ unless can_lock_queue?(*args)
46
+ # Sleep so the CPU's rest
47
+ sleep(requeue_interval)
48
+
49
+ # can't get the lock, so re-enqueue the task
50
+ reenqueue(*args)
51
+
52
+ # and don't perform
53
+ raise Resque::Job::DontPerform
54
+ end
55
+ end
56
+
57
+ def around_perform(*args)
58
+ begin
59
+ yield
60
+ ensure
61
+ unlock_queue(*args)
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
2
67
 
3
68
  module Billing
4
69
  class IssueFiscalDoc
@@ -1,4 +1,69 @@
1
- require 'rescue/plugins/extface_lonely_device'
1
+ module Resque
2
+ module Plugins
3
+ module ExtfaceLonelyDevice
4
+ LOCK_TIMEOUT = 60 * 60 * 24 * 5 # 5 days
5
+
6
+ def lock_timeout
7
+ Time.now.to_i + LOCK_TIMEOUT + 1
8
+ end
9
+
10
+ def requeue_interval
11
+ self.instance_variable_get(:@requeue_interval) || 1
12
+ end
13
+
14
+ # Overwrite this method to uniquely identify which mutex should be used
15
+ # for a resque worker.
16
+ def redis_key(*args)
17
+ "extface_"
18
+ end
19
+
20
+ def can_lock_queue?(*args)
21
+ now = Time.now.to_i
22
+ key = redis_key(*args)
23
+ timeout = lock_timeout
24
+
25
+ # Per http://redis.io/commands/setnx
26
+ return true if Resque.redis.setnx(key, timeout)
27
+ return false if Resque.redis.get(key).to_i > now
28
+ return true if Resque.redis.getset(key, timeout).to_i <= now
29
+ return false
30
+ rescue ActiveRecord::RecordNotFound #redis_key exception
31
+ p "Not found!!!"
32
+ sleep 1
33
+ reenqueue(*args) #will stop if new redis_key exception
34
+ end
35
+
36
+ def unlock_queue(*args)
37
+ Resque.redis.del(redis_key(*args))
38
+ end
39
+
40
+ def reenqueue(*args)
41
+ Resque.enqueue_to(redis_key(*args), self, *args)
42
+ end
43
+
44
+ def before_perform(*args)
45
+ unless can_lock_queue?(*args)
46
+ # Sleep so the CPU's rest
47
+ sleep(requeue_interval)
48
+
49
+ # can't get the lock, so re-enqueue the task
50
+ reenqueue(*args)
51
+
52
+ # and don't perform
53
+ raise Resque::Job::DontPerform
54
+ end
55
+ end
56
+
57
+ def around_perform(*args)
58
+ begin
59
+ yield
60
+ ensure
61
+ unlock_queue(*args)
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
2
67
 
3
68
  module Billing
4
69
  class IssuePrintDoc
@@ -22,11 +87,10 @@ module Billing
22
87
  bill.print_job.runtime do |s|
23
88
  return unless bill.printable?
24
89
  s.notify "Print Doc Start"
25
-
26
- s.print bill.origin.print_header
27
- s.print "\r\n ****** \r\n"
28
- s.print "#{bill.name}".truncate(30)
29
- s.print "\r\n------------------------------\r\n"
90
+ s.print "******************************\r\n*"
91
+ s.print "Bill ##{bill.number}".center(28)
92
+ s.print "*\r\n******************************\r\n"
93
+ s.print "------------------------------\r\n"
30
94
 
31
95
  bill.charges.each do |charge|
32
96
  s.print "#{charge.name.ljust(22)} #{charge.value.to_s.rjust(7)}\r\n"
@@ -38,10 +102,9 @@ module Billing
38
102
  # bill.payments.each do |payment|
39
103
  # s.print "#{payment.payment_type.name.humanize}\r\n"
40
104
  # end
41
-
42
- s.print " ****** \r\n"
43
- s.print bill.origin.print_footer
44
- s.print "\r\n------------------------------\r\n"
105
+
106
+ s.print "\r\n"
107
+ s.print "------------------------------\r\n"
45
108
  s.print Time.now.strftime("Printed on %m/%d/%Y %T\r\n").rjust(32)
46
109
  s.print "\r\n\r\n\r\n"
47
110
  s.notify "Print Doc End"
@@ -1,3 +1,3 @@
1
1
  module Billing
2
- VERSION = "0.0.8a"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: billing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8a
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Vangelov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-25 00:00:00.000000000 Z
11
+ date: 2016-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -177,13 +177,11 @@ files:
177
177
  - db/migrate/20150512040421_add_deleted_at_to_billing_report.rb
178
178
  - db/migrate/20160723160908_add_print_device_to_billing_origin.rb
179
179
  - db/migrate/20160723234233_add_print_job_to_billing_bill.rb
180
- - db/migrate/20160824235224_add_print_headers_to_billing_origin.rb
181
180
  - lib/billing.rb
182
181
  - lib/billing/billable.rb
183
182
  - lib/billing/engine.rb
184
183
  - lib/billing/version.rb
185
184
  - lib/collection_proxy_wild.rb
186
- - lib/rescue/plugins/extface_lonely_device.rb
187
185
  - lib/tasks/billing.rake
188
186
  - lib/tasks/billing_tasks.rake
189
187
  - test/billing_test.rb
@@ -268,9 +266,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
268
266
  version: '0'
269
267
  required_rubygems_version: !ruby/object:Gem::Requirement
270
268
  requirements:
271
- - - ">"
269
+ - - ">="
272
270
  - !ruby/object:Gem::Version
273
- version: 1.3.1
271
+ version: '0'
274
272
  requirements: []
275
273
  rubyforge_project:
276
274
  rubygems_version: 2.5.0
@@ -1,6 +0,0 @@
1
- class AddPrintHeadersToBillingOrigin < ActiveRecord::Migration
2
- def change
3
- add_column :billing_origins, :print_header, :string
4
- add_column :billing_origins, :print_footer, :string
5
- end
6
- end
@@ -1,67 +0,0 @@
1
- module Resque
2
- module Plugins
3
- module ExtfaceLonelyDevice
4
- LOCK_TIMEOUT = 60 * 60 * 24 * 5 # 5 days
5
-
6
- def lock_timeout
7
- Time.now.to_i + LOCK_TIMEOUT + 1
8
- end
9
-
10
- def requeue_interval
11
- self.instance_variable_get(:@requeue_interval) || 1
12
- end
13
-
14
- # Overwrite this method to uniquely identify which mutex should be used
15
- # for a resque worker.
16
- def redis_key(*args)
17
- "extface_"
18
- end
19
-
20
- def can_lock_queue?(*args)
21
- now = Time.now.to_i
22
- key = redis_key(*args)
23
- timeout = lock_timeout
24
-
25
- # Per http://redis.io/commands/setnx
26
- return true if Resque.redis.setnx(key, timeout)
27
- return false if Resque.redis.get(key).to_i > now
28
- return true if Resque.redis.getset(key, timeout).to_i <= now
29
- return false
30
- rescue ActiveRecord::RecordNotFound #redis_key exception
31
- p "Not found!!!"
32
- sleep 1
33
- reenqueue(*args) #will stop if new redis_key exception
34
- end
35
-
36
- def unlock_queue(*args)
37
- Resque.redis.del(redis_key(*args))
38
- end
39
-
40
- def reenqueue(*args)
41
- #Resque.enqueue_to(redis_key(*args), self, *args)
42
- Resque.redis.lpush("queue:#{Resque.queue_from_class(self)}", Resque.encode(class: self, args: args))
43
- end
44
-
45
- def before_perform(*args)
46
- unless can_lock_queue?(*args)
47
- # Sleep so the CPU's rest
48
- sleep(requeue_interval)
49
-
50
- # can't get the lock, so re-enqueue the task
51
- reenqueue(*args)
52
-
53
- # and don't perform
54
- raise Resque::Job::DontPerform
55
- end
56
- end
57
-
58
- def around_perform(*args)
59
- begin
60
- yield
61
- ensure
62
- unlock_queue(*args)
63
- end
64
- end
65
- end
66
- end
67
- end