sunnyside 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/sunnyside +6 -0
- data/lib/sunnyside/cash_receipts/cash_receipt.rb +169 -0
- data/lib/sunnyside/cash_receipts/ics.rb +69 -0
- data/lib/sunnyside/expiring_auth.rb +101 -0
- data/lib/sunnyside/ftp.rb +97 -0
- data/lib/sunnyside/ledger/auth_report.rb +110 -0
- data/lib/sunnyside/ledger/edi.rb +181 -0
- data/lib/sunnyside/ledger/ledger.rb +142 -0
- data/lib/sunnyside/ledger/private.rb +70 -0
- data/lib/sunnyside/menu.rb +41 -0
- data/lib/sunnyside/models/db_setup.rb +158 -0
- data/lib/sunnyside/models/sequel_classes.rb +12 -0
- data/lib/sunnyside/reports/mco_mltc.rb +43 -0
- data/lib/sunnyside/reports/pdf_report.rb +162 -0
- data/lib/sunnyside/reports/pdf_report_draft.rb +127 -0
- data/lib/sunnyside/reports/private.rb +55 -0
- data/lib/sunnyside/reports/report.rb +74 -0
- data/lib/sunnyside/version.rb +3 -0
- data/lib/sunnyside.rb +27 -0
- metadata +148 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
require "money"
|
|
2
|
+
require "pp"
|
|
3
|
+
module Sunnyside
|
|
4
|
+
|
|
5
|
+
def self.run_report
|
|
6
|
+
print "Type in the check number in order to create the PDF file: "
|
|
7
|
+
check = gets.chomp
|
|
8
|
+
print "Now enter the date the check was posted to FUND EZ: "
|
|
9
|
+
postted = gets.chomp
|
|
10
|
+
Reporter.new(check, posted).pdf_report
|
|
11
|
+
end
|
|
12
|
+
class Reporter
|
|
13
|
+
include Sunnyside
|
|
14
|
+
attr_reader :check, :posted, :check_number
|
|
15
|
+
|
|
16
|
+
def initialize(check, posted)
|
|
17
|
+
@check_number = check
|
|
18
|
+
@check = Claim.where(check_number: check)
|
|
19
|
+
@posted = posted
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def pdf_report
|
|
23
|
+
if check.count == 0
|
|
24
|
+
puts "No claims were found with this check number. Please re-enter."
|
|
25
|
+
self.run_report
|
|
26
|
+
else
|
|
27
|
+
create_pdf
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def provider
|
|
32
|
+
Provider[check.get(:provider_id)].name
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def create_pdf
|
|
36
|
+
puts "creating report for #{provider} - Check Number: #{check.get(:check_number)} - posted on: #{posted}"
|
|
37
|
+
report.collate_services
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def report
|
|
41
|
+
CheckEOP.new(check, posted, provider, check_number)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
class CheckEOP < Reporter
|
|
46
|
+
attr_reader :posted, :check_number, :claims, :pdf
|
|
47
|
+
|
|
48
|
+
def initialize(claims, posted, provider, check_number)
|
|
49
|
+
@claims = claims
|
|
50
|
+
@posted = posted
|
|
51
|
+
@provider = provider
|
|
52
|
+
@check_number = check_number
|
|
53
|
+
@pdf = Prawn::Document.generate("#{LOCAL_FILES}/#{provider}-#{check_number}.PDF")
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def collate_services
|
|
57
|
+
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
# def create_pdf
|
|
63
|
+
# puts "#{Provider[@provider_id].name}: #{Payment[check].check_number}"
|
|
64
|
+
# provider = Provider[@provider_id].name.gsub(/\/|\\/, '')
|
|
65
|
+
# Prawn::Document.generate("./PDF-REPORTS/#{provider}_CHECK_#{Payment[@check].check_number}.pdf", opts) do |pdf|
|
|
66
|
+
# pdf.move_down 50
|
|
67
|
+
# pdf.text "CLAIMS FOR #{Provider[@provider_id].name} - CHECK NUMBER: #{Payment[@check].check_number} - CHECK TOTAL: #{currency(total)}"
|
|
68
|
+
# insert_claim_table(pdf)
|
|
69
|
+
# pdf.move_down 10
|
|
70
|
+
# if !@takeback.empty?
|
|
71
|
+
# pdf.start_new_page
|
|
72
|
+
# pdf.text "TAKE BACK CLAIMS"
|
|
73
|
+
# takeback_claims(pdf)
|
|
74
|
+
# end
|
|
75
|
+
# page_numbering(pdf)
|
|
76
|
+
# end
|
|
77
|
+
# @takeback = []
|
|
78
|
+
# @claim_data = []
|
|
79
|
+
# end
|
|
80
|
+
|
|
81
|
+
# def page_numbering(pdf)
|
|
82
|
+
# pdf.number_pages('Page <page> of <total>', { :at => [pdf.bounds.right - 150, 0],
|
|
83
|
+
# :width => 150,
|
|
84
|
+
# :align => :center,
|
|
85
|
+
# :start_count_at => 1
|
|
86
|
+
# }
|
|
87
|
+
# )
|
|
88
|
+
# end
|
|
89
|
+
|
|
90
|
+
# def insert_claim_table(pdf)
|
|
91
|
+
# @claim_data.each do |c|
|
|
92
|
+
# pdf.move_down 10
|
|
93
|
+
# pdf.table([c],
|
|
94
|
+
# :column_widths => [65, 75, 65, 65, 65, 150],
|
|
95
|
+
# :cell_style => {
|
|
96
|
+
# :align => :center,
|
|
97
|
+
# :overflow => :shrink_to_fit,
|
|
98
|
+
# :size => 10,
|
|
99
|
+
# :height => 30
|
|
100
|
+
# }) # SHOULD ONLY HAVE ONE CLAIM
|
|
101
|
+
# insert_service_table(c[0], pdf)
|
|
102
|
+
# end
|
|
103
|
+
# end
|
|
104
|
+
|
|
105
|
+
# def insert_service_table(claim_id, pdf)
|
|
106
|
+
# make_service_table(claim_id)
|
|
107
|
+
# pdf.table(@service_data, table_opts)
|
|
108
|
+
# end
|
|
109
|
+
|
|
110
|
+
# def table_opts
|
|
111
|
+
# {
|
|
112
|
+
# :column_widths => [65, 75, 65, 65, 65, 150],
|
|
113
|
+
# :header => true,
|
|
114
|
+
# :cell_style => {
|
|
115
|
+
# :align => :center,
|
|
116
|
+
# :overflow => :shrink_to_fit,
|
|
117
|
+
# :size => 8,
|
|
118
|
+
# :height => 20
|
|
119
|
+
# }
|
|
120
|
+
# }
|
|
121
|
+
# end
|
|
122
|
+
|
|
123
|
+
# def claim_table(inv)
|
|
124
|
+
# claims(inv).all.each do |clm|
|
|
125
|
+
# @claim_data << [clm.id, client(inv), inv, currency(clm.billed), currency(clm.paid), response_msg(clm.status), clm.control_number]
|
|
126
|
+
# end
|
|
127
|
+
# end
|
|
128
|
+
|
|
129
|
+
# def response_msg(msg)
|
|
130
|
+
# case msg
|
|
131
|
+
# when '1' then 'CASH PAYMENT'
|
|
132
|
+
# when '4' then 'CLAIM DENIED'
|
|
133
|
+
# when '22' then 'TAKE BACK'
|
|
134
|
+
# else
|
|
135
|
+
# 'oop'
|
|
136
|
+
# end
|
|
137
|
+
# end
|
|
138
|
+
|
|
139
|
+
# def make_service_table(claim_id)
|
|
140
|
+
# @service_data = []
|
|
141
|
+
# total = 0.0
|
|
142
|
+
# @service_data << ['DATE OF SERVICE', 'SERVICE CODE', 'UNITS', 'BILLED', 'PAID', 'DENIAL REASON']
|
|
143
|
+
# services(claim_id).all.each {|svc|
|
|
144
|
+
# @service_data << [svc.dos, svc.service_code, svc.units, currency(svc.billed), currency(svc.paid), svc.denial_reason]
|
|
145
|
+
# total += svc.paid
|
|
146
|
+
# }
|
|
147
|
+
# @service_data << ['TOTAL', '', '', '', currency(total), '']
|
|
148
|
+
# end
|
|
149
|
+
|
|
150
|
+
# def currency(amt)
|
|
151
|
+
# Money.new(amt*100, 'USD').format
|
|
152
|
+
# end
|
|
153
|
+
|
|
154
|
+
# def services(claim_id)
|
|
155
|
+
# Service.where(claim_id: claim_id)
|
|
156
|
+
# end
|
|
157
|
+
|
|
158
|
+
# def client(invoice_number)
|
|
159
|
+
# Invoice.where(invoice_number: invoice_number).get(:client_name)
|
|
160
|
+
# end
|
|
161
|
+
# end
|
|
162
|
+
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
require "money"
|
|
2
|
+
module Sunnyside
|
|
3
|
+
class Reporter
|
|
4
|
+
attr_reader :check, :claims, :services
|
|
5
|
+
def initialize(check)
|
|
6
|
+
@check = check
|
|
7
|
+
@claims = Claim.where(check_number: check)
|
|
8
|
+
@services = Service.where(check_number: check)
|
|
9
|
+
if claims.count > 0
|
|
10
|
+
create_pdf
|
|
11
|
+
else
|
|
12
|
+
Reporter.new(gets.chomp)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def provider
|
|
17
|
+
claims.get(:provider).gsub(/ \/\\/, '_')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def takeback_present?
|
|
21
|
+
claims.where(denial_reason: '22').count > 0
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def denials_present?
|
|
25
|
+
claims.where('amount_charged > amount_paid').exclude(denial_reason: '22').count > 0
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def create_pdf
|
|
29
|
+
Prawn::Document.generate("#{provider}_CHECK_#{check}.pdf", :page_layout => :landscape) do |pdf|
|
|
30
|
+
report = ReportPDF.new(pdf, :claim_data => claims, :service_data => services, :provider => provider, :check => check)
|
|
31
|
+
report.create_check_header
|
|
32
|
+
if takeback_present?
|
|
33
|
+
report.takeback_table
|
|
34
|
+
elsif denials_present?
|
|
35
|
+
report.denial_table
|
|
36
|
+
else
|
|
37
|
+
report.claim_table
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
class ReportPDF
|
|
43
|
+
attr_reader :pdf, :claims, :services, :provider, :check
|
|
44
|
+
|
|
45
|
+
def initialize(pdf, data = {})
|
|
46
|
+
@pdf = pdf
|
|
47
|
+
@claims = data[:claim_data]
|
|
48
|
+
@services = data[:service_data]
|
|
49
|
+
@provider = data[:provider]
|
|
50
|
+
@check = data[:check]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def create_check_header
|
|
54
|
+
pdf.text "CLAIMS FOR #{provider} - CHECK NUMBER: #{check} - CHECK TOTAL: #{currency(check_total)}"
|
|
55
|
+
pdf.move_down 20
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def check_total
|
|
59
|
+
services.sum(:amount_paid)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def currency(amt)
|
|
63
|
+
Money.new(amt * 100, 'USD').format
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def takebacks
|
|
67
|
+
claims.where(denial_reason: '22')
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def takeback_table
|
|
71
|
+
takeback_header
|
|
72
|
+
takebacks.all.each { |clm| claim_header(clm) }
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def denials
|
|
76
|
+
claims.exclude(denial_reason: '22').where('amount_charged > amount_paid')
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def denial_table
|
|
80
|
+
pdf.text 'CLAIMS WITH DENIALS'
|
|
81
|
+
pdf.move_down 10
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def takeback_header
|
|
85
|
+
pdf.text 'ADJUSTED CLAIMS'
|
|
86
|
+
pdf.move_down 10
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def client(inv)
|
|
90
|
+
Invoice.where(invoice_number: inv).get(:client_name)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def claim_header(claim)
|
|
94
|
+
pdf.move_down 10
|
|
95
|
+
claim_data = [[claim.control_number, client(claim.invoice_number), claim.invoice_number, currency(claim.amount_charged), currency(claim.amount_paid), claim.denial_reason]]
|
|
96
|
+
pdf.table(
|
|
97
|
+
claim_data,
|
|
98
|
+
:column_widths => [85, 75, 75, 75, 75, 150], :cell_style => {
|
|
99
|
+
:align => :center,
|
|
100
|
+
:overflow => :shrink_to_fit,
|
|
101
|
+
:size => 12,
|
|
102
|
+
:height => 30
|
|
103
|
+
}) # SHOULD ONLY HAVE ONE CLAIM
|
|
104
|
+
pdf.move_down 10
|
|
105
|
+
create_service_table(claim.id)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def service_data(id)
|
|
109
|
+
services.where(claim_id: id).map { |svc| ['', svc.dos, svc.service_code + svc.mod_1, svc.units, svc.amount_charged, svc.amount_paid, svc.denial_reason] }
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def create_service_table(id)
|
|
113
|
+
pdf.table(service_data(id),
|
|
114
|
+
:column_widths => [85, 75, 75, 75, 75, 150],
|
|
115
|
+
:cell_style => {
|
|
116
|
+
:align => :center,
|
|
117
|
+
:overflow => :shrink_to_fit,
|
|
118
|
+
:size => 12,
|
|
119
|
+
:height => 30
|
|
120
|
+
}) # SHOULD ONLY HAVE ONE CLAIM
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def claim_table
|
|
124
|
+
claims.exclude(denial_reason: ['22', '4']).all.each { |clm| claim_header(clm) }
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module Sunnyside
|
|
2
|
+
PRIVATE_CLIENTS = ['TABICKMAN', 'JIBAJA', 'SUNNYSIDE COMMUNITY', 'BARROW', 'JENSEN']
|
|
3
|
+
|
|
4
|
+
def self.private_clients
|
|
5
|
+
Dir['private/*.PDF'].each { |file| PrivateClient.new(file).create_pdfS }
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class PrivateClient
|
|
9
|
+
attr_reader :file
|
|
10
|
+
|
|
11
|
+
def initialize(file)
|
|
12
|
+
@file = file
|
|
13
|
+
@selected = []
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def tabickman
|
|
17
|
+
selected_pages('TABICKMAN')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def jibaja
|
|
21
|
+
selected_pages('JIBAJA')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def community
|
|
25
|
+
selected_pages('SUNNYSIDE COMMUNITY')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def jensen
|
|
29
|
+
selected_pages('JENSEN')
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def barrow
|
|
33
|
+
selected_pages('BARROW')
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def selected_pages(name)
|
|
37
|
+
PDF::Reader.new(file).pages.select { |page| page.text.include?(name) && page.text.include?('Client Copy') }.map { |page| page.number }
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def date_parse
|
|
41
|
+
Date.parse(file[8..15])
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def create_doc(client)
|
|
45
|
+
Prawn::Document.generate("./private/archive/#{client}-#{date_parse}.PDF", :skip_page_creation => true) { |pdf|
|
|
46
|
+
selected_pages(client).each { |page| pdf.start_new_page(:template => file, :template_page => page) }
|
|
47
|
+
}
|
|
48
|
+
puts 'files created in ../private/archive/'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def create_pdfs
|
|
52
|
+
PRIVATE_CLIENTS.each { |client| create_doc(client) }
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
module Sunnyside
|
|
2
|
+
def receivable_csv(invoice, payment_id, check_number, post_date)
|
|
3
|
+
total = Service.where(invoice_id: invoice.invoice_number).sum(:paid)
|
|
4
|
+
prov = Provider[invoice.provider_id]
|
|
5
|
+
fund_id = Client[invoice.client_id].fund_id
|
|
6
|
+
CSV.open("#{LOCAL_FILES}/cash_receipts/EDI-citywide-import.csv", "a+") do |row| # #{post_date.gsub(/\//, '-')}-
|
|
7
|
+
row << [1, check_number,
|
|
8
|
+
post_date,
|
|
9
|
+
fund_id,
|
|
10
|
+
invoice.invoice_number,
|
|
11
|
+
invoice.invoice_number,
|
|
12
|
+
"#{post_date[0..1]}/#{post_date[8..9]}#{prov.abbreviation}",
|
|
13
|
+
post_date,
|
|
14
|
+
invoice.invoice_number,
|
|
15
|
+
prov.fund, prov.credit_account,'','','', 0, total]
|
|
16
|
+
row << [2, check_number,
|
|
17
|
+
post_date,
|
|
18
|
+
fund_id,
|
|
19
|
+
invoice.invoice_number,
|
|
20
|
+
invoice.invoice_number,
|
|
21
|
+
"#{post_date[0..1]}/#{post_date[8..9]}#{prov.abbreviation}",
|
|
22
|
+
post_date,
|
|
23
|
+
invoice.invoice_number,
|
|
24
|
+
100, 1000,'','','', total, 0]
|
|
25
|
+
row << [3, check_number,
|
|
26
|
+
post_date,
|
|
27
|
+
fund_id,
|
|
28
|
+
invoice.invoice_number,
|
|
29
|
+
invoice.invoice_number,
|
|
30
|
+
"#{post_date[0..1]}/#{post_date[8..9]}#{prov.abbreviation}",
|
|
31
|
+
post_date,
|
|
32
|
+
invoice.invoice_number,
|
|
33
|
+
prov.fund, 3990, '', '', '', total, 0]
|
|
34
|
+
row << [4, check_number,
|
|
35
|
+
post_date,
|
|
36
|
+
fund_id,
|
|
37
|
+
invoice.invoice_number,
|
|
38
|
+
invoice.invoice_number,
|
|
39
|
+
"#{post_date[0..1]}/#{post_date[8..9]}#{prov.abbreviation}",
|
|
40
|
+
post_date,
|
|
41
|
+
invoice.invoice_number,
|
|
42
|
+
100, 3990, '', '', '', 0, total]
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def payable_csv(inv, post_date, prov)
|
|
47
|
+
fund_id = Client.where(client_number: invoice.client_id).get(:fund_id)
|
|
48
|
+
CSV.open("#{LOCAL_FILES}/new-ledger/#{inv.post_date}-IMPORT-FUND-EZ-LEDGER.csv", "a+") do |row|
|
|
49
|
+
row << [1,
|
|
50
|
+
inv.invoice_number,
|
|
51
|
+
post_date.strftime('%m/%d/%y'),
|
|
52
|
+
fund_id, prov.name, post_date.strftime('%m/%d/%y'),
|
|
53
|
+
"To Record #{post_date.strftime('%m/%d/%y')} Billing",
|
|
54
|
+
"#{post_date[5..6]}/#{post_date[8..9]}#{prov.abbrev}",
|
|
55
|
+
post_date.strftime('%m/%d/%y'), "To Rec for W/E #{post_date - 6} Billing",
|
|
56
|
+
prov.fund, prov.credit_account,
|
|
57
|
+
'', '', '', inv.amount, '']
|
|
58
|
+
row << [2,
|
|
59
|
+
inv.invoice_number,
|
|
60
|
+
post_date.strftime('%m/%d/%y'),
|
|
61
|
+
fund_id,
|
|
62
|
+
prov.name,
|
|
63
|
+
post_date.strftime('%m/%d/%y'),
|
|
64
|
+
"To Record #{post_date.strftime('%m/%d/%y')} Billing",
|
|
65
|
+
"#{post_date[5..6]}/#{post_date[8..9]}#{prov.abbrev}",
|
|
66
|
+
post_date.strftime('%m/%d/%y'),
|
|
67
|
+
"To Rec for W/E #{post_date - 6} Billing",
|
|
68
|
+
prov.fund,
|
|
69
|
+
prov.debit_account,
|
|
70
|
+
prov.fund, '', prov.type, '', inv.amount]
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
data/lib/sunnyside.rb
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'prawn'
|
|
2
|
+
require 'sequel'
|
|
3
|
+
require 'csv'
|
|
4
|
+
require 'fileutils'
|
|
5
|
+
require "sunnyside/version"
|
|
6
|
+
require 'sunnyside/cash_receipts/cash_receipt'
|
|
7
|
+
require 'sunnyside/cash_receipts/ics'
|
|
8
|
+
require 'sunnyside/ledger/ledger'
|
|
9
|
+
require 'sunnyside/ledger/edi'
|
|
10
|
+
require 'sunnyside/ledger/auth_report'
|
|
11
|
+
require 'sunnyside/ledger/private'
|
|
12
|
+
require 'sunnyside/reports/pdf_report'
|
|
13
|
+
require 'sunnyside/reports/private'
|
|
14
|
+
require 'sunnyside/reports/report'
|
|
15
|
+
require 'sunnyside/ftp'
|
|
16
|
+
require 'sunnyside/menu'
|
|
17
|
+
require 'sunnyside/expiring_auth'
|
|
18
|
+
|
|
19
|
+
module Sunnyside
|
|
20
|
+
LOCAL_FILES = ENV["HOME"] + "/sunnyside-files"
|
|
21
|
+
DB = Sequel.connect("sqlite:/#{LOCAL_FILES}/db/sunnyside.db")
|
|
22
|
+
if DB.tables.empty?
|
|
23
|
+
require 'sunnyside/models/db_setup'
|
|
24
|
+
Sunnyside.create_tables
|
|
25
|
+
end
|
|
26
|
+
require 'sunnyside/models/sequel_classes'
|
|
27
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: sunnyside
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.2
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- wismer
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2013-12-19 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: sqlite3
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - '>='
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - '>='
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: bundler
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ~>
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '1.3'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ~>
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '1.3'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rake
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - '>='
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
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: sequel
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
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: money
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - '>='
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
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: prawn
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - '>='
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - '>='
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
description: gem for Sunnyside Citywide Home Care, Inc.
|
|
98
|
+
email:
|
|
99
|
+
- matthewhl@gmail.com
|
|
100
|
+
executables:
|
|
101
|
+
- sunnyside
|
|
102
|
+
extensions: []
|
|
103
|
+
extra_rdoc_files: []
|
|
104
|
+
files:
|
|
105
|
+
- lib/sunnyside/cash_receipts/cash_receipt.rb
|
|
106
|
+
- lib/sunnyside/cash_receipts/ics.rb
|
|
107
|
+
- lib/sunnyside/expiring_auth.rb
|
|
108
|
+
- lib/sunnyside/ftp.rb
|
|
109
|
+
- lib/sunnyside/ledger/auth_report.rb
|
|
110
|
+
- lib/sunnyside/ledger/edi.rb
|
|
111
|
+
- lib/sunnyside/ledger/ledger.rb
|
|
112
|
+
- lib/sunnyside/ledger/private.rb
|
|
113
|
+
- lib/sunnyside/menu.rb
|
|
114
|
+
- lib/sunnyside/models/db_setup.rb
|
|
115
|
+
- lib/sunnyside/models/sequel_classes.rb
|
|
116
|
+
- lib/sunnyside/reports/mco_mltc.rb
|
|
117
|
+
- lib/sunnyside/reports/pdf_report.rb
|
|
118
|
+
- lib/sunnyside/reports/pdf_report_draft.rb
|
|
119
|
+
- lib/sunnyside/reports/private.rb
|
|
120
|
+
- lib/sunnyside/reports/report.rb
|
|
121
|
+
- lib/sunnyside/version.rb
|
|
122
|
+
- lib/sunnyside.rb
|
|
123
|
+
- bin/sunnyside
|
|
124
|
+
homepage: ''
|
|
125
|
+
licenses:
|
|
126
|
+
- MIT
|
|
127
|
+
metadata: {}
|
|
128
|
+
post_install_message:
|
|
129
|
+
rdoc_options: []
|
|
130
|
+
require_paths:
|
|
131
|
+
- lib
|
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
133
|
+
requirements:
|
|
134
|
+
- - '>='
|
|
135
|
+
- !ruby/object:Gem::Version
|
|
136
|
+
version: '0'
|
|
137
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
|
+
requirements:
|
|
139
|
+
- - '>='
|
|
140
|
+
- !ruby/object:Gem::Version
|
|
141
|
+
version: '0'
|
|
142
|
+
requirements: []
|
|
143
|
+
rubyforge_project:
|
|
144
|
+
rubygems_version: 2.0.14
|
|
145
|
+
signing_key:
|
|
146
|
+
specification_version: 4
|
|
147
|
+
summary: EDI/PDF parser, fiscal tools for accounting
|
|
148
|
+
test_files: []
|