Class: PGit::Project::ReuseApiTokenAdder

Inherits:
Object
  • Object
show all
Includes:
Interactive
Defined in:
lib/pgit/project/reuse_api_token_adder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project_to_add_to, projects_in_config) ⇒ ReuseApiTokenAdder

Returns a new instance of ReuseApiTokenAdder.



9
10
11
12
# File 'lib/pgit/project/reuse_api_token_adder.rb', line 9

def initialize(project_to_add_to, projects_in_config)
  @project = project_to_add_to
  @projects = projects_in_config
end

Instance Attribute Details

#projectObject (readonly)

Returns the value of attribute project.



8
9
10
# File 'lib/pgit/project/reuse_api_token_adder.rb', line 8

def project
  @project
end

#projectsObject (readonly)

Returns the value of attribute projects.



8
9
10
# File 'lib/pgit/project/reuse_api_token_adder.rb', line 8

def projects
  @projects
end

Instance Method Details

#execute!Object



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/pgit/project/reuse_api_token_adder.rb', line 14

def execute!
  return false if @projects.empty?

  reuse_question.ask_and_wait_for_valid_response do |reuse_response|
    if reuse_response.yes?
      which_to_reuse_question.ask_and_wait_for_valid_response do |which_response|
        if which_response.whole_number?
          project.api_token = projects[which_response.to_i].api_token
        end
      end
    end
  end
end