Class: Slcsp::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/slcsp/cli.rb

Overview

cli client

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#plan_indexObject

Returns the value of attribute plan_index.



10
11
12
# File 'lib/slcsp/cli.rb', line 10

def plan_index
  @plan_index
end

#zip_indexObject

Returns the value of attribute zip_index.



10
11
12
# File 'lib/slcsp/cli.rb', line 10

def zip_index
  @zip_index
end

Instance Method Details

#configureObject



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/slcsp/cli.rb', line 15

def configure
  dir = File.dirname(File.expand_path('../..', __FILE__))

  Slcsp::Config.configure do |config|
    config.zips_file = File.join(dir, 'data', 'zips.csv')
    config.plans_file = File.join(dir, 'data', 'plans.csv')
    config.slcsp_file = File.join(dir, 'data', 'slcsp.csv')
    config.output_medium = $stdout
    config.target_level = 'Silver'
  end
end

#indexObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/slcsp/cli.rb', line 30

def index
  zip_index = Slcsp::Index.new()
  plan_index = Slcsp::Index.new()
  zip_parser = Slcsp::ZipParser.new(Slcsp::Config.zips_file, zip_index)
  plan_parser = Slcsp::PlanParser.new(Slcsp::Config.plans_file, plan_index)

  zip_parser.parse_and_record if zip_index.data.empty?
  plan_parser.parse_and_record if plan_index.data.empty?

  return zip_index, plan_index
end

#matchObject



44
45
46
47
48
49
50
51
52
53
# File 'lib/slcsp/cli.rb', line 44

def match
  @cli = Slcsp::CLI.new

  @cli.invoke :configure
  zip_index, plan_index = @cli.invoke :index

  slcsp_parser = Slcsp::SlcspParser.new(Slcsp::Config.slcsp_file)
  slcsp_matcher = Slcsp::SlcspMatcher.new(zip_index, plan_index, slcsp_parser)
  slcsp_matcher.match_each
end