smartkiosk-client 0.0.28 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/app/models/group.rb CHANGED
@@ -8,12 +8,6 @@ class Group < ActiveRecord::Base
8
8
 
9
9
  mount_uploader :icon, IconUploader
10
10
 
11
- attr_accessor :foreign_id
12
-
13
- before_create do
14
- self.id = self.foreign_id unless foreign_id.blank?
15
- end
16
-
17
11
  after_save do
18
12
  Terminal.modified_at = DateTime.now
19
13
  end
@@ -123,10 +123,7 @@ class Terminal
123
123
  :banknotes => Payment.merge_banknotes(Payment.uncollected),
124
124
  :cash => Payment.merge_cash(Payment.uncollected.cash),
125
125
  :cashless => Payment.merge_cash(Payment.uncollected.cashless),
126
- :providers => {
127
- :updated_at => Terminal.providers_updated_at,
128
- :ids => Provider.select(:foreign_id).map{|x| x.foreign_id} || []
129
- },
126
+ :providers_updated_at => Terminal.providers_updated_at,
130
127
  :queues => {
131
128
  :payments => Sidekiq::Queue.new('payments').size,
132
129
  :pings => Sidekiq::Queue.new('pings').size,
@@ -71,119 +71,7 @@ class PingWorker
71
71
  order.perform
72
72
  end
73
73
 
74
- #
75
- # PROVIDERS
76
- #
77
- unless response[:providers].blank?
78
- syncs = []
79
-
80
- Provider.transaction do
81
- #
82
- # GROUPS
83
- #
84
- unless response[:providers][:groups].nil?
85
- remote = response[:providers][:groups]
86
- remote_ids = response[:providers][:groups].map{|x| x[:id]}
87
- local = Group.all
88
-
89
- local.select{|x| !remote_ids.include?(x.id)}.each do |x|
90
- Sidekiq::Logging.logger.info "Group removal: ##{x.id}, #{x.title}"
91
- x.destroy
92
- end
93
-
94
- remote.each do |r|
95
- entry = local.find{|x| x.id == r[:id]}
96
- entry ||= Group.new :foreign_id => r[:id]
97
-
98
- entry.title = r[:title]
99
- entry.priority = r[:priority]
100
- entry.group_id = r[:parent_id]
101
-
102
- Sidekiq::Logging.logger.info "Group replace: #{entry.title}"
103
-
104
- entry.save!
105
-
106
- unless r[:icon].blank?
107
- syncs << ['Group', entry.id, r[:icon]]
108
- end
109
- end
110
- end
111
-
112
- #
113
- # PROVIDERS REMOVAL
114
- #
115
- unless response[:providers][:remove].blank?
116
- Sidekiq::Logging.logger.info "Providers removal: #{response[:providers][:remove]}"
117
- Provider.where(:foreign_id => response[:providers][:remove]).destroy_all
118
- end
119
-
120
- #
121
- # PROVIDERS UPDATES
122
- #
123
- unless response[:providers][:updated_at].blank?
124
- response[:providers][:update].each do |provider|
125
- local = Provider.find_or_initialize_by_foreign_id(provider[:id])
126
-
127
- attributes = {
128
- :title => provider[:title],
129
- :keyword => provider[:keyword],
130
- :priority => provider[:priority],
131
- :fields => provider[:fields],
132
- :group_id => provider[:group_id],
133
- :requires_print => provider[:requires_print]
134
- }
135
-
136
- if provider[:icon].blank?
137
- attributes[:icon] = nil
138
- end
139
-
140
- local.assign_attributes attributes
141
-
142
- Sidekiq::Logging.logger.info "Provider replace: #{local.keyword}"
143
-
144
- local.save!
145
-
146
- unless provider[:icon].blank?
147
- syncs << ['Provider', local.id, provider[:icon]]
148
- end
149
- end
150
- end
151
-
152
- #
153
- # PROMOTIONS
154
- #
155
- unless response[:providers][:promotions].nil?
156
- providers = Provider.to_hash(:foreign_id, response[:providers][:promotions], :invert => true)
157
- remote = response[:providers][:promotions].map{|x| providers[x]}.compact
158
- local = Promotion.all
159
-
160
- local.select{|x| !remote.include?(x.provider_id)}.each do |x|
161
- Sidekiq::Logging.logger.info "Promotion removal: #{x.provider_id}"
162
- x.destroy
163
- end
164
-
165
- remote.each_with_index do |r, i|
166
- entry = local.find{|x| x.provider_id == r}
167
- entry ||= Promotion.new :provider_id => r
168
-
169
- Sidekiq::Logging.logger.info "Promotion replace: #{r}"
170
-
171
- entry.priority = i
172
- entry.save!
173
- end
174
- end
175
- end
176
-
177
- unless response[:providers][:updated_at].blank?
178
- Terminal.providers_updated_at = response[:providers][:updated_at]
179
- end
180
-
181
- Sidekiq::Logging.logger.info "Icons to sync: #{syncs}"
182
-
183
- syncs.each do |args|
184
- Sync::IconsWorker.perform_async *args
185
- end
186
- end
74
+ Sync::ProvidersWorker.perform_async if response[:update_providers]
187
75
  end
188
76
  rescue Timeout::Error => e
189
77
  Sidekiq::Logging.logger.warn "Semaphore timeout. #{e.to_s}"
@@ -0,0 +1,95 @@
1
+ require 'rest-client'
2
+
3
+ module Sync
4
+ class ProvidersWorker
5
+ include Sidekiq::Worker
6
+
7
+ sidekiq_options :retry => false, :queue => :sync
8
+
9
+ SEMAPHORE = ConnectionPool.new(:size => 1, :timeout => 5) { true }
10
+
11
+ def perform
12
+ SEMAPHORE.with do |glory|
13
+
14
+ syncs = []
15
+
16
+ Sidekiq::Logging.logger.info "Requesting providers"
17
+
18
+ begin
19
+ providers = RestClient::Request.execute(
20
+ :method => :get,
21
+ :url => "#{Terminal.config.host}/terminal_pings/providers",
22
+ :timeout => 40,
23
+ :open_timeout => 60,
24
+ :headers => {
25
+ :params => {
26
+ :terminal => Terminal.keyword
27
+ }
28
+ }
29
+ )
30
+ rescue Exception => e
31
+ Sidekiq::Logging.logger.warn e.to_s
32
+ return
33
+ end
34
+
35
+ begin
36
+ providers = JSON.parse(ActiveSupport::Gzip.decompress(providers.to_s), :symbolize_names => true)
37
+ rescue Exception => e
38
+ Sidekiq::Logging.logger.warn "Unable to parse providers JSON: #{e.to_s}"
39
+ return
40
+ end
41
+
42
+ return if !Terminal.providers_updated_at.nil? && Terminal.providers_updated_at >= providers[:updated_at]
43
+
44
+ ActiveRecord::Base.transaction do
45
+ Promotion.destroy_all
46
+ Provider.destroy_all
47
+ Group.destroy_all
48
+
49
+ providers[:groups].each do |r|
50
+ local = Group.new
51
+ local.id = r[:id]
52
+ local.title = r[:title]
53
+ local.priority = r[:priority]
54
+ local.group_id = r[:parent_id]
55
+ local.save!
56
+
57
+ unless r[:icon].blank?
58
+ syncs << ['Group', local.id, r[:icon]]
59
+ end
60
+ end
61
+
62
+ providers[:providers].each do |r|
63
+ icon = r.delete :icon
64
+
65
+ local = Provider.new
66
+ local.id = r.delete :id
67
+ local.attributes = r
68
+ local.save!
69
+
70
+ unless icon.blank?
71
+ syncs << ['Provider', local.id, icon]
72
+ end
73
+ end
74
+
75
+ providers[:promotions].each_with_index do |r, i|
76
+ Promotion.create(
77
+ :provider_id => r,
78
+ :priority => i
79
+ )
80
+ end
81
+ end
82
+
83
+ Terminal.providers_updated_at = providers[:updated_at]
84
+ Sidekiq::Logging.logger.info "Providers updated. Timestamp: #{providers[:updated_at]}"
85
+ Sidekiq::Logging.logger.info "Icons to sync: #{syncs}"
86
+
87
+ syncs.each do |args|
88
+ Sync::IconsWorker.perform_async *args
89
+ end
90
+ end
91
+ rescue Timeout::Error => e
92
+ Sidekiq::Logging.logger.warn "Semaphore timeout. #{e.to_s}"
93
+ end
94
+ end
95
+ end
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  smartguard_host: druby://localhost:10000
3
3
  keyword: LOCAL
4
- host: http://admin.smartkiosk-mkb.rdlk.biz
4
+ host: http://localhost:3000
@@ -1,8 +1,6 @@
1
1
  class CreateProviders < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :providers do |t|
4
- t.integer :foreign_id
5
-
6
4
  t.belongs_to :group
7
5
  t.string :keyword
8
6
  t.string :title
@@ -13,7 +11,5 @@ class CreateProviders < ActiveRecord::Migration
13
11
  t.boolean :requires_print, :null => false, :default => false
14
12
  t.timestamps
15
13
  end
16
-
17
- add_index :providers, :foreign_id, :unique => true
18
14
  end
19
15
  end
@@ -2,6 +2,6 @@ require 'sinatra/base'
2
2
 
3
3
  module Smartkiosk
4
4
  class Client < Sinatra::Base
5
- VERSION = '0.0.28'
5
+ VERSION = '0.1.0'
6
6
  end
7
7
  end
@@ -8,7 +8,7 @@ task :schedule do
8
8
  Smartkiosk::Common::Logging.format "Scheduler", severity, time, progname, msg
9
9
  end
10
10
 
11
- scheduler.every '1m' do
11
+ scheduler.every '1m', :first_in => '1s' do
12
12
  logger.debug "Terminal ping"
13
13
  Terminal.ping
14
14
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartkiosk-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.28
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-02-04 00:00:00.000000000 Z
13
+ date: 2013-02-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
17
- requirement: &70294628478700 !ruby/object:Gem::Requirement
17
+ requirement: &70131772212080 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - =
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 10.0.3
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70294628478700
25
+ version_requirements: *70131772212080
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: thin
28
- requirement: &70294628478040 !ruby/object:Gem::Requirement
28
+ requirement: &70131772211560 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - =
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.5.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70294628478040
36
+ version_requirements: *70131772211560
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: sinatra
39
- requirement: &70294628477500 !ruby/object:Gem::Requirement
39
+ requirement: &70131772211060 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - =
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.3.4
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70294628477500
47
+ version_requirements: *70131772211060
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: sinatra-activerecord
50
- requirement: &70294628476960 !ruby/object:Gem::Requirement
50
+ requirement: &70131772210560 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - =
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 1.2.1
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70294628476960
58
+ version_requirements: *70131772210560
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: sinatra-contrib
61
- requirement: &70294628476400 !ruby/object:Gem::Requirement
61
+ requirement: &70131772210080 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - =
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 1.3.2
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *70294628476400
69
+ version_requirements: *70131772210080
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: haml
72
- requirement: &70294628475840 !ruby/object:Gem::Requirement
72
+ requirement: &70131772209540 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - =
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 3.1.7
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *70294628475840
80
+ version_requirements: *70131772209540
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: sass
83
- requirement: &70294628475260 !ruby/object:Gem::Requirement
83
+ requirement: &70131772209060 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - =
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 3.2.5
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *70294628475260
91
+ version_requirements: *70131772209060
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: sprockets
94
- requirement: &70294628474720 !ruby/object:Gem::Requirement
94
+ requirement: &70131772224940 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - =
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 2.8.2
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *70294628474720
102
+ version_requirements: *70131772224940
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: sprockets-sass
105
- requirement: &70294628474180 !ruby/object:Gem::Requirement
105
+ requirement: &70131772224380 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - =
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 0.9.1
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *70294628474180
113
+ version_requirements: *70131772224380
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: sprockets-helpers
116
- requirement: &70294628473600 !ruby/object:Gem::Requirement
116
+ requirement: &70131772223900 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - =
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 0.8.0
122
122
  type: :runtime
123
123
  prerelease: false
124
- version_requirements: *70294628473600
124
+ version_requirements: *70131772223900
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: trollop
127
- requirement: &70294628473060 !ruby/object:Gem::Requirement
127
+ requirement: &70131772223440 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - =
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '2.0'
133
133
  type: :runtime
134
134
  prerelease: false
135
- version_requirements: *70294628473060
135
+ version_requirements: *70131772223440
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: eventmachine
138
- requirement: &70294628472480 !ruby/object:Gem::Requirement
138
+ requirement: &70131772222980 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - =
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: 1.0.0
144
144
  type: :runtime
145
145
  prerelease: false
146
- version_requirements: *70294628472480
146
+ version_requirements: *70131772222980
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: em-websocket
149
- requirement: &70294628488300 !ruby/object:Gem::Requirement
149
+ requirement: &70131772222520 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - =
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: 0.4.0
155
155
  type: :runtime
156
156
  prerelease: false
157
- version_requirements: *70294628488300
157
+ version_requirements: *70131772222520
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: activesupport
160
- requirement: &70294628487760 !ruby/object:Gem::Requirement
160
+ requirement: &70131772222060 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - =
@@ -165,10 +165,10 @@ dependencies:
165
165
  version: 3.2.11
166
166
  type: :runtime
167
167
  prerelease: false
168
- version_requirements: *70294628487760
168
+ version_requirements: *70131772222060
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: smartkiosk-common
171
- requirement: &70294628487180 !ruby/object:Gem::Requirement
171
+ requirement: &70131772221560 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
174
  - - =
@@ -176,10 +176,10 @@ dependencies:
176
176
  version: 0.0.2
177
177
  type: :runtime
178
178
  prerelease: false
179
- version_requirements: *70294628487180
179
+ version_requirements: *70131772221560
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: sqlite3
182
- requirement: &70294628486600 !ruby/object:Gem::Requirement
182
+ requirement: &70131772221080 !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
185
185
  - - =
@@ -187,10 +187,10 @@ dependencies:
187
187
  version: 1.3.6
188
188
  type: :runtime
189
189
  prerelease: false
190
- version_requirements: *70294628486600
190
+ version_requirements: *70131772221080
191
191
  - !ruby/object:Gem::Dependency
192
192
  name: pg
193
- requirement: &70294628486060 !ruby/object:Gem::Requirement
193
+ requirement: &70131772220600 !ruby/object:Gem::Requirement
194
194
  none: false
195
195
  requirements:
196
196
  - - =
@@ -198,10 +198,10 @@ dependencies:
198
198
  version: 0.14.1
199
199
  type: :runtime
200
200
  prerelease: false
201
- version_requirements: *70294628486060
201
+ version_requirements: *70131772220600
202
202
  - !ruby/object:Gem::Dependency
203
203
  name: redis
204
- requirement: &70294628485520 !ruby/object:Gem::Requirement
204
+ requirement: &70131772220120 !ruby/object:Gem::Requirement
205
205
  none: false
206
206
  requirements:
207
207
  - - =
@@ -209,10 +209,10 @@ dependencies:
209
209
  version: 3.0.2
210
210
  type: :runtime
211
211
  prerelease: false
212
- version_requirements: *70294628485520
212
+ version_requirements: *70131772220120
213
213
  - !ruby/object:Gem::Dependency
214
214
  name: redis-objects
215
- requirement: &70294628484960 !ruby/object:Gem::Requirement
215
+ requirement: &70131772219620 !ruby/object:Gem::Requirement
216
216
  none: false
217
217
  requirements:
218
218
  - - =
@@ -220,10 +220,10 @@ dependencies:
220
220
  version: 0.6.1
221
221
  type: :runtime
222
222
  prerelease: false
223
- version_requirements: *70294628484960
223
+ version_requirements: *70131772219620
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: carrierwave
226
- requirement: &70294628484240 !ruby/object:Gem::Requirement
226
+ requirement: &70131772219140 !ruby/object:Gem::Requirement
227
227
  none: false
228
228
  requirements:
229
229
  - - =
@@ -231,10 +231,10 @@ dependencies:
231
231
  version: 0.7.1
232
232
  type: :runtime
233
233
  prerelease: false
234
- version_requirements: *70294628484240
234
+ version_requirements: *70131772219140
235
235
  - !ruby/object:Gem::Dependency
236
236
  name: rest-client
237
- requirement: &70294628483700 !ruby/object:Gem::Requirement
237
+ requirement: &70131772218680 !ruby/object:Gem::Requirement
238
238
  none: false
239
239
  requirements:
240
240
  - - =
@@ -242,10 +242,10 @@ dependencies:
242
242
  version: 1.6.7
243
243
  type: :runtime
244
244
  prerelease: false
245
- version_requirements: *70294628483700
245
+ version_requirements: *70131772218680
246
246
  - !ruby/object:Gem::Dependency
247
247
  name: recursive-open-struct
248
- requirement: &70294628483160 !ruby/object:Gem::Requirement
248
+ requirement: &70131772218200 !ruby/object:Gem::Requirement
249
249
  none: false
250
250
  requirements:
251
251
  - - =
@@ -253,10 +253,10 @@ dependencies:
253
253
  version: 0.2.1
254
254
  type: :runtime
255
255
  prerelease: false
256
- version_requirements: *70294628483160
256
+ version_requirements: *70131772218200
257
257
  - !ruby/object:Gem::Dependency
258
258
  name: liquid
259
- requirement: &70294628482580 !ruby/object:Gem::Requirement
259
+ requirement: &70131772217740 !ruby/object:Gem::Requirement
260
260
  none: false
261
261
  requirements:
262
262
  - - =
@@ -264,10 +264,10 @@ dependencies:
264
264
  version: 2.4.1
265
265
  type: :runtime
266
266
  prerelease: false
267
- version_requirements: *70294628482580
267
+ version_requirements: *70131772217740
268
268
  - !ruby/object:Gem::Dependency
269
269
  name: file-tail
270
- requirement: &70294628482000 !ruby/object:Gem::Requirement
270
+ requirement: &70131772217260 !ruby/object:Gem::Requirement
271
271
  none: false
272
272
  requirements:
273
273
  - - =
@@ -275,10 +275,10 @@ dependencies:
275
275
  version: 1.0.12
276
276
  type: :runtime
277
277
  prerelease: false
278
- version_requirements: *70294628482000
278
+ version_requirements: *70131772217260
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: rubyzip
281
- requirement: &70294628481460 !ruby/object:Gem::Requirement
281
+ requirement: &70131772233140 !ruby/object:Gem::Requirement
282
282
  none: false
283
283
  requirements:
284
284
  - - =
@@ -286,10 +286,10 @@ dependencies:
286
286
  version: 0.9.9
287
287
  type: :runtime
288
288
  prerelease: false
289
- version_requirements: *70294628481460
289
+ version_requirements: *70131772233140
290
290
  - !ruby/object:Gem::Dependency
291
291
  name: pry
292
- requirement: &70294628480920 !ruby/object:Gem::Requirement
292
+ requirement: &70131772232660 !ruby/object:Gem::Requirement
293
293
  none: false
294
294
  requirements:
295
295
  - - =
@@ -297,10 +297,10 @@ dependencies:
297
297
  version: 0.9.10
298
298
  type: :runtime
299
299
  prerelease: false
300
- version_requirements: *70294628480920
300
+ version_requirements: *70131772232660
301
301
  - !ruby/object:Gem::Dependency
302
302
  name: smartware
303
- requirement: &70294628480360 !ruby/object:Gem::Requirement
303
+ requirement: &70131772232200 !ruby/object:Gem::Requirement
304
304
  none: false
305
305
  requirements:
306
306
  - - =
@@ -308,10 +308,10 @@ dependencies:
308
308
  version: 0.4.3
309
309
  type: :runtime
310
310
  prerelease: false
311
- version_requirements: *70294628480360
311
+ version_requirements: *70131772232200
312
312
  - !ruby/object:Gem::Dependency
313
313
  name: smartguard
314
- requirement: &70294628496180 !ruby/object:Gem::Requirement
314
+ requirement: &70131772231740 !ruby/object:Gem::Requirement
315
315
  none: false
316
316
  requirements:
317
317
  - - =
@@ -319,10 +319,10 @@ dependencies:
319
319
  version: 0.4.2
320
320
  type: :runtime
321
321
  prerelease: false
322
- version_requirements: *70294628496180
322
+ version_requirements: *70131772231740
323
323
  - !ruby/object:Gem::Dependency
324
324
  name: sidekiq
325
- requirement: &70294628495600 !ruby/object:Gem::Requirement
325
+ requirement: &70131772231280 !ruby/object:Gem::Requirement
326
326
  none: false
327
327
  requirements:
328
328
  - - =
@@ -330,10 +330,10 @@ dependencies:
330
330
  version: 2.6.5
331
331
  type: :runtime
332
332
  prerelease: false
333
- version_requirements: *70294628495600
333
+ version_requirements: *70131772231280
334
334
  - !ruby/object:Gem::Dependency
335
335
  name: slim
336
- requirement: &70294628494940 !ruby/object:Gem::Requirement
336
+ requirement: &70131772230820 !ruby/object:Gem::Requirement
337
337
  none: false
338
338
  requirements:
339
339
  - - =
@@ -341,10 +341,10 @@ dependencies:
341
341
  version: 1.3.4
342
342
  type: :runtime
343
343
  prerelease: false
344
- version_requirements: *70294628494940
344
+ version_requirements: *70131772230820
345
345
  - !ruby/object:Gem::Dependency
346
346
  name: rufus-scheduler
347
- requirement: &70294628494360 !ruby/object:Gem::Requirement
347
+ requirement: &70131772230340 !ruby/object:Gem::Requirement
348
348
  none: false
349
349
  requirements:
350
350
  - - =
@@ -352,7 +352,7 @@ dependencies:
352
352
  version: 2.0.17
353
353
  type: :runtime
354
354
  prerelease: false
355
- version_requirements: *70294628494360
355
+ version_requirements: *70131772230340
356
356
  description: Smartkiosk client application
357
357
  email:
358
358
  - boris@roundlake.ru
@@ -400,6 +400,7 @@ files:
400
400
  - app/workers/ping_worker.rb
401
401
  - app/workers/sync/icons_worker.rb
402
402
  - app/workers/sync/logo_worker.rb
403
+ - app/workers/sync/providers_worker.rb
403
404
  - app/workers/sync/receipt_templates_worker.rb
404
405
  - bin/smartkiosk-client
405
406
  - config/boot.rb
@@ -452,7 +453,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
452
453
  version: '0'
453
454
  segments:
454
455
  - 0
455
- hash: 3470652070384770257
456
+ hash: 3757028692139081415
456
457
  required_rubygems_version: !ruby/object:Gem::Requirement
457
458
  none: false
458
459
  requirements:
@@ -461,7 +462,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
461
462
  version: '0'
462
463
  segments:
463
464
  - 0
464
- hash: 3470652070384770257
465
+ hash: 3757028692139081415
465
466
  requirements: []
466
467
  rubyforge_project:
467
468
  rubygems_version: 1.8.15