grade_runner 0.0.4 → 0.0.5
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 +4 -4
- data/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/lib/tasks/grade.rake +22 -47
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f83e35368d549636de5841a719e1c81f211fedf13572bdd27a819b24b04ebbeb
         | 
| 4 | 
            +
              data.tar.gz: 5f237a123364f57d1cb83ed9c98134391600fa57b020d7e2d05346a8676c4cc8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 343919cd54317ce463d9fccbc4a3eca37d0faafe36c31fa294ed911e96aecdec637b6a4e728dde8f7fab3a945a86054bc02717ddc659e56f75bcfcea9661b280
         | 
| 7 | 
            +
              data.tar.gz: 5f13ed69664ba6a817247be6933306aa610267b37f04f1bb259036fc64a4798006b74fad7ec42b250ddc6e9f2242e6a715738034aafddd7d2cab9c797d459c81
         | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.0. | 
| 1 | 
            +
            0.0.5
         | 
    
        data/lib/tasks/grade.rake
    CHANGED
    
    | @@ -3,13 +3,12 @@ require 'net/http' | |
| 3 3 | 
             
            require "json"
         | 
| 4 4 | 
             
            require_relative "../grade_runner/runner"
         | 
| 5 5 |  | 
| 6 | 
            -
            desc "Alias for \"grade:next\"."
         | 
| 7 | 
            -
            task grade: "grade:all" do
         | 
| 8 | 
            -
            end
         | 
| 6 | 
            +
            # desc "Alias for \"grade:next\"."
         | 
| 7 | 
            +
            # task grade: "grade:all" do
         | 
| 8 | 
            +
            # end
         | 
| 9 9 |  | 
| 10 | 
            -
            namespace :grade do
         | 
| 11 10 | 
             
              desc "Run all tests and submit a build report."
         | 
| 12 | 
            -
              task : | 
| 11 | 
            +
              task :grade do
         | 
| 13 12 | 
             
                ARGV.each { |a| task a.to_sym do ; end }
         | 
| 14 13 | 
             
                input_token = ARGV[1]
         | 
| 15 14 | 
             
                file_token = nil
         | 
| @@ -31,29 +30,15 @@ namespace :grade do | |
| 31 30 | 
             
                  submission_url = "https://grades.firstdraft.com"
         | 
| 32 31 | 
             
                end
         | 
| 33 32 |  | 
| 34 | 
            -
                if input_token !=  | 
| 35 | 
            -
                   input_token != "" &&
         | 
| 36 | 
            -
                   input_token !=  " " && 
         | 
| 37 | 
            -
                   !input_token.nil? && 
         | 
| 38 | 
            -
                   input_token != [] && 
         | 
| 39 | 
            -
                   input_token != {}
         | 
| 40 | 
            -
             | 
| 33 | 
            +
                if !input_token.nil? && input_token != "" && input_token != " "
         | 
| 41 34 | 
             
                  token = input_token
         | 
| 42 35 | 
             
                  student_config["personal_access_token"] = input_token
         | 
| 43 36 | 
             
                  update_config_file(config_file_name, student_config)
         | 
| 44 | 
            -
                elsif input_token.nil? &&
         | 
| 45 | 
            -
                  file_token != false &&
         | 
| 46 | 
            -
                  file_token != "" &&
         | 
| 47 | 
            -
                  file_token !=  " " && 
         | 
| 48 | 
            -
                  !file_token.nil? && 
         | 
| 49 | 
            -
                  file_token != [] && 
         | 
| 50 | 
            -
                  file_token != {}
         | 
| 51 | 
            -
             | 
| 37 | 
            +
                elsif input_token.nil? && !file_token.nil?
         | 
| 52 38 | 
             
                  token = file_token
         | 
| 53 39 | 
             
                elsif input_token.nil? && file_token.nil?
         | 
| 54 40 | 
             
                  puts "Enter your access token for this project"
         | 
| 55 41 | 
             
                  new_personal_access_token = ""
         | 
| 56 | 
            -
             | 
| 57 42 | 
             
                  while new_personal_access_token == "" do
         | 
| 58 43 | 
             
                    print "> "
         | 
| 59 44 | 
             
                    new_personal_access_token = $stdin.gets.chomp.strip
         | 
| @@ -71,12 +56,7 @@ namespace :grade do | |
| 71 56 | 
             
                  end
         | 
