fbo 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -5
- data/Gemfile +0 -2
- data/Rakefile +8 -1
- data/fbo.gemspec +14 -9
- data/lib/fbo.rb +7 -38
- data/lib/fbo/chunked_file.rb +74 -0
- data/lib/fbo/dump.treetop +324 -0
- data/lib/fbo/file.rb +17 -1
- data/lib/fbo/interpreter.rb +87 -0
- data/lib/fbo/node_extensions.rb +173 -0
- data/lib/fbo/parser.rb +43 -46
- data/lib/fbo/remote_file.rb +4 -4
- data/lib/fbo/version.rb +1 -1
- data/spec/fbo/chunked_file_spec.rb +22 -0
- data/spec/fbo/file_spec.rb +26 -9
- data/spec/fbo/interpreter_spec.rb +73 -0
- data/spec/fbo/parser_spec.rb +36 -38
- data/spec/fbo/remote_file_spec.rb +28 -24
- data/spec/fixtures/.keep +0 -0
- data/spec/fixtures/FBOFeed20130331 +52 -5529
- data/spec/fixtures/FBOFeed20131003 +35126 -0
- data/spec/spec_helper.rb +14 -16
- metadata +70 -108
- data/.rspec +0 -2
- data/Gemfile.lock +0 -27
- data/lib/fbo/notice.rb +0 -9
- data/lib/fbo/notices.rb +0 -6
- data/lib/fbo/notices/amendment.rb +0 -13
- data/lib/fbo/notices/archive.rb +0 -8
- data/lib/fbo/notices/award.rb +0 -14
- data/lib/fbo/notices/combined_solicitation.rb +0 -14
- data/lib/fbo/notices/fair_opportunity.rb +0 -15
- data/lib/fbo/notices/foreign_standard.rb +0 -13
- data/lib/fbo/notices/intent_to_bundle.rb +0 -13
- data/lib/fbo/notices/justification_approval.rb +0 -18
- data/lib/fbo/notices/modification.rb +0 -14
- data/lib/fbo/notices/presolicitation.rb +0 -14
- data/lib/fbo/notices/sale_of_surplus.rb +0 -13
- data/lib/fbo/notices/sources_sought.rb +0 -13
- data/lib/fbo/notices/special_notice.rb +0 -13
- data/lib/fbo/notices/unarchive.rb +0 -9
- data/lib/fbo/notices/unknown.rb +0 -7
- data/lib/fbo/parser/amendment_handler.rb +0 -58
- data/lib/fbo/parser/archive_handler.rb +0 -41
- data/lib/fbo/parser/award_handler.rb +0 -62
- data/lib/fbo/parser/combined_solicitation_handler.rb +0 -57
- data/lib/fbo/parser/fair_opportunity_handler.rb +0 -61
- data/lib/fbo/parser/foreign_standard_handler.rb +0 -57
- data/lib/fbo/parser/handler_selector.rb +0 -37
- data/lib/fbo/parser/intent_to_bundle_handler.rb +0 -56
- data/lib/fbo/parser/justification_approval_handler.rb +0 -60
- data/lib/fbo/parser/modification_handler.rb +0 -66
- data/lib/fbo/parser/notice_handler.rb +0 -27
- data/lib/fbo/parser/parser_helper.rb +0 -315
- data/lib/fbo/parser/presolicitation_handler.rb +0 -57
- data/lib/fbo/parser/sale_of_surplus_handler.rb +0 -57
- data/lib/fbo/parser/sources_sought_handler.rb +0 -57
- data/lib/fbo/parser/special_notice_handler.rb +0 -57
- data/lib/fbo/parser/unarchive_handler.rb +0 -42
- data/lib/fbo/parser/unknown_handler.rb +0 -20
- data/spec/fbo/parser/amendment_handler_spec.rb +0 -51
- data/spec/fbo/parser/archive_handler_spec.rb +0 -36
- data/spec/fbo/parser/award_handler_spec.rb +0 -56
- data/spec/fbo/parser/combined_solicitation_handler_spec.rb +0 -51
- data/spec/fbo/parser/fair_opportunity_handler_spec.rb +0 -56
- data/spec/fbo/parser/foreign_standard_handler_spec.rb +0 -51
- data/spec/fbo/parser/handler_selector_spec.rb +0 -40
- data/spec/fbo/parser/intent_to_bundle_handler_spec.rb +0 -52
- data/spec/fbo/parser/justification_approval_handler_spec.rb +0 -53
- data/spec/fbo/parser/modification_handler_spec.rb +0 -52
- data/spec/fbo/parser/presolicitation_handler_spec.rb +0 -51
- data/spec/fbo/parser/sale_of_surplus_handler_spec.rb +0 -53
- data/spec/fbo/parser/sources_sought_handler_spec.rb +0 -51
- data/spec/fbo/parser/special_notice_handler_spec.rb +0 -53
- data/spec/fbo/parser/unarchive_handler_spec.rb +0 -37
- data/spec/fbo/parser/unknown_handler_spec.rb +0 -24
- data/spec/fixtures/FBOFeed20130404 +0 -45653
- data/spec/fixtures/FBOFeed20130406 +0 -10152
- data/spec/fixtures/FBOFeed20130407 +0 -6610
- data/spec/fixtures/notices/amdcss +0 -26
- data/spec/fixtures/notices/archive +0 -10
- data/spec/fixtures/notices/award +0 -31
- data/spec/fixtures/notices/combine +0 -29
- data/spec/fixtures/notices/fairopp +0 -29
- data/spec/fixtures/notices/fstd +0 -24
- data/spec/fixtures/notices/itb +0 -19
- data/spec/fixtures/notices/ja +0 -30
- data/spec/fixtures/notices/mod +0 -28
- data/spec/fixtures/notices/notanotice +0 -7
- data/spec/fixtures/notices/presol +0 -25
- data/spec/fixtures/notices/snote +0 -26
- data/spec/fixtures/notices/srcsgt +0 -27
- data/spec/fixtures/notices/ssale +0 -24
- data/spec/fixtures/notices/unarchive +0 -10
@@ -1,14 +0,0 @@
|
|
1
|
-
module FBO
|
2
|
-
module Notices
|
3
|
-
class Presolicitation < Struct.new(:date, :year, :zip, :class_code,
|
4
|
-
:naics_code, :agency, :office, :location,
|
5
|
-
:office_address, :subject, :solicitation_number,
|
6
|
-
:response_date, :archive_date,
|
7
|
-
:contact_info, :description, :link_url,
|
8
|
-
:link_description, :email_address,
|
9
|
-
:email_description, :setaside, :pop_address,
|
10
|
-
:pop_zip, :pop_country)
|
11
|
-
include FBO::Notice
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
module FBO
|
2
|
-
module Notices
|
3
|
-
class SaleOfSurplus < Struct.new(:date, :year, :zip, :class_code, :naics_code,
|
4
|
-
:agency, :office, :location, :office_address,
|
5
|
-
:subject, :solicitation_number, :response_date,
|
6
|
-
:archive_date, :description, :contact_info,
|
7
|
-
:link_url, :link_description, :email_address,
|
8
|
-
:email_description, :setaside, :pop_country,
|
9
|
-
:pop_zip, :pop_address)
|
10
|
-
include FBO::Notice
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
module FBO
|
2
|
-
module Notices
|
3
|
-
class SourcesSought < Struct.new(:date, :year, :zip, :class_code, :naics_code,
|
4
|
-
:agency, :office, :location, :office_address,
|
5
|
-
:subject, :solicitation_number,
|
6
|
-
:response_date, :archive_date, :contact_info,
|
7
|
-
:description, :link_url, :link_description,
|
8
|
-
:email_address, :email_description, :setaside,
|
9
|
-
:pop_address, :pop_zip, :pop_country)
|
10
|
-
include FBO::Notice
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
module FBO
|
2
|
-
module Notices
|
3
|
-
class SpecialNotice < Struct.new(:date, :year, :zip, :class_code, :naics_code,
|
4
|
-
:agency, :office, :location, :office_address,
|
5
|
-
:subject, :solicitation_number, :response_date,
|
6
|
-
:archive_date, :description, :contact_info,
|
7
|
-
:link_url, :link_description, :email_address,
|
8
|
-
:email_description, :setaside, :pop_country,
|
9
|
-
:pop_zip, :pop_address)
|
10
|
-
include FBO::Notice
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
data/lib/fbo/notices/unknown.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
module FBO::Parser::AmendmentHandler
|
2
|
-
TAGS = %w( AMDCSS DATE YEAR CBAC PASSWORD ZIP CLASSCOD NAICS OFFADD NTYPE) +
|
3
|
-
%w( AGENCY OFFICE LOCATION SUBJECT SOLNBR RESPDATE ARCHDATE CONTACT DESC ) +
|
4
|
-
%w( LINK URL EMAIL ADDRESS SETASIDE POPADDRESS POPZIP POPCOUNTRY \/AMDCSS )
|
5
|
-
|
6
|
-
ANY_AMDCSS_TAG = TAGS.join("|")
|
7
|
-
AMENDMENT_PATTERN = /^<AMDCSS>/
|
8
|
-
|
9
|
-
|
10
|
-
def is_amendment?(text)
|
11
|
-
text =~ AMENDMENT_PATTERN
|
12
|
-
end
|
13
|
-
|
14
|
-
def parse(text)
|
15
|
-
params = {
|
16
|
-
date: date(text),
|
17
|
-
year: year(text),
|
18
|
-
zip: zip(text),
|
19
|
-
class_code: classification_code(text),
|
20
|
-
naics_code: naics_code(text),
|
21
|
-
agency: agency(text),
|
22
|
-
office: office(text),
|
23
|
-
location: location(text),
|
24
|
-
office_address: office_address(text),
|
25
|
-
subject: subject(text),
|
26
|
-
solicitation_number: solicitation_number(text),
|
27
|
-
notice_type: notice_type(text),
|
28
|
-
response_date: response_date(text),
|
29
|
-
archive_date: archive_date(text),
|
30
|
-
contact_info: contact(text),
|
31
|
-
description: description(text),
|
32
|
-
link_url: link_url(text),
|
33
|
-
link_description: link_description(text),
|
34
|
-
email_address: email_address(text),
|
35
|
-
email_description: email_description(text),
|
36
|
-
setaside: set_aside(text),
|
37
|
-
pop_address: pop_address(text),
|
38
|
-
pop_zip: pop_zip_code(text),
|
39
|
-
pop_country: pop_country(text)
|
40
|
-
}
|
41
|
-
FBO::Notices::Amendment.new(params)
|
42
|
-
end
|
43
|
-
|
44
|
-
|
45
|
-
protected
|
46
|
-
|
47
|
-
# Returns a concatenated list of all tags for the notice
|
48
|
-
#
|
49
|
-
# @return [String]
|
50
|
-
def any_notice_tag
|
51
|
-
ANY_AMDCSS_TAG
|
52
|
-
end
|
53
|
-
|
54
|
-
|
55
|
-
extend FBO::Parser::NoticeHandler
|
56
|
-
extend FBO::Parser::ParserHelper
|
57
|
-
extend self
|
58
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
module FBO::Parser::ArchiveHandler
|
2
|
-
TAGS = %w( ARCHIVE DATE YEAR CBAC PASSWORD AGENCY OFFICE LOCATION NTYPE ) +
|
3
|
-
%w( SOLNBR ARCHDATE \/ARCHIVE )
|
4
|
-
|
5
|
-
ANY_ARCHIVE_TAG = TAGS.join("|")
|
6
|
-
ARCHIVE_PATTERN = /^<ARCHIVE>/
|
7
|
-
|
8
|
-
|
9
|
-
def is_archive?(text)
|
10
|
-
text =~ ARCHIVE_PATTERN
|
11
|
-
end
|
12
|
-
|
13
|
-
def parse(text)
|
14
|
-
params = {
|
15
|
-
date: date(text),
|
16
|
-
year: year(text),
|
17
|
-
agency: agency(text),
|
18
|
-
office: office(text),
|
19
|
-
location: location(text),
|
20
|
-
solicitation_number: solicitation_number(text),
|
21
|
-
notice_type: notice_type(text),
|
22
|
-
archive_date: archive_date(text)
|
23
|
-
}
|
24
|
-
FBO::Notices::Archive.new(params)
|
25
|
-
end
|
26
|
-
|
27
|
-
|
28
|
-
protected
|
29
|
-
|
30
|
-
# Returns a concatenated list of all tags for the notice
|
31
|
-
#
|
32
|
-
# @return [String]
|
33
|
-
def any_notice_tag
|
34
|
-
ANY_ARCHIVE_TAG
|
35
|
-
end
|
36
|
-
|
37
|
-
|
38
|
-
extend FBO::Parser::NoticeHandler
|
39
|
-
extend FBO::Parser::ParserHelper
|
40
|
-
extend self
|
41
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
module FBO::Parser::AwardHandler
|
2
|
-
TAGS = %w( AWARD DATE YEAR CBAC PASSWORD ZIP CLASSCOD NAICS OFFADD ) +
|
3
|
-
%w( AGENCY OFFICE LOCATION SUBJECT SOLNBR NTYPE DESC CONTACT AWDNBR AWDAMT ) +
|
4
|
-
%w( LINENBR AWDDATE ARCHDATE AWARDEE AWARDEEDUNS LINK URL EMAIL ADDRESS ) +
|
5
|
-
%w( SETASIDE CORRECTION /AWARD )
|
6
|
-
|
7
|
-
ANY_AWARD_TAG = TAGS.join("|")
|
8
|
-
AWARD_PATTERN = /^<AWARD>/
|
9
|
-
|
10
|
-
|
11
|
-
def is_award?(text)
|
12
|
-
text =~ AWARD_PATTERN
|
13
|
-
end
|
14
|
-
|
15
|
-
def parse(text)
|
16
|
-
params = {
|
17
|
-
date: date(text),
|
18
|
-
year: year(text),
|
19
|
-
zip: zip(text),
|
20
|
-
class_code: classification_code(text),
|
21
|
-
naics_code: naics_code(text),
|
22
|
-
agency: agency(text),
|
23
|
-
office: office(text),
|
24
|
-
location: location(text),
|
25
|
-
office_address: office_address(text),
|
26
|
-
subject: subject(text),
|
27
|
-
solicitation_number: solicitation_number(text),
|
28
|
-
notice_type: notice_type(text),
|
29
|
-
description: description(text),
|
30
|
-
contact_info: contact(text),
|
31
|
-
award_number: award_number(text),
|
32
|
-
award_amount: award_amount(text),
|
33
|
-
line_number: line_number(text),
|
34
|
-
award_date: award_date(text),
|
35
|
-
archive_date: archive_date(text),
|
36
|
-
awardee: awardee(text),
|
37
|
-
awardee_duns: awardee_duns(text),
|
38
|
-
link_url: link_url(text),
|
39
|
-
link_description: link_description(text),
|
40
|
-
email_address: email_address(text),
|
41
|
-
email_description: email_description(text),
|
42
|
-
setaside: set_aside(text),
|
43
|
-
correction: correction?(text)
|
44
|
-
}
|
45
|
-
FBO::Notices::Award.new(params)
|
46
|
-
end
|
47
|
-
|
48
|
-
|
49
|
-
protected
|
50
|
-
|
51
|
-
# Returns a concatenated list of all tags for the notice
|
52
|
-
#
|
53
|
-
# @return [String]
|
54
|
-
def any_notice_tag
|
55
|
-
ANY_AWARD_TAG
|
56
|
-
end
|
57
|
-
|
58
|
-
|
59
|
-
extend FBO::Parser::NoticeHandler
|
60
|
-
extend FBO::Parser::ParserHelper
|
61
|
-
extend self
|
62
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module FBO::Parser::CombinedSolicitationHandler
|
2
|
-
TAGS = %w( COMBINE DATE YEAR CBAC PASSWORD ZIP CLASSCOD NAICS OFFADD ) +
|
3
|
-
%w( AGENCY OFFICE LOCATION SUBJECT SOLNBR RESPDATE ARCHDATE CONTACT DESC ) +
|
4
|
-
%w( LINK URL EMAIL ADDRESS SETASIDE POPADDRESS POPZIP POPCOUNTRY \/COMBINE )
|
5
|
-
|
6
|
-
ANY_COMBINE_TAG = TAGS.join("|")
|
7
|
-
COMBINED_PATTERN = /^<COMBINE>/
|
8
|
-
|
9
|
-
|
10
|
-
def is_combined_solicitation?(text)
|
11
|
-
text =~ COMBINED_PATTERN
|
12
|
-
end
|
13
|
-
|
14
|
-
def parse(text)
|
15
|
-
params = {
|
16
|
-
date: date(text),
|
17
|
-
year: year(text),
|
18
|
-
zip: zip(text),
|
19
|
-
class_code: classification_code(text),
|
20
|
-
naics_code: naics_code(text),
|
21
|
-
agency: agency(text),
|
22
|
-
office: office(text),
|
23
|
-
location: location(text),
|
24
|
-
office_address: office_address(text),
|
25
|
-
subject: subject(text),
|
26
|
-
solicitation_number: solicitation_number(text),
|
27
|
-
response_date: response_date(text),
|
28
|
-
archive_date: archive_date(text),
|
29
|
-
contact_info: contact(text),
|
30
|
-
description: description(text),
|
31
|
-
link_url: link_url(text),
|
32
|
-
link_description: link_description(text),
|
33
|
-
email_address: email_address(text),
|
34
|
-
email_description: email_description(text),
|
35
|
-
setaside: set_aside(text),
|
36
|
-
pop_address: pop_address(text),
|
37
|
-
pop_zip: pop_zip_code(text),
|
38
|
-
pop_country: pop_country(text)
|
39
|
-
}
|
40
|
-
FBO::Notices::CombinedSolicitation.new(params)
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
protected
|
45
|
-
|
46
|
-
# Returns a concatenated list of all tags for the notice
|
47
|
-
#
|
48
|
-
# @return [String]
|
49
|
-
def any_notice_tag
|
50
|
-
ANY_COMBINE_TAG
|
51
|
-
end
|
52
|
-
|
53
|
-
|
54
|
-
extend FBO::Parser::NoticeHandler
|
55
|
-
extend FBO::Parser::ParserHelper
|
56
|
-
extend self
|
57
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
module FBO::Parser::FairOpportunityHandler
|
2
|
-
TAGS = %w( FAIROPP DATE YEAR CBAC PASSWORD ZIP CLASSCOD NAICS OFFADD AGENCY ) +
|
3
|
-
%w( OFFICE LOCATION SUBJECT SOLNBR NTYPE FOJA AWDNBR DONBR MODNBR AWDDATE ) +
|
4
|
-
%w( ARCHDATE DESC CONTACT LINK URL EMAIL ADDRESS FILELIST FILE MIMETYPE ) +
|
5
|
-
%w( /FILE /FILELIST CORRECTION /FAIROPP )
|
6
|
-
|
7
|
-
ANY_FAIROPP_TAG = TAGS.join("|")
|
8
|
-
FAIR_OPPORTUNITY_PATTERN = /^<FAIROPP>/
|
9
|
-
|
10
|
-
|
11
|
-
def is_fair_opportunity?(text)
|
12
|
-
text =~ FAIR_OPPORTUNITY_PATTERN
|
13
|
-
end
|
14
|
-
|
15
|
-
def parse(text)
|
16
|
-
params = {
|
17
|
-
date: date(text),
|
18
|
-
year: year(text),
|
19
|
-
zip: zip(text),
|
20
|
-
class_code: classification_code(text),
|
21
|
-
naics_code: naics_code(text),
|
22
|
-
agency: agency(text),
|
23
|
-
office: office(text),
|
24
|
-
location: location(text),
|
25
|
-
office_address: office_address(text),
|
26
|
-
subject: subject(text),
|
27
|
-
solicitation_number: solicitation_number(text),
|
28
|
-
notice_type: notice_type(text),
|
29
|
-
justification_authority: justification_authority(text),
|
30
|
-
award_number: award_number(text),
|
31
|
-
delivery_order_number: delivery_order_number(text),
|
32
|
-
modification_number: modification_number(text),
|
33
|
-
award_date: award_date(text),
|
34
|
-
archive_date: archive_date(text),
|
35
|
-
description: description(text),
|
36
|
-
contact_info: contact(text),
|
37
|
-
link_url: link_url(text),
|
38
|
-
link_description: link_description(text),
|
39
|
-
email_address: email_address(text),
|
40
|
-
email_description: email_description(text),
|
41
|
-
file_list: file_list(text),
|
42
|
-
correction: correction?(text)
|
43
|
-
}
|
44
|
-
FBO::Notices::FairOpportunity.new(params)
|
45
|
-
end
|
46
|
-
|
47
|
-
|
48
|
-
protected
|
49
|
-
|
50
|
-
# Returns a concatenated list of all tags for the notice
|
51
|
-
#
|
52
|
-
# @return [String]
|
53
|
-
def any_notice_tag
|
54
|
-
ANY_FAIROPP_TAG
|
55
|
-
end
|
56
|
-
|
57
|
-
|
58
|
-
extend FBO::Parser::NoticeHandler
|
59
|
-
extend FBO::Parser::ParserHelper
|
60
|
-
extend self
|
61
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module FBO::Parser::ForeignStandardHandler
|
2
|
-
TAGS = %w( FSTD DATE YEAR CBAC PASSWORD ZIP CLASSCOD NAICS OFFADD AGENCY ) +
|
3
|
-
%w( OFFICE LOCATION SUBJECT SOLNBR RESPDATE ARCHDATE CONTACT DESC LINK ) +
|
4
|
-
%w( URL EMAIL ADDRESS SETASIDE POPCOUNTRY POPADDRESS POPZIP \/FSTD )
|
5
|
-
|
6
|
-
ANY_FSTD_TAG = TAGS.join("|")
|
7
|
-
FOREIGN_STANDARD_PATTERN = /^<FSTD>/
|
8
|
-
|
9
|
-
|
10
|
-
def is_foreign_standard?(text)
|
11
|
-
text =~ FOREIGN_STANDARD_PATTERN
|
12
|
-
end
|
13
|
-
|
14
|
-
def parse(text)
|
15
|
-
params = {
|
16
|
-
date: date(text),
|
17
|
-
year: year(text),
|
18
|
-
zip: zip(text),
|
19
|
-
class_code: classification_code(text),
|
20
|
-
naics_code: naics_code(text),
|
21
|
-
agency: agency(text),
|
22
|
-
office: office(text),
|
23
|
-
location: location(text),
|
24
|
-
office_address: office_address(text),
|
25
|
-
subject: subject(text),
|
26
|
-
solicitation_number: solicitation_number(text),
|
27
|
-
response_date: response_date(text),
|
28
|
-
archive_date: archive_date(text),
|
29
|
-
contact_info: contact(text),
|
30
|
-
description: description(text),
|
31
|
-
link_url: link_url(text),
|
32
|
-
link_description: link_description(text),
|
33
|
-
email_address: email_address(text),
|
34
|
-
email_description: email_description(text),
|
35
|
-
setaside: set_aside(text),
|
36
|
-
pop_address: pop_address(text),
|
37
|
-
pop_zip: pop_zip_code(text),
|
38
|
-
pop_country: pop_country(text)
|
39
|
-
}
|
40
|
-
FBO::Notices::ForeignStandard.new(params)
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
protected
|
45
|
-
|
46
|
-
# Returns a concatenated list of all tags for the notice
|
47
|
-
#
|
48
|
-
# @return [String]
|
49
|
-
def any_notice_tag
|
50
|
-
ANY_FSTD_TAG
|
51
|
-
end
|
52
|
-
|
53
|
-
|
54
|
-
extend FBO::Parser::NoticeHandler
|
55
|
-
extend FBO::Parser::ParserHelper
|
56
|
-
extend self
|
57
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
class FBO::Parser::HandlerSelector
|
2
|
-
|
3
|
-
def self.select(text)
|
4
|
-
if FBO::Parser::PresolicitationHandler.is_presolicitation?(text)
|
5
|
-
FBO::Parser::PresolicitationHandler
|
6
|
-
elsif FBO::Parser::CombinedSolicitationHandler.is_combined_solicitation?(text)
|
7
|
-
FBO::Parser::CombinedSolicitationHandler
|
8
|
-
elsif FBO::Parser::SourcesSoughtHandler.is_sources_sought?(text)
|
9
|
-
FBO::Parser::SourcesSoughtHandler
|
10
|
-
elsif FBO::Parser::AmendmentHandler.is_amendment?(text)
|
11
|
-
FBO::Parser::AmendmentHandler
|
12
|
-
elsif FBO::Parser::ModificationHandler.is_modification?(text)
|
13
|
-
FBO::Parser::ModificationHandler
|
14
|
-
elsif FBO::Parser::AwardHandler.is_award?(text)
|
15
|
-
FBO::Parser::AwardHandler
|
16
|
-
elsif FBO::Parser::FairOpportunityHandler.is_fair_opportunity?(text)
|
17
|
-
FBO::Parser::FairOpportunityHandler
|
18
|
-
elsif FBO::Parser::ForeignStandardHandler.is_foreign_standard?(text)
|
19
|
-
FBO::Parser::ForeignStandardHandler
|
20
|
-
elsif FBO::Parser::ArchiveHandler.is_archive?(text)
|
21
|
-
FBO::Parser::ArchiveHandler
|
22
|
-
elsif FBO::Parser::IntentToBundleHandler.is_intent_to_bundle?(text)
|
23
|
-
FBO::Parser::IntentToBundleHandler
|
24
|
-
elsif FBO::Parser::JustificationApprovalHandler.is_justification_approval?(text)
|
25
|
-
FBO::Parser::JustificationApprovalHandler
|
26
|
-
elsif FBO::Parser::SaleOfSurplusHandler.is_sale_of_surplus?(text)
|
27
|
-
FBO::Parser::SaleOfSurplusHandler
|
28
|
-
elsif FBO::Parser::SpecialNoticeHandler.is_special_notice?(text)
|
29
|
-
FBO::Parser::SpecialNoticeHandler
|
30
|
-
elsif FBO::Parser::UnarchiveHandler.is_unarchive?(text)
|
31
|
-
FBO::Parser::UnarchiveHandler
|
32
|
-
else
|
33
|
-
FBO::Parser::UnknownHandler
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|