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 =
"0.1.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
- @@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
79
80
81
|
# File 'lib/qbwc.rb', line 79
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
109
110
111
112
|
# File 'lib/qbwc.rb', line 109
def api=(api)
raise 'Quickbooks type must be :qb or :qbpos' unless [:qb, :qbpos].include?(api)
@@api = api
end
|
.clear_jobs ⇒ Object
123
124
125
|
# File 'lib/qbwc.rb', line 123
def clear_jobs
storage_module::Job.clear_jobs
end
|
Allow configuration overrides
119
120
121
|
# File 'lib/qbwc.rb', line 119
def configure
yield self
end
|
.delete_job(object_or_name) ⇒ Object
87
88
89
90
|
# File 'lib/qbwc.rb', line 87
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
83
84
85
|
# File 'lib/qbwc.rb', line 83
def get_job(name)
storage_module::Job.find_job_with_name(name)
end
|
.jobs ⇒ Object
75
76
77
|
# File 'lib/qbwc.rb', line 75
def jobs
storage_module::Job.list_jobs
end
|
.on_error=(reaction) ⇒ Object
103
104
105
106
107
|
# File 'lib/qbwc.rb', line 103
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
114
115
116
|
# File 'lib/qbwc.rb', line 114
def parser
@@parser ||= Qbxml.new(api, min_version)
end
|
.pending_jobs(company) ⇒ Object
92
93
94
95
96
|
# File 'lib/qbwc.rb', line 92
def pending_jobs(company)
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?})
end
|
.set_session_initializer(&block) ⇒ Object
98
99
100
101
|
# File 'lib/qbwc.rb', line 98
def set_session_initializer(&block)
@@session_initializer = block
self
end
|
.storage_module ⇒ Object
71
72
73
|
# File 'lib/qbwc.rb', line 71
def storage_module
const_get storage.to_s.camelize
end
|