| 72 57 | 
             
                end
         | 
| 73 58 |  | 
| 74 | 
            -
                if token !=  | 
| 75 | 
            -
                  token != "" &&
         | 
| 76 | 
            -
                  token !=  " " && 
         | 
| 77 | 
            -
                  !token.nil? && 
         | 
| 78 | 
            -
                  token != [] && 
         | 
| 79 | 
            -
                  token != {}
         | 
| 59 | 
            +
                if !token.nil? && token != "" && token != " "
         | 
| 80 60 | 
             
                  if is_valid_token?(submission_url, token) == false
         | 
| 81 61 | 
             
                    student_config["personal_access_token"] = nil
         | 
| 82 62 | 
             
                    update_config_file(config_file_name, student_config)
         | 
| @@ -101,38 +81,33 @@ namespace :grade do | |
| 101 81 | 
             
                end
         | 
| 102 82 | 
             
              end
         | 
| 103 83 |  | 
| 104 | 
            -
              desc "Run only the next failing test."
         | 
| 105 | 
            -
              task :next do
         | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 113 | 
            -
             | 
| 114 | 
            -
             | 
| 115 | 
            -
             | 
| 116 | 
            -
              end
         | 
| 84 | 
            +
              # desc "Run only the next failing test."
         | 
| 85 | 
            +
              # task :next do
         | 
| 86 | 
            +
              #   path = File.join(__dir__, "examples.txt")
         | 
| 87 | 
            +
              #   if File.file?(path)
         | 
| 88 | 
            +
              #     # `bin/rails db:migrate RAILS_ENV=test`
         | 
| 89 | 
            +
              #     # puts `RAILS_ENV=test bundle exec rspec --next-failure --format HintFormatter`
         | 
| 90 | 
            +
              #     puts `bundle exec rspec --next-failure --format HintFormatter`
         | 
| 91 | 
            +
              #   else
         | 
| 92 | 
            +
              #     # puts `RAILS_ENV=test bundle exec rspec`
         | 
| 93 | 
            +
              #     puts `bundle exec rspec`
         | 
| 94 | 
            +
              #     puts "Please rerun rake grade:next to run the first failing spec"
         | 
| 95 | 
            +
              #   end
         | 
| 96 | 
            +
              # end
         | 
| 117 97 |  | 
| 118 | 
            -
            end
         | 
| 119 98 |  | 
| 120 99 | 
             
            def update_config_file(config_file_name, config)
         | 
| 121 100 | 
             
              File.write(config_file_name, YAML.dump(config))
         | 
| 122 101 | 
             
            end
         | 
| 123 102 |  | 
| 124 103 | 
             
            def is_valid_token?(root_url, token)
         | 
| 125 | 
            -
              return false unless token.is_a?(String) &&  | 
| 126 | 
            -
             | 
| 104 | 
            +
              return false unless token.is_a?(String) && token =~ /^[1-9A-Za-z][^OIl]{23}$/
         | 
| 127 105 | 
             
              url = "#{root_url}/submissions/validate_token?token=#{token}"
         | 
| 128 106 | 
             
              uri = URI.parse(url)
         | 
| 129 | 
            -
              
         | 
| 130 107 | 
             
              req = Net::HTTP::Get.new(uri, 'Content-Type' => 'application/json')
         | 
| 131 | 
            -
             | 
| 132 108 | 
             
              res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
         | 
| 133 109 | 
             
                http.request(req)
         | 
| 134 110 | 
             
              end
         | 
| 135 | 
            -
              
         | 
| 136 111 | 
             
              result = JSON.parse(res.body)
         | 
| 137 112 | 
             
              result["success"]
         | 
| 138 113 | 
             
            rescue => e
         | 
| @@ -147,6 +122,6 @@ def project_root | |
| 147 122 | 
             
              if defined?(Bundler)
         | 
| 148 123 | 
             
                return Bundler.root
         | 
| 149 124 | 
             
              end
         | 
| 150 | 
            -
             | 
| 125 | 
            +
              p "project root" #REMOVE
         | 
| 151 126 | 
             
              Dir.pwd
         | 
| 152 127 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: grade_runner
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.5
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Raghu Betina
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2019-07- | 
| 11 | 
            +
            date: 2019-07-08 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rspec
         |