Module: QBWC
- Defined in:
- lib/qbwc.rb,
lib/qbwc/worker.rb,
lib/qbwc/railtie.rb,
lib/qbwc/version.rb,
lib/qbwc/controller.rb,
lib/qbwc/active_record.rb,
lib/generators/qbwc/install/install_generator.rb
Defined Under Namespace
Modules: ActiveRecord, Controller, Generators
Classes: Job, Railtie, Request, Session, Worker
Constant Summary
collapse
- VERSION =
"1.0.0"
- @@username =
nil
- @@password =
nil
- @@company_file_path =
""
- @@authenticator =
nil
- @@min_version =
"3.0"
- @@api =
:qb
- @@storage =
:active_record
- @@support_site_url =
nil
- @@owner_id =
'{57F3B9B1-86F1-4fcc-B1EE-566DE1813D20}'
- @@minutes_to_run =
nil
- @@session_initializer =
nil
- @@session_complete_success =
nil
- @@on_error =
'stopOnError'
- @@logger =
Rails.logger
- @@log_requests_and_responses =
Rails.env == 'production' ? false : true
Class Method Summary
collapse
Class Method Details
.add_job(name, enabled = true, company = nil, klass = QBWC::Worker, requests = nil, data = nil) ⇒ Object
83
84
85
|
# File 'lib/qbwc.rb', line 83
def add_job(name, enabled = true, company = nil, klass = QBWC::Worker, requests = nil, data = nil)
storage_module::Job.add_job(name, enabled, company, klass, requests, data)
end
|
.api=(api) ⇒ Object
118
119
120
121
|
# File 'lib/qbwc.rb', line 118
def api=(api)
raise 'Quickbooks type must be :qb or :qbpos' unless [:qb, :qbpos].include?(api)
@@api = api
end
|
.clear_jobs ⇒ Object
132
133
134
|
# File 'lib/qbwc.rb', line 132
def clear_jobs
storage_module::Job.clear_jobs
end
|
Allow configuration overrides
128
129
130
|
# File 'lib/qbwc.rb', line 128
def configure
yield self
end
|
.delete_job(object_or_name) ⇒ Object
91
92
93
94
|
# File 'lib/qbwc.rb', line 91
def delete_job(object_or_name)
name = (object_or_name.is_a?(Job) ? object_or_name.name : object_or_name)
storage_module::Job.delete_job_with_name(name)
end
|
.get_job(name) ⇒ Object
87
88
89
|
# File 'lib/qbwc.rb', line 87
def get_job(name)
storage_module::Job.find_job_with_name(name)
end
|
.jobs ⇒ Object
79
80
81
|
# File 'lib/qbwc.rb', line 79
def jobs
storage_module::Job.list_jobs
end
|
.on_error=(reaction) ⇒ Object
112
113
114
115
116
|
# File 'lib/qbwc.rb', line 112
def on_error=(reaction)
raise 'Quickbooks on_error must be :stop or :continue' unless [:stop, :continue].include?(reaction)
@@on_error = "stopOnError" if reaction == :stop
@@on_error = "continueOnError" if reaction == :continue
end
|
.parser ⇒ Object
123
124
125
|
# File 'lib/qbwc.rb', line 123
def parser
@@parser ||= Qbxml.new(api, min_version)
end
|
.pending_jobs(company, session = QBWC::Session.get) ⇒ Object
96
97
98
99
100
|
# File 'lib/qbwc.rb', line 96
def pending_jobs(company, session = QBWC::Session.get)
js = jobs
QBWC.logger.info "#{js.length} jobs exist, checking for pending jobs for company '#{company}'."
storage_module::Job.sort_in_time_order(js.select {|job| job.company == company && job.pending?(session)})
end
|
.set_session_complete_success(&block) ⇒ Object
107
108
109
110
|
# File 'lib/qbwc.rb', line 107
def set_session_complete_success(&block)
@@session_complete_success = block
self
end
|
.set_session_initializer(&block) ⇒ Object
102
103
104
105
|
# File 'lib/qbwc.rb', line 102
def set_session_initializer(&block)
@@session_initializer = block
self
end
|
.storage_module ⇒ Object
75
76
77
|
# File 'lib/qbwc.rb', line 75
def storage_module
const_get storage.to_s.camelize
end
|