irs_forms 0.0.1
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.
- data/.document +5 -0
- data/Gemfile +18 -0
- data/Gemfile.lock +57 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +27 -0
- data/Rakefile +50 -0
- data/VERSION +1 -0
- data/irs_forms.gemspec +110 -0
- data/lib/irs_forms/form.rb +57 -0
- data/lib/irs_forms/form1096.rb +89 -0
- data/lib/irs_forms/form1099.rb +47 -0
- data/lib/irs_forms/form1099_int.rb +87 -0
- data/lib/irs_forms/form1099_misc.rb +77 -0
- data/lib/irs_forms.rb +13 -0
- data/spec/assets/copyA_with_data_and_no_template.pdf-0.12.0.pdf +315 -0
- data/spec/assets/copyA_with_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/copyA_with_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1096_for_1099int.pdf-0.12.0.pdf +3596 -1
- data/spec/assets/f1096_with_data_and_no_template.pdf-0.12.0.pdf +146 -0
- data/spec/assets/f1096_with_data_and_template.pdf-0.12.0.pdf +3596 -1
- data/spec/assets/f1096_with_data_and_template_offset.pdf-0.12.0.pdf +3596 -1
- data/spec/assets/f1096_with_template.pdf-0.12.0.pdf +3503 -1
- data/spec/assets/f1099intA_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099intA_data_and_template_offset.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099intB_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099intC_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099msc1_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099msc2_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099mscA_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099mscA_data_and_template_offset.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099mscB_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/assets/f1099mscC_data_and_template.pdf-0.12.0.pdf +0 -0
- data/spec/form1096_spec.rb +65 -0
- data/spec/form1099_int_spec.rb +52 -0
- data/spec/form1099_misc_spec.rb +118 -0
- data/spec/irs_forms_spec.rb +5 -0
- data/spec/spec_helper.rb +35 -0
- data/templates/NOTES +5 -0
- data/templates/f1096--2012.pdf +0 -0
- data/templates/f1096.pdf +0 -0
- data/templates/f1099int--2012.pdf +0 -0
- data/templates/f1099int-copyA.pdf +0 -0
- data/templates/f1099int-copyB.pdf +0 -0
- data/templates/f1099int-copyC.pdf +0 -0
- data/templates/f1099msc--2012.pdf +0 -0
- data/templates/f1099msc-copy1.pdf +0 -0
- data/templates/f1099msc-copy2.pdf +0 -0
- data/templates/f1099msc-copyA.pdf +0 -0
- data/templates/f1099msc-copyB.pdf +0 -0
- data/templates/f1099msc-copyC.pdf +0 -0
- metadata +188 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
+
|
|
3
|
+
describe "Form1096" do
|
|
4
|
+
before(:each) do
|
|
5
|
+
@form1096 = IrsForms::Form1096.new
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
it "should generate the template_filepath" do
|
|
9
|
+
dir = File.expand_path(File.dirname(__FILE__) + '/../templates')
|
|
10
|
+
@form1096.template_filepath.should == "#{dir}/f1096.pdf"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it "should generate PDF on the template" do
|
|
14
|
+
pdf = @form1096.to_pdf(:with_template => true)
|
|
15
|
+
write_content_to_file('f1096_with_template.pdf', pdf)
|
|
16
|
+
assert_data_matches_file_content('f1096_with_template.pdf', pdf)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
describe "with a three forms of data" do
|
|
20
|
+
before(:each) do
|
|
21
|
+
@form1096.data = {
|
|
22
|
+
:filer_name => 'Filer Name',
|
|
23
|
+
:filer_street_address => 'Street Address Line 1',
|
|
24
|
+
:filer_city_state_zip => 'City, State 11111',
|
|
25
|
+
:contact_name => 'John Smith',
|
|
26
|
+
:telephone_number => '(555) 555-5555',
|
|
27
|
+
:email_address => 'john.smith@example.com',
|
|
28
|
+
:fax_number => '(555) 555-5556',
|
|
29
|
+
:employer_identification_number => '111-111111',
|
|
30
|
+
:social_security_number => '111-11-1111',
|
|
31
|
+
:total_number_of_forms => '123',
|
|
32
|
+
:total_amount_reported => '123456.78',
|
|
33
|
+
:type_of_form => '1099msc'
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it "should generate PDF with data on the template" do
|
|
38
|
+
pdf = @form1096.to_pdf(:with_template => true)
|
|
39
|
+
write_content_to_file('f1096_with_data_and_template.pdf', pdf)
|
|
40
|
+
assert_data_matches_file_content('f1096_with_data_and_template.pdf', pdf)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "check mark for 1099int in correct location" do
|
|
44
|
+
@form1096.data[:type_of_form] = '1099int'
|
|
45
|
+
pdf = @form1096.to_pdf(:with_template => true)
|
|
46
|
+
write_content_to_file('f1096_for_1099int.pdf', pdf)
|
|
47
|
+
assert_data_matches_file_content('f1096_for_1099int.pdf', pdf)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "should generate PDF with data and no template" do
|
|
51
|
+
pdf = @form1096.to_pdf # default is to not use template
|
|
52
|
+
write_content_to_file('f1096_with_data_and_no_template.pdf', pdf)
|
|
53
|
+
assert_data_matches_file_content('f1096_with_data_and_no_template.pdf', pdf)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it "should generate PDF with data on the template with test offset" do
|
|
57
|
+
@form1096.x_offset = 20 # right 20px
|
|
58
|
+
@form1096.y_offset = -20 # down 20px
|
|
59
|
+
pdf = @form1096.to_pdf(:with_template => true)
|
|
60
|
+
write_content_to_file('f1096_with_data_and_template_offset.pdf', pdf, true)
|
|
61
|
+
assert_data_matches_file_content('f1096_with_data_and_template_offset.pdf', pdf)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
+
|
|
3
|
+
describe "Form1099 INT" do
|
|
4
|
+
before(:all) do
|
|
5
|
+
@form1099 = IrsForms::Form1099Int.new(data: [
|
|
6
|
+
{:payer_contact_information => [
|
|
7
|
+
'Payer Name, LLC', 'Address Line 1',
|
|
8
|
+
'City, State 00000', '(555) 555-5555'],
|
|
9
|
+
:payer_federal_id => 'XX-XXXXXXX',
|
|
10
|
+
:recipient_federal_id => 'YY-YYYYYY1',
|
|
11
|
+
:recipient_name => 'Recipient Name',
|
|
12
|
+
:recipient_street_address => 'Street Address Line 1',
|
|
13
|
+
:recipient_city_state_zip => 'City, State 11111',
|
|
14
|
+
:recipient_account_number => 'XXXXX',
|
|
15
|
+
:interest_income => '9875383.39'},
|
|
16
|
+
{:payer_contact_information => [
|
|
17
|
+
'Payer Name, LLC', 'Address Line 1',
|
|
18
|
+
'City, State 00000', '(555) 555-5555'],
|
|
19
|
+
:payer_federal_id => 'XX-XXXXXXX',
|
|
20
|
+
:recipient_federal_id => 'YY-YYYYYY2',
|
|
21
|
+
:recipient_name => 'Recipient Name',
|
|
22
|
+
:recipient_street_address => 'Street Address Line 1',
|
|
23
|
+
:recipient_city_state_zip => 'A very long name for a City, State 11111',
|
|
24
|
+
:interest_income => '999'},
|
|
25
|
+
{:payer_contact_information => [
|
|
26
|
+
'Payer Name, LLC', 'Address Line 1',
|
|
27
|
+
'City, State 00000', '(555) 555-5555'],
|
|
28
|
+
:payer_federal_id => 'XX-XXXXXXX',
|
|
29
|
+
:recipient_federal_id => 'YY-YYYYYY3',
|
|
30
|
+
:recipient_name => 'Recipient Name',
|
|
31
|
+
:recipient_street_address => 'Street Address Line 1',
|
|
32
|
+
:recipient_city_state_zip => 'City, State 11111',
|
|
33
|
+
:interest_income => '9'}
|
|
34
|
+
])
|
|
35
|
+
end
|
|
36
|
+
it "should print correctly for each copy" do
|
|
37
|
+
IrsForms::Form1099Int::COPIES.each do |copy|
|
|
38
|
+
@form1099.copy = copy
|
|
39
|
+
pdf = @form1099.to_pdf(:with_template => true)
|
|
40
|
+
write_content_to_file("f1099int#{copy}_data_and_template.pdf", pdf)
|
|
41
|
+
assert_data_matches_file_content("f1099int#{copy}_data_and_template.pdf", pdf)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
it "should generate with offset" do
|
|
45
|
+
@form1099.x_offset = 20 # right 20px
|
|
46
|
+
@form1099.y_offset = -20 # down 20px
|
|
47
|
+
@form1099.copy = 'A'
|
|
48
|
+
pdf = @form1099.to_pdf(:with_template => true)
|
|
49
|
+
write_content_to_file("f1099intA_data_and_template_offset.pdf", pdf)
|
|
50
|
+
assert_data_matches_file_content("f1099intA_data_and_template_offset.pdf", pdf)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
+
|
|
3
|
+
describe "Form1099Misc Copy A" do
|
|
4
|
+
before(:each) do
|
|
5
|
+
@form1099 = IrsForms::Form1099Misc.new(copy: 'A')
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
it "should generate the template_filepath" do
|
|
9
|
+
dir = File.expand_path(File.dirname(__FILE__) + '/../templates')
|
|
10
|
+
@form1099.template_filepath.should == "#{dir}/f1099msc-copyA.pdf"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it "should generate PDF on the template" do
|
|
14
|
+
pdf = @form1099.to_pdf(:with_template => true)
|
|
15
|
+
write_content_to_file('copyA_with_template.pdf', pdf)
|
|
16
|
+
assert_data_matches_file_content('copyA_with_template.pdf', pdf)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
describe "with a three forms of data" do
|
|
20
|
+
before(:each) do
|
|
21
|
+
@form1099.data << {
|
|
22
|
+
:payer_contact_information => [
|
|
23
|
+
'Payer Name, LLC', 'Address Line 1',
|
|
24
|
+
'City, State 00000', '(555) 555-5555'],
|
|
25
|
+
:payer_federal_id => 'XX-XXXXXXX',
|
|
26
|
+
:recipient_federal_id => 'YY-YYYYYY1',
|
|
27
|
+
:recipient_name => 'Recipient Name',
|
|
28
|
+
:recipient_street_address => 'Street Address Line 1',
|
|
29
|
+
:recipient_city_state_zip => 'Long Name for a City, State 11111-1111',
|
|
30
|
+
:recipient_account_number => 'XXXXX',
|
|
31
|
+
:nonemployee_compensation => '1234.56'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@form1099.data << {
|
|
35
|
+
:payer_contact_information => [
|
|
36
|
+
'Payer Name, LLC', 'Address Line 1',
|
|
37
|
+
'City, State 00000', '(555) 555-5555'],
|
|
38
|
+
:payer_federal_id => 'XX-XXXXXXX',
|
|
39
|
+
:recipient_federal_id => 'YY-YYYYYY2',
|
|
40
|
+
:recipient_name => 'Recipient Name',
|
|
41
|
+
:recipient_street_address => 'Street Address Line 1',
|
|
42
|
+
:recipient_city_state_zip => 'City, State 11111',
|
|
43
|
+
:recipient_account_number => 'XXXXX',
|
|
44
|
+
:nonemployee_compensation => '999'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@form1099.data << {
|
|
48
|
+
:payer_contact_information => [
|
|
49
|
+
'Payer Name, LLC', 'Address Line 1',
|
|
50
|
+
'City, State 00000', '(555) 555-5555'],
|
|
51
|
+
:payer_federal_id => 'XX-XXXXXXX',
|
|
52
|
+
:recipient_federal_id => 'YY-YYYYYY3',
|
|
53
|
+
:recipient_name => 'Recipient Name',
|
|
54
|
+
:recipient_street_address => 'Street Address Line 1',
|
|
55
|
+
:recipient_city_state_zip => 'City, State 11111',
|
|
56
|
+
:recipient_account_number => 'XXXXX',
|
|
57
|
+
:nonemployee_compensation => '9875383.39'
|
|
58
|
+
}
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
it "should generate PDF with data on the template" do
|
|
62
|
+
pdf = @form1099.to_pdf(:with_template => true)
|
|
63
|
+
write_content_to_file('copyA_with_data_and_template.pdf', pdf)
|
|
64
|
+
assert_data_matches_file_content('copyA_with_data_and_template.pdf', pdf)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it "should generate PDF with data and no template" do
|
|
68
|
+
pdf = @form1099.to_pdf # default is to not use template
|
|
69
|
+
write_content_to_file('copyA_with_data_and_no_template.pdf', pdf)
|
|
70
|
+
assert_data_matches_file_content('copyA_with_data_and_no_template.pdf', pdf)
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe "Form1099" do
|
|
77
|
+
before(:all) do
|
|
78
|
+
@form1099 = IrsForms::Form1099Misc.new(data: [
|
|
79
|
+
{:payer_contact_information => [
|
|
80
|
+
'Payer Name, LLC', 'Address Line 1',
|
|
81
|
+
'City, State 00000', '(555) 555-5555'],
|
|
82
|
+
:payer_federal_id => 'XX-XXXXXXX',
|
|
83
|
+
:recipient_federal_id => 'YY-YYYYYY3',
|
|
84
|
+
:recipient_name => 'Recipient Name',
|
|
85
|
+
:recipient_street_address => 'Street Address Line 1',
|
|
86
|
+
:recipient_city_state_zip => 'City, State 11111',
|
|
87
|
+
:recipient_account_number => 'XXXXX',
|
|
88
|
+
:nonemployee_compensation => '9875383.39'},
|
|
89
|
+
{:payer_contact_information => [
|
|
90
|
+
'Payer Name, LLC', 'Address Line 1',
|
|
91
|
+
'City, State 00000', '(555) 555-5555'],
|
|
92
|
+
:payer_federal_id => 'XX-XXXXXXX',
|
|
93
|
+
:recipient_federal_id => 'YY-YYYYYY2',
|
|
94
|
+
:recipient_name => 'Recipient Name',
|
|
95
|
+
:recipient_street_address => 'Street Address Line 1',
|
|
96
|
+
:recipient_city_state_zip => 'City, State 11111',
|
|
97
|
+
:recipient_account_number => 'XXXXX',
|
|
98
|
+
:nonemployee_compensation => '999'}
|
|
99
|
+
])
|
|
100
|
+
end
|
|
101
|
+
it "should print correctly for each copy" do
|
|
102
|
+
IrsForms::Form1099Misc::COPIES.each do |copy|
|
|
103
|
+
@form1099.copy = copy
|
|
104
|
+
pdf = @form1099.to_pdf(:with_template => true)
|
|
105
|
+
write_content_to_file("f1099msc#{copy}_data_and_template.pdf", pdf)
|
|
106
|
+
assert_data_matches_file_content("f1099msc#{copy}_data_and_template.pdf", pdf)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
it "should generate with offset" do
|
|
111
|
+
@form1099.x_offset = 20 # right 20px
|
|
112
|
+
@form1099.y_offset = -20 # down 20px
|
|
113
|
+
@form1099.copy = 'A'
|
|
114
|
+
pdf = @form1099.to_pdf(:with_template => true)
|
|
115
|
+
write_content_to_file("f1099mscA_data_and_template_offset.pdf", pdf, true)
|
|
116
|
+
assert_data_matches_file_content("f1099mscA_data_and_template_offset.pdf", pdf)
|
|
117
|
+
end
|
|
118
|
+
end
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
3
|
+
require 'rspec'
|
|
4
|
+
require 'irs_forms'
|
|
5
|
+
|
|
6
|
+
# Requires supporting files with custom matchers and macros, etc,
|
|
7
|
+
# in ./support/ and its subdirectories.
|
|
8
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
9
|
+
|
|
10
|
+
RSpec.configure do |config|
|
|
11
|
+
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
TEST_ASSETS = File.expand_path("assets", File.dirname(__FILE__)).to_s
|
|
15
|
+
|
|
16
|
+
# Helper to provide asset path given the "base name" of the file.
|
|
17
|
+
# For example, if +file+ is "default_render", asset_path returns
|
|
18
|
+
# "/path/to/prawnto/spec/assets/default_render-#{prawn version}.pdf"
|
|
19
|
+
def asset_path(file)
|
|
20
|
+
prawn_version = Gem.loaded_specs["prawn"].version.to_s.inspect
|
|
21
|
+
TEST_ASSETS + "/#{file}-#{prawn_version.gsub('"','')}.pdf"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def assert_data_matches_file_content(file, data)
|
|
25
|
+
data.bytes.to_a.should == File.open(asset_path(file)).read.bytes.to_a
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def write_content_to_file(file, content, force_write=false)
|
|
29
|
+
return nil unless force_write
|
|
30
|
+
|
|
31
|
+
f = File.new(asset_path(file), 'w')
|
|
32
|
+
f.write content
|
|
33
|
+
f.close
|
|
34
|
+
true
|
|
35
|
+
end
|
data/templates/NOTES
ADDED
|
Binary file
|
data/templates/f1096.pdf
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
metadata
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: irs_forms
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
prerelease:
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Ryan Winograd
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2013-01-29 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: activesupport
|
|
16
|
+
requirement: &12621680 !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
18
|
+
requirements:
|
|
19
|
+
- - ! '>='
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '0'
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: *12621680
|
|
25
|
+
- !ruby/object:Gem::Dependency
|
|
26
|
+
name: prawn
|
|
27
|
+
requirement: &12619500 !ruby/object:Gem::Requirement
|
|
28
|
+
none: false
|
|
29
|
+
requirements:
|
|
30
|
+
- - ! '>='
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 0.12.0
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: *12619500
|
|
36
|
+
- !ruby/object:Gem::Dependency
|
|
37
|
+
name: rake
|
|
38
|
+
requirement: &12615260 !ruby/object:Gem::Requirement
|
|
39
|
+
none: false
|
|
40
|
+
requirements:
|
|
41
|
+
- - ! '>='
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '0'
|
|
44
|
+
type: :development
|
|
45
|
+
prerelease: false
|
|
46
|
+
version_requirements: *12615260
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: jeweler
|
|
49
|
+
requirement: &12636460 !ruby/object:Gem::Requirement
|
|
50
|
+
none: false
|
|
51
|
+
requirements:
|
|
52
|
+
- - ! '>='
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 1.8.3
|
|
55
|
+
type: :development
|
|
56
|
+
prerelease: false
|
|
57
|
+
version_requirements: *12636460
|
|
58
|
+
- !ruby/object:Gem::Dependency
|
|
59
|
+
name: appraisal
|
|
60
|
+
requirement: &12632960 !ruby/object:Gem::Requirement
|
|
61
|
+
none: false
|
|
62
|
+
requirements:
|
|
63
|
+
- - ! '>='
|
|
64
|
+
- !ruby/object:Gem::Version
|
|
65
|
+
version: '0'
|
|
66
|
+
type: :development
|
|
67
|
+
prerelease: false
|
|
68
|
+
version_requirements: *12632960
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rspec
|
|
71
|
+
requirement: &12682400 !ruby/object:Gem::Requirement
|
|
72
|
+
none: false
|
|
73
|
+
requirements:
|
|
74
|
+
- - ! '>='
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: 2.8.0
|
|
77
|
+
type: :development
|
|
78
|
+
prerelease: false
|
|
79
|
+
version_requirements: *12682400
|
|
80
|
+
- !ruby/object:Gem::Dependency
|
|
81
|
+
name: rdoc
|
|
82
|
+
requirement: &12691700 !ruby/object:Gem::Requirement
|
|
83
|
+
none: false
|
|
84
|
+
requirements:
|
|
85
|
+
- - ! '>='
|
|
86
|
+
- !ruby/object:Gem::Version
|
|
87
|
+
version: '3.12'
|
|
88
|
+
type: :development
|
|
89
|
+
prerelease: false
|
|
90
|
+
version_requirements: *12691700
|
|
91
|
+
- !ruby/object:Gem::Dependency
|
|
92
|
+
name: bundler
|
|
93
|
+
requirement: &12687420 !ruby/object:Gem::Requirement
|
|
94
|
+
none: false
|
|
95
|
+
requirements:
|
|
96
|
+
- - ! '>='
|
|
97
|
+
- !ruby/object:Gem::Version
|
|
98
|
+
version: 1.0.0
|
|
99
|
+
type: :development
|
|
100
|
+
prerelease: false
|
|
101
|
+
version_requirements: *12687420
|
|
102
|
+
description: Generate IRS forms with your data
|
|
103
|
+
email: ryan@thewinograds.com
|
|
104
|
+
executables: []
|
|
105
|
+
extensions: []
|
|
106
|
+
extra_rdoc_files:
|
|
107
|
+
- LICENSE.txt
|
|
108
|
+
- README.rdoc
|
|
109
|
+
files:
|
|
110
|
+
- .document
|
|
111
|
+
- Gemfile
|
|
112
|
+
- Gemfile.lock
|
|
113
|
+
- LICENSE.txt
|
|
114
|
+
- README.rdoc
|
|
115
|
+
- Rakefile
|
|
116
|
+
- VERSION
|
|
117
|
+
- irs_forms.gemspec
|
|
118
|
+
- lib/irs_forms.rb
|
|
119
|
+
- lib/irs_forms/form.rb
|
|
120
|
+
- lib/irs_forms/form1096.rb
|
|
121
|
+
- lib/irs_forms/form1099.rb
|
|
122
|
+
- lib/irs_forms/form1099_int.rb
|
|
123
|
+
- lib/irs_forms/form1099_misc.rb
|
|
124
|
+
- spec/assets/copyA_with_data_and_no_template.pdf-0.12.0.pdf
|
|
125
|
+
- spec/assets/copyA_with_data_and_template.pdf-0.12.0.pdf
|
|
126
|
+
- spec/assets/copyA_with_template.pdf-0.12.0.pdf
|
|
127
|
+
- spec/assets/f1096_for_1099int.pdf-0.12.0.pdf
|
|
128
|
+
- spec/assets/f1096_with_data_and_no_template.pdf-0.12.0.pdf
|
|
129
|
+
- spec/assets/f1096_with_data_and_template.pdf-0.12.0.pdf
|
|
130
|
+
- spec/assets/f1096_with_data_and_template_offset.pdf-0.12.0.pdf
|
|
131
|
+
- spec/assets/f1096_with_template.pdf-0.12.0.pdf
|
|
132
|
+
- spec/assets/f1099intA_data_and_template.pdf-0.12.0.pdf
|
|
133
|
+
- spec/assets/f1099intA_data_and_template_offset.pdf-0.12.0.pdf
|
|
134
|
+
- spec/assets/f1099intB_data_and_template.pdf-0.12.0.pdf
|
|
135
|
+
- spec/assets/f1099intC_data_and_template.pdf-0.12.0.pdf
|
|
136
|
+
- spec/assets/f1099msc1_data_and_template.pdf-0.12.0.pdf
|
|
137
|
+
- spec/assets/f1099msc2_data_and_template.pdf-0.12.0.pdf
|
|
138
|
+
- spec/assets/f1099mscA_data_and_template.pdf-0.12.0.pdf
|
|
139
|
+
- spec/assets/f1099mscA_data_and_template_offset.pdf-0.12.0.pdf
|
|
140
|
+
- spec/assets/f1099mscB_data_and_template.pdf-0.12.0.pdf
|
|
141
|
+
- spec/assets/f1099mscC_data_and_template.pdf-0.12.0.pdf
|
|
142
|
+
- spec/form1096_spec.rb
|
|
143
|
+
- spec/form1099_int_spec.rb
|
|
144
|
+
- spec/form1099_misc_spec.rb
|
|
145
|
+
- spec/irs_forms_spec.rb
|
|
146
|
+
- spec/spec_helper.rb
|
|
147
|
+
- templates/NOTES
|
|
148
|
+
- templates/f1096--2012.pdf
|
|
149
|
+
- templates/f1096.pdf
|
|
150
|
+
- templates/f1099int--2012.pdf
|
|
151
|
+
- templates/f1099int-copyA.pdf
|
|
152
|
+
- templates/f1099int-copyB.pdf
|
|
153
|
+
- templates/f1099int-copyC.pdf
|
|
154
|
+
- templates/f1099msc--2012.pdf
|
|
155
|
+
- templates/f1099msc-copy1.pdf
|
|
156
|
+
- templates/f1099msc-copy2.pdf
|
|
157
|
+
- templates/f1099msc-copyA.pdf
|
|
158
|
+
- templates/f1099msc-copyB.pdf
|
|
159
|
+
- templates/f1099msc-copyC.pdf
|
|
160
|
+
homepage: http://github.com/ValencePM/irs_forms
|
|
161
|
+
licenses:
|
|
162
|
+
- MIT
|
|
163
|
+
post_install_message:
|
|
164
|
+
rdoc_options: []
|
|
165
|
+
require_paths:
|
|
166
|
+
- lib
|
|
167
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
|
+
none: false
|
|
169
|
+
requirements:
|
|
170
|
+
- - ! '>='
|
|
171
|
+
- !ruby/object:Gem::Version
|
|
172
|
+
version: '0'
|
|
173
|
+
segments:
|
|
174
|
+
- 0
|
|
175
|
+
hash: 2355726648018043542
|
|
176
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
|
+
none: false
|
|
178
|
+
requirements:
|
|
179
|
+
- - ! '>='
|
|
180
|
+
- !ruby/object:Gem::Version
|
|
181
|
+
version: '0'
|
|
182
|
+
requirements: []
|
|
183
|
+
rubyforge_project:
|
|
184
|
+
rubygems_version: 1.8.10
|
|
185
|
+
signing_key:
|
|
186
|
+
specification_version: 3
|
|
187
|
+
summary: Generate IRS forms with your data
|
|
188
|
+
test_files: []
|