psu_identity 0.1.2 → 0.2.0
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/.circleci/config.yml +3 -6
 - data/.niftany/layout.yml +60 -0
 - data/.niftany/lint.yml +110 -0
 - data/.niftany/metrics.yml +45 -0
 - data/.niftany/naming.yml +29 -0
 - data/.niftany/niftany_rubocop_rspec.yml +47 -0
 - data/.niftany/performance.yml +50 -0
 - data/.niftany/style.yml +326 -0
 - data/.rubocop.yml +19 -0
 - data/.rubocop_todo.yml +8 -0
 - data/.ruby-version +1 -0
 - data/Gemfile +3 -17
 - data/Gemfile.lock +79 -45
 - data/README.md +5 -5
 - data/Rakefile +5 -3
 - data/bin/console +4 -3
 - data/lib/{penn_state → psu_identity}/search_service/atomic_link.rb +1 -2
 - data/lib/psu_identity/search_service/client.rb +58 -0
 - data/lib/{penn_state → psu_identity}/search_service/person.rb +2 -2
 - data/lib/psu_identity/version.rb +3 -1
 - data/lib/psu_identity.rb +9 -2
 - data/psu_identity.gemspec +27 -11
 - metadata +189 -13
 - data/lib/penn_state/search_service/client.rb +0 -60
 - data/lib/penn_state/search_service.rb +0 -9
 - data/lib/penn_state.rb +0 -4
 
    
        data/.niftany/style.yml
    ADDED
    
    | 
         @@ -0,0 +1,326 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            Style/Alias:
         
     | 
| 
      
 3 
     | 
    
         
            +
              Description: 'Use alias_method instead of alias.'
         
     | 
| 
      
 4 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
         
     | 
| 
      
 5 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            Style/ArrayJoin:
         
     | 
| 
      
 8 
     | 
    
         
            +
              Description: 'Use Array#join instead of Array#*.'
         
     | 
| 
      
 9 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
         
     | 
| 
      
 10 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            Style/AsciiComments:
         
     | 
| 
      
 13 
     | 
    
         
            +
              Description: 'Use only ascii symbols in comments.'
         
     | 
| 
      
 14 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
         
     | 
| 
      
 15 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            Style/Attr:
         
     | 
| 
      
 18 
     | 
    
         
            +
              Description: 'Checks for uses of Module#attr.'
         
     | 
| 
      
 19 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
         
     | 
| 
      
 20 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            Style/CaseEquality:
         
     | 
| 
      
 23 
     | 
    
         
            +
              Description: 'Avoid explicit use of the case equality operator(===).'
         
     | 
| 
      
 24 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
         
     | 
| 
      
 25 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            Style/CharacterLiteral:
         
     | 
| 
      
 28 
     | 
    
         
            +
              Description: 'Checks for uses of character literals.'
         
     | 
| 
      
 29 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
         
     | 
| 
      
 30 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            Style/ClassAndModuleChildren:
         
     | 
| 
      
 33 
     | 
    
         
            +
              Description: 'Checks style of children classes and modules.'
         
     | 
| 
      
 34 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            Style/ClassVars:
         
     | 
| 
      
 37 
     | 
    
         
            +
              Description: 'Avoid the use of class variables.'
         
     | 
| 
      
 38 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
         
     | 
| 
      
 39 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            Style/CollectionMethods:
         
     | 
| 
      
 42 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 43 
     | 
    
         
            +
              PreferredMethods:
         
     | 
| 
      
 44 
     | 
    
         
            +
                inject: reduce
         
     | 
| 
      
 45 
     | 
    
         
            +
                collect: map
         
     | 
| 
      
 46 
     | 
    
         
            +
                collect!: map!
         
     | 
| 
      
 47 
     | 
    
         
            +
                find_all: select
         
     | 
| 
      
 48 
     | 
    
         
            +
                detect: find
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            Style/ColonMethodCall:
         
     | 
| 
      
 51 
     | 
    
         
            +
              Description: 'Do not use :: for method call.'
         
     | 
| 
      
 52 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
         
     | 
| 
      
 53 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            Style/CommentAnnotation:
         
     | 
| 
      
 56 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 57 
     | 
    
         
            +
                             Checks formatting of special comments
         
     | 
| 
      
 58 
     | 
    
         
            +
                             (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
         
     | 
| 
      
 59 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
         
     | 
| 
      
 60 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
            Style/Documentation:
         
     | 
| 
      
 63 
     | 
    
         
            +
              Description: 'Document classes and non-namespace modules.'
         
     | 
| 
      
 64 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            Style/DoubleNegation:
         
     | 
| 
      
 67 
     | 
    
         
            +
              Description: 'Checks for uses of double negation (!!).'
         
     | 
| 
      
 68 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
         
     | 
| 
      
 69 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
            Style/EachWithObject:
         
     | 
| 
      
 72 
     | 
    
         
            +
              Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
         
     | 
| 
      
 73 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
            Style/EmptyLiteral:
         
     | 
| 
      
 76 
     | 
    
         
            +
              Description: 'Prefer literals to Array.new/Hash.new/String.new.'
         
     | 
| 
      
 77 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
         
     | 
| 
      
 78 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
            # Checks whether the source file has a utf-8 encoding comment or not
         
     | 
| 
      
 81 
     | 
    
         
            +
            # AutoCorrectEncodingComment must match the regex
         
     | 
| 
      
 82 
     | 
    
         
            +
            # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
         
     | 
| 
      
 83 
     | 
    
         
            +
            Style/Encoding:
         
     | 
| 
      
 84 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
            Style/EvenOdd:
         
     | 
| 
      
 87 
     | 
    
         
            +
              Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
         
     | 
| 
      
 88 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
         
     | 
| 
      
 89 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
            Style/FrozenStringLiteralComment:
         
     | 
| 
      
 92 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 93 
     | 
    
         
            +
                Add the frozen_string_literal comment to the top of files
         
     | 
| 
      
 94 
     | 
    
         
            +
                to help transition from Ruby 2.3.0 to Ruby 3.0.
         
     | 
| 
      
 95 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
            Style/FormatString:
         
     | 
| 
      
 98 
     | 
    
         
            +
              Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
         
     | 
| 
      
 99 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
         
     | 
| 
      
 100 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
            Style/GlobalVars:
         
     | 
| 
      
 103 
     | 
    
         
            +
              Description: 'Do not introduce global variables.'
         
     | 
| 
      
 104 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
         
     | 
| 
      
 105 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
            Style/GuardClause:
         
     | 
| 
      
 108 
     | 
    
         
            +
              Description: 'Check for conditionals that can be replaced with guard clauses'
         
     | 
| 
      
 109 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
         
     | 
| 
      
 110 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
            Style/IfUnlessModifier:
         
     | 
| 
      
 113 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 114 
     | 
    
         
            +
                             Favor modifier if/unless usage when you have a
         
     | 
| 
      
 115 
     | 
    
         
            +
                             single-line body.
         
     | 
| 
      
 116 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
         
     | 
| 
      
 117 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 118 
     | 
    
         
            +
             
     | 
| 
      
 119 
     | 
    
         
            +
            Style/IfWithSemicolon:
         
     | 
| 
      
 120 
     | 
    
         
            +
              Description: 'Do not use if x; .... Use the ternary operator instead.'
         
     | 
| 
      
 121 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
         
     | 
| 
      
 122 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
      
 124 
     | 
    
         
            +
            Style/InlineComment:
         
     | 
| 
      
 125 
     | 
    
         
            +
              Description: 'Avoid inline comments.'
         
     | 
| 
      
 126 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
            Style/Lambda:
         
     | 
| 
      
 129 
     | 
    
         
            +
              Description: 'Use the new lambda literal syntax for single-line blocks.'
         
     | 
| 
      
 130 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
         
     | 
| 
      
 131 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
            Style/LambdaCall:
         
     | 
| 
      
 134 
     | 
    
         
            +
              Description: 'Use lambda.call(...) instead of lambda.(...).'
         
     | 
| 
      
 135 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
         
     | 
| 
      
 136 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
            Style/LineEndConcatenation:
         
     | 
| 
      
 139 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 140 
     | 
    
         
            +
                             Use \ instead of + or << to concatenate two string literals at
         
     | 
| 
      
 141 
     | 
    
         
            +
                             line end.
         
     | 
| 
      
 142 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
            Style/ModuleFunction:
         
     | 
| 
      
 145 
     | 
    
         
            +
              Description: 'Checks for usage of `extend self` in modules.'
         
     | 
| 
      
 146 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
         
     | 
| 
      
 147 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
            Style/MultilineBlockChain:
         
     | 
| 
      
 150 
     | 
    
         
            +
              Description: 'Avoid multi-line chains of blocks.'
         
     | 
| 
      
 151 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
         
     | 
| 
      
 152 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
            Style/NegatedIf:
         
     | 
| 
      
 155 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 156 
     | 
    
         
            +
                             Favor unless over if for negative conditions
         
     | 
| 
      
 157 
     | 
    
         
            +
                             (or control flow or).
         
     | 
| 
      
 158 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
         
     | 
| 
      
 159 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
      
 161 
     | 
    
         
            +
            Style/NegatedWhile:
         
     | 
| 
      
 162 
     | 
    
         
            +
              Description: 'Favor until over while for negative conditions.'
         
     | 
| 
      
 163 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
         
     | 
| 
      
 164 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 165 
     | 
    
         
            +
             
     | 
| 
      
 166 
     | 
    
         
            +
            Style/Next:
         
     | 
| 
      
 167 
     | 
    
         
            +
              Description: 'Use `next` to skip iteration instead of a condition at the end.'
         
     | 
| 
      
 168 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
         
     | 
| 
      
 169 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
            Style/NilComparison:
         
     | 
| 
      
 172 
     | 
    
         
            +
              Description: 'Prefer x.nil? to x == nil.'
         
     | 
| 
      
 173 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
         
     | 
| 
      
 174 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
            Style/Not:
         
     | 
| 
      
 177 
     | 
    
         
            +
              Description: 'Use ! instead of not.'
         
     | 
| 
      
 178 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
         
     | 
| 
      
 179 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 180 
     | 
    
         
            +
             
     | 
| 
      
 181 
     | 
    
         
            +
            Style/NumericLiterals:
         
     | 
| 
      
 182 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 183 
     | 
    
         
            +
                             Add underscores to large numeric literals to improve their
         
     | 
| 
      
 184 
     | 
    
         
            +
                             readability.
         
     | 
| 
      
 185 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
         
     | 
| 
      
 186 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 187 
     | 
    
         
            +
             
     | 
| 
      
 188 
     | 
    
         
            +
            Style/OneLineConditional:
         
     | 
| 
      
 189 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 190 
     | 
    
         
            +
                             Favor the ternary operator(?:) over
         
     | 
| 
      
 191 
     | 
    
         
            +
                             if/then/else/end constructs.
         
     | 
| 
      
 192 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
         
     | 
| 
      
 193 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 194 
     | 
    
         
            +
             
     | 
| 
      
 195 
     | 
    
         
            +
            Style/PercentLiteralDelimiters:
         
     | 
| 
      
 196 
     | 
    
         
            +
              Description: 'Use `%`-literal delimiters consistently'
         
     | 
| 
      
 197 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
         
     | 
| 
      
 198 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 199 
     | 
    
         
            +
             
     | 
| 
      
 200 
     | 
    
         
            +
            Style/PerlBackrefs:
         
     | 
| 
      
 201 
     | 
    
         
            +
              Description: 'Avoid Perl-style regex back references.'
         
     | 
| 
      
 202 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
         
     | 
| 
      
 203 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 204 
     | 
    
         
            +
             
     | 
| 
      
 205 
     | 
    
         
            +
            Style/Proc:
         
     | 
| 
      
 206 
     | 
    
         
            +
              Description: 'Use proc instead of Proc.new.'
         
     | 
| 
      
 207 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
         
     | 
| 
      
 208 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 209 
     | 
    
         
            +
             
     | 
| 
      
 210 
     | 
    
         
            +
            Style/RaiseArgs:
         
     | 
| 
      
 211 
     | 
    
         
            +
              Description: 'Checks the arguments passed to raise/fail.'
         
     | 
| 
      
 212 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
         
     | 
| 
      
 213 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
            Style/RegexpLiteral:
         
     | 
| 
      
 216 
     | 
    
         
            +
              Description: 'Use / or %r around regular expressions.'
         
     | 
| 
      
 217 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
         
     | 
| 
      
 218 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 219 
     | 
    
         
            +
             
     | 
| 
      
 220 
     | 
    
         
            +
            Style/SelfAssignment:
         
     | 
| 
      
 221 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 222 
     | 
    
         
            +
                             Checks for places where self-assignment shorthand should have
         
     | 
| 
      
 223 
     | 
    
         
            +
                             been used.
         
     | 
| 
      
 224 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
         
     | 
| 
      
 225 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 226 
     | 
    
         
            +
             
     | 
| 
      
 227 
     | 
    
         
            +
            Style/SingleLineBlockParams:
         
     | 
| 
      
 228 
     | 
    
         
            +
              Description: 'Enforces the names of some block params.'
         
     | 
| 
      
 229 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
         
     | 
| 
      
 230 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 231 
     | 
    
         
            +
             
     | 
| 
      
 232 
     | 
    
         
            +
            Style/SingleLineMethods:
         
     | 
| 
      
 233 
     | 
    
         
            +
              Description: 'Avoid single-line methods.'
         
     | 
| 
      
 234 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
         
     | 
| 
      
 235 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 236 
     | 
    
         
            +
             
     | 
| 
      
 237 
     | 
    
         
            +
            Style/SignalException:
         
     | 
| 
      
 238 
     | 
    
         
            +
              Description: 'Checks for proper usage of fail and raise.'
         
     | 
| 
      
 239 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
         
     | 
| 
      
 240 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 241 
     | 
    
         
            +
             
     | 
| 
      
 242 
     | 
    
         
            +
            Style/SpecialGlobalVars:
         
     | 
| 
      
 243 
     | 
    
         
            +
              Description: 'Avoid Perl-style global variables.'
         
     | 
| 
      
 244 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
         
     | 
| 
      
 245 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 246 
     | 
    
         
            +
             
     | 
| 
      
 247 
     | 
    
         
            +
            Style/StringLiterals:
         
     | 
| 
      
 248 
     | 
    
         
            +
              Description: 'Checks if uses of quotes match the configured preference.'
         
     | 
| 
      
 249 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
         
     | 
| 
      
 250 
     | 
    
         
            +
              EnforcedStyle: single_quotes
         
     | 
| 
      
 251 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 252 
     | 
    
         
            +
             
     | 
| 
      
 253 
     | 
    
         
            +
            Style/TrailingCommaInArguments:
         
     | 
| 
      
 254 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 255 
     | 
    
         
            +
                            Checks for trailing comma in argument lists. Supported styles are:
         
     | 
| 
      
 256 
     | 
    
         
            +
                              comma
         
     | 
| 
      
 257 
     | 
    
         
            +
                              consistent_comma
         
     | 
| 
      
 258 
     | 
    
         
            +
                              no_comma
         
     | 
| 
      
 259 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
         
     | 
| 
      
 260 
     | 
    
         
            +
              EnforcedStyleForMultiline: no_comma
         
     | 
| 
      
 261 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 262 
     | 
    
         
            +
             
     | 
| 
      
 263 
     | 
    
         
            +
            Style/TrailingCommaInArrayLiteral:
         
     | 
| 
      
 264 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 265 
     | 
    
         
            +
                            Checks for trailing comma in array and hash literals. Supported styles are:
         
     | 
| 
      
 266 
     | 
    
         
            +
                              comma
         
     | 
| 
      
 267 
     | 
    
         
            +
                              consistent_comma
         
     | 
| 
      
 268 
     | 
    
         
            +
                              no_comma
         
     | 
| 
      
 269 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
         
     | 
| 
      
 270 
     | 
    
         
            +
              EnforcedStyleForMultiline: no_comma
         
     | 
| 
      
 271 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 272 
     | 
    
         
            +
             
     | 
| 
      
 273 
     | 
    
         
            +
            Style/TrivialAccessors:
         
     | 
| 
      
 274 
     | 
    
         
            +
              Description: 'Prefer attr_* methods to trivial readers/writers.'
         
     | 
| 
      
 275 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
         
     | 
| 
      
 276 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 277 
     | 
    
         
            +
             
     | 
| 
      
 278 
     | 
    
         
            +
            Style/VariableInterpolation:
         
     | 
| 
      
 279 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 280 
     | 
    
         
            +
                             Don't interpolate global, instance and class variables
         
     | 
| 
      
 281 
     | 
    
         
            +
                             directly in strings.
         
     | 
| 
      
 282 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
         
     | 
| 
      
 283 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 284 
     | 
    
         
            +
             
     | 
| 
      
 285 
     | 
    
         
            +
            Style/WhenThen:
         
     | 
| 
      
 286 
     | 
    
         
            +
              Description: 'Use when x then ... for one-line cases.'
         
     | 
| 
      
 287 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
         
     | 
| 
      
 288 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 289 
     | 
    
         
            +
             
     | 
| 
      
 290 
     | 
    
         
            +
            Style/WhileUntilModifier:
         
     | 
| 
      
 291 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 292 
     | 
    
         
            +
                             Favor modifier while/until usage when you have a
         
     | 
| 
      
 293 
     | 
    
         
            +
                             single-line body.
         
     | 
| 
      
 294 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
         
     | 
| 
      
 295 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 296 
     | 
    
         
            +
             
     | 
| 
      
 297 
     | 
    
         
            +
            Style/WordArray:
         
     | 
| 
      
 298 
     | 
    
         
            +
              Description: 'Use %w or %W for arrays of words.'
         
     | 
| 
      
 299 
     | 
    
         
            +
              StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
         
     | 
| 
      
 300 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 301 
     | 
    
         
            +
             
     | 
| 
      
 302 
     | 
    
         
            +
            Style/SymbolArray:
         
     | 
| 
      
 303 
     | 
    
         
            +
              Description: This cop checks for array literals made up of symbols that are not using the %i() syntax.
         
     | 
| 
      
 304 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 305 
     | 
    
         
            +
             
     | 
| 
      
 306 
     | 
    
         
            +
            Style/Sample:
         
     | 
| 
      
 307 
     | 
    
         
            +
              Description: >-
         
     | 
| 
      
 308 
     | 
    
         
            +
                              Use `sample` instead of `shuffle.first`,
         
     | 
| 
      
 309 
     | 
    
         
            +
                              `shuffle.last`, and `shuffle[Fixnum]`.
         
     | 
| 
      
 310 
     | 
    
         
            +
              Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
         
     | 
| 
      
 311 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 312 
     | 
    
         
            +
             
     | 
| 
      
 313 
     | 
    
         
            +
            Style/ExponentialNotation:
         
     | 
| 
      
 314 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 315 
     | 
    
         
            +
             
     | 
| 
      
 316 
     | 
    
         
            +
            Style/HashEachMethods:
         
     | 
| 
      
 317 
     | 
    
         
            +
              Enabled: true
         
     | 
| 
      
 318 
     | 
    
         
            +
             
     | 
| 
      
 319 
     | 
    
         
            +
            Style/HashTransformKeys:
         
     | 
| 
      
 320 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 321 
     | 
    
         
            +
             
     | 
| 
      
 322 
     | 
    
         
            +
            Style/HashTransformValues:
         
     | 
| 
      
 323 
     | 
    
         
            +
              Enabled: false
         
     | 
| 
      
 324 
     | 
    
         
            +
             
     | 
| 
      
 325 
     | 
    
         
            +
            Style/SlicingWithRange:
         
     | 
| 
      
 326 
     | 
    
         
            +
              Enabled: true
         
     | 
    
        data/.rubocop.yml
    ADDED
    
    | 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            inherit_from:
         
     | 
| 
      
 3 
     | 
    
         
            +
              - .niftany/layout.yml
         
     | 
| 
      
 4 
     | 
    
         
            +
              - .niftany/lint.yml
         
     | 
| 
      
 5 
     | 
    
         
            +
              - .niftany/metrics.yml
         
     | 
| 
      
 6 
     | 
    
         
            +
              - .niftany/naming.yml
         
     | 
| 
      
 7 
     | 
    
         
            +
              - .niftany/niftany_rubocop_rspec.yml
         
     | 
| 
      
 8 
     | 
    
         
            +
              - .niftany/performance.yml
         
     | 
| 
      
 9 
     | 
    
         
            +
              - .niftany/style.yml
         
     | 
| 
      
 10 
     | 
    
         
            +
              - .rubocop_todo.yml
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            AllCops:
         
     | 
| 
      
 13 
     | 
    
         
            +
              DisplayCopNames: true
         
     | 
| 
      
 14 
     | 
    
         
            +
              NewCops: enable
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            Metrics/BlockLength:
         
     | 
| 
      
 17 
     | 
    
         
            +
              Exclude:
         
     | 
| 
      
 18 
     | 
    
         
            +
                - 'spec/**/*'
         
     | 
| 
      
 19 
     | 
    
         
            +
                - 'psu_identity.gemspec'
         
     | 
    
        data/.rubocop_todo.yml
    ADDED
    
    | 
         @@ -0,0 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # This configuration was generated by
         
     | 
| 
      
 2 
     | 
    
         
            +
            # `rubocop --auto-gen-config --auto-gen-only-exclude`
         
     | 
| 
      
 3 
     | 
    
         
            +
            # on 2021-10-07 14:31:44 UTC using RuboCop version 1.22.1.
         
     | 
| 
      
 4 
     | 
    
         
            +
            # The point is for the user to remove these configuration records
         
     | 
| 
      
 5 
     | 
    
         
            +
            # one by one as the offenses are removed from the code base.
         
     | 
| 
      
 6 
     | 
    
         
            +
            # Note that changes in the inspected code, or installation of new
         
     | 
| 
      
 7 
     | 
    
         
            +
            # versions of RuboCop, may require this file to be generated again.
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
    
        data/.ruby-version
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            2.6.3
         
     | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -1,20 +1,6 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            source 'https://rubygems.org'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            # Specify your gem's dependencies in psu_identity.gemspec
         
     | 
| 
       4 
6 
     | 
    
         
             
            gemspec
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            gem "rake", "~> 12.0"
         
     | 
| 
       7 
     | 
    
         
            -
            gem 'faraday', '~> 0.17.0'
         
     | 
| 
       8 
     | 
    
         
            -
            # SimpleCov > 0.17 not compatible with Code Climate
         
     | 
| 
       9 
     | 
    
         
            -
            gem 'simplecov', '=0.17'
         
     | 
| 
       10 
     | 
    
         
            -
            gem 'rubocop', '~> 0.0'
         
     | 
| 
       11 
     | 
    
         
            -
            gem 'json'
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            group :test do
         
     | 
| 
       14 
     | 
    
         
            -
              # Rspec and packages
         
     | 
| 
       15 
     | 
    
         
            -
              gem "rspec", "~> 3.0"
         
     | 
| 
       16 
     | 
    
         
            -
              gem 'rspec-its'
         
     | 
| 
       17 
     | 
    
         
            -
              # Mock external requests
         
     | 
| 
       18 
     | 
    
         
            -
              gem 'vcr'
         
     | 
| 
       19 
     | 
    
         
            -
              gem 'webmock'
         
     | 
| 
       20 
     | 
    
         
            -
            end
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,69 +1,103 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                psu_identity (0. 
     | 
| 
      
 4 
     | 
    
         
            +
                psu_identity (0.2.0)
         
     | 
| 
      
 5 
     | 
    
         
            +
                  faraday (~> 1.0)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  json
         
     | 
| 
      
 7 
     | 
    
         
            +
                  rake (>= 12.0)
         
     | 
| 
       5 
8 
     | 
    
         | 
| 
       6 
9 
     | 
    
         
             
            GEM
         
     | 
| 
       7 
10 
     | 
    
         
             
              remote: https://rubygems.org/
         
     | 
| 
       8 
11 
     | 
    
         
             
              specs:
         
     | 
| 
       9 
     | 
    
         
            -
                addressable (2. 
     | 
| 
      
 12 
     | 
    
         
            +
                addressable (2.8.0)
         
     | 
| 
       10 
13 
     | 
    
         
             
                  public_suffix (>= 2.0.2, < 5.0)
         
     | 
| 
       11 
     | 
    
         
            -
                ast (2.4. 
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                 
     | 
| 
      
 14 
     | 
    
         
            +
                ast (2.4.2)
         
     | 
| 
      
 15 
     | 
    
         
            +
                byebug (11.1.3)
         
     | 
| 
      
 16 
     | 
    
         
            +
                coderay (1.1.3)
         
     | 
| 
      
 17 
     | 
    
         
            +
                crack (0.4.5)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  rexml
         
     | 
| 
      
 19 
     | 
    
         
            +
                diff-lcs (1.4.4)
         
     | 
| 
      
 20 
     | 
    
         
            +
                docile (1.4.0)
         
     | 
| 
      
 21 
     | 
    
         
            +
                faraday (1.8.0)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  faraday-em_http (~> 1.0)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  faraday-em_synchrony (~> 1.0)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  faraday-excon (~> 1.1)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  faraday-httpclient (~> 1.0.1)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  faraday-net_http (~> 1.0)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  faraday-net_http_persistent (~> 1.1)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  faraday-patron (~> 1.0)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  faraday-rack (~> 1.0)
         
     | 
| 
       17 
30 
     | 
    
         
             
                  multipart-post (>= 1.2, < 3)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  ruby2_keywords (>= 0.0.4)
         
     | 
| 
      
 32 
     | 
    
         
            +
                faraday-em_http (1.0.0)
         
     | 
| 
      
 33 
     | 
    
         
            +
                faraday-em_synchrony (1.0.0)
         
     | 
| 
      
 34 
     | 
    
         
            +
                faraday-excon (1.1.0)
         
     | 
| 
      
 35 
     | 
    
         
            +
                faraday-httpclient (1.0.1)
         
     | 
| 
      
 36 
     | 
    
         
            +
                faraday-net_http (1.0.1)
         
     | 
| 
      
 37 
     | 
    
         
            +
                faraday-net_http_persistent (1.2.0)
         
     | 
| 
      
 38 
     | 
    
         
            +
                faraday-patron (1.0.0)
         
     | 
| 
      
 39 
     | 
    
         
            +
                faraday-rack (1.0.0)
         
     | 
| 
       18 
40 
     | 
    
         
             
                hashdiff (1.0.1)
         
     | 
| 
       19 
     | 
    
         
            -
                json (2. 
     | 
| 
      
 41 
     | 
    
         
            +
                json (2.5.1)
         
     | 
| 
      
 42 
     | 
    
         
            +
                method_source (1.0.0)
         
     | 
| 
       20 
43 
     | 
    
         
             
                multipart-post (2.1.1)
         
     | 
| 
       21 
     | 
    
         
            -
                parallel (1. 
     | 
| 
       22 
     | 
    
         
            -
                parser ( 
     | 
| 
       23 
     | 
    
         
            -
                  ast (~> 2.4. 
     | 
| 
       24 
     | 
    
         
            -
                 
     | 
| 
      
 44 
     | 
    
         
            +
                parallel (1.21.0)
         
     | 
| 
      
 45 
     | 
    
         
            +
                parser (3.0.2.0)
         
     | 
| 
      
 46 
     | 
    
         
            +
                  ast (~> 2.4.1)
         
     | 
| 
      
 47 
     | 
    
         
            +
                pry (0.13.1)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  coderay (~> 1.1)
         
     | 
| 
      
 49 
     | 
    
         
            +
                  method_source (~> 1.0)
         
     | 
| 
      
 50 
     | 
    
         
            +
                pry-byebug (3.9.0)
         
     | 
| 
      
 51 
     | 
    
         
            +
                  byebug (~> 11.0)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  pry (~> 0.13.0)
         
     | 
| 
      
 53 
     | 
    
         
            +
                public_suffix (4.0.6)
         
     | 
| 
       25 
54 
     | 
    
         
             
                rainbow (3.0.0)
         
     | 
| 
       26 
     | 
    
         
            -
                rake ( 
     | 
| 
       27 
     | 
    
         
            -
                regexp_parser (1. 
     | 
| 
       28 
     | 
    
         
            -
                rexml (3.2. 
     | 
| 
       29 
     | 
    
         
            -
                rspec (3. 
     | 
| 
       30 
     | 
    
         
            -
                  rspec-core (~> 3. 
     | 
| 
       31 
     | 
    
         
            -
                  rspec-expectations (~> 3. 
     | 
| 
       32 
     | 
    
         
            -
                  rspec-mocks (~> 3. 
     | 
| 
       33 
     | 
    
         
            -
                rspec-core (3. 
     | 
| 
       34 
     | 
    
         
            -
                  rspec-support (~> 3. 
     | 
| 
       35 
     | 
    
         
            -
                rspec-expectations (3. 
     | 
| 
      
 55 
     | 
    
         
            +
                rake (13.0.6)
         
     | 
| 
      
 56 
     | 
    
         
            +
                regexp_parser (2.1.1)
         
     | 
| 
      
 57 
     | 
    
         
            +
                rexml (3.2.5)
         
     | 
| 
      
 58 
     | 
    
         
            +
                rspec (3.10.0)
         
     | 
| 
      
 59 
     | 
    
         
            +
                  rspec-core (~> 3.10.0)
         
     | 
| 
      
 60 
     | 
    
         
            +
                  rspec-expectations (~> 3.10.0)
         
     | 
| 
      
 61 
     | 
    
         
            +
                  rspec-mocks (~> 3.10.0)
         
     | 
| 
      
 62 
     | 
    
         
            +
                rspec-core (3.10.1)
         
     | 
| 
      
 63 
     | 
    
         
            +
                  rspec-support (~> 3.10.0)
         
     | 
| 
      
 64 
     | 
    
         
            +
                rspec-expectations (3.10.1)
         
     | 
| 
       36 
65 
     | 
    
         
             
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
       37 
     | 
    
         
            -
                  rspec-support (~> 3. 
     | 
| 
      
 66 
     | 
    
         
            +
                  rspec-support (~> 3.10.0)
         
     | 
| 
       38 
67 
     | 
    
         
             
                rspec-its (1.3.0)
         
     | 
| 
       39 
68 
     | 
    
         
             
                  rspec-core (>= 3.0.0)
         
     | 
| 
       40 
69 
     | 
    
         
             
                  rspec-expectations (>= 3.0.0)
         
     | 
| 
       41 
     | 
    
         
            -
                rspec-mocks (3. 
     | 
| 
      
 70 
     | 
    
         
            +
                rspec-mocks (3.10.2)
         
     | 
| 
       42 
71 
     | 
    
         
             
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
       43 
     | 
    
         
            -
                  rspec-support (~> 3. 
     | 
| 
       44 
     | 
    
         
            -
                rspec-support (3. 
     | 
| 
       45 
     | 
    
         
            -
                rubocop ( 
     | 
| 
      
 72 
     | 
    
         
            +
                  rspec-support (~> 3.10.0)
         
     | 
| 
      
 73 
     | 
    
         
            +
                rspec-support (3.10.2)
         
     | 
| 
      
 74 
     | 
    
         
            +
                rubocop (1.22.1)
         
     | 
| 
       46 
75 
     | 
    
         
             
                  parallel (~> 1.10)
         
     | 
| 
       47 
     | 
    
         
            -
                  parser (>=  
     | 
| 
      
 76 
     | 
    
         
            +
                  parser (>= 3.0.0.0)
         
     | 
| 
       48 
77 
     | 
    
         
             
                  rainbow (>= 2.2.2, < 4.0)
         
     | 
| 
       49 
     | 
    
         
            -
                  regexp_parser (>= 1. 
     | 
| 
      
 78 
     | 
    
         
            +
                  regexp_parser (>= 1.8, < 3.0)
         
     | 
| 
       50 
79 
     | 
    
         
             
                  rexml
         
     | 
| 
       51 
     | 
    
         
            -
                  rubocop-ast (>= 0.0 
     | 
| 
      
 80 
     | 
    
         
            +
                  rubocop-ast (>= 1.12.0, < 2.0)
         
     | 
| 
       52 
81 
     | 
    
         
             
                  ruby-progressbar (~> 1.7)
         
     | 
| 
       53 
     | 
    
         
            -
                  unicode-display_width (>= 1.4.0, <  
     | 
| 
       54 
     | 
    
         
            -
                rubocop-ast ( 
     | 
| 
       55 
     | 
    
         
            -
                  parser (>=  
     | 
| 
       56 
     | 
    
         
            -
                 
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
      
 82 
     | 
    
         
            +
                  unicode-display_width (>= 1.4.0, < 3.0)
         
     | 
| 
      
 83 
     | 
    
         
            +
                rubocop-ast (1.12.0)
         
     | 
| 
      
 84 
     | 
    
         
            +
                  parser (>= 3.0.1.1)
         
     | 
| 
      
 85 
     | 
    
         
            +
                rubocop-performance (1.11.5)
         
     | 
| 
      
 86 
     | 
    
         
            +
                  rubocop (>= 1.7.0, < 2.0)
         
     | 
| 
      
 87 
     | 
    
         
            +
                  rubocop-ast (>= 0.4.0)
         
     | 
| 
      
 88 
     | 
    
         
            +
                rubocop-rspec (2.5.0)
         
     | 
| 
      
 89 
     | 
    
         
            +
                  rubocop (~> 1.19)
         
     | 
| 
      
 90 
     | 
    
         
            +
                ruby-progressbar (1.11.0)
         
     | 
| 
      
 91 
     | 
    
         
            +
                ruby2_keywords (0.0.5)
         
     | 
| 
       58 
92 
     | 
    
         
             
                simplecov (0.17.0)
         
     | 
| 
       59 
93 
     | 
    
         
             
                  docile (~> 1.1)
         
     | 
| 
       60 
94 
     | 
    
         
             
                  json (>= 1.8, < 3)
         
     | 
| 
       61 
95 
     | 
    
         
             
                  simplecov-html (~> 0.10.0)
         
     | 
| 
       62 
96 
     | 
    
         
             
                simplecov-html (0.10.2)
         
     | 
| 
       63 
     | 
    
         
            -
                unicode-display_width (1. 
     | 
| 
       64 
     | 
    
         
            -
                vcr ( 
     | 
| 
       65 
     | 
    
         
            -
                webmock (3. 
     | 
| 
       66 
     | 
    
         
            -
                  addressable (>= 2. 
     | 
| 
      
 97 
     | 
    
         
            +
                unicode-display_width (2.1.0)
         
     | 
| 
      
 98 
     | 
    
         
            +
                vcr (6.0.0)
         
     | 
| 
      
 99 
     | 
    
         
            +
                webmock (3.14.0)
         
     | 
| 
      
 100 
     | 
    
         
            +
                  addressable (>= 2.8.0)
         
     | 
| 
       67 
101 
     | 
    
         
             
                  crack (>= 0.3.2)
         
     | 
| 
       68 
102 
     | 
    
         
             
                  hashdiff (>= 0.4.0, < 2.0.0)
         
     | 
| 
       69 
103 
     | 
    
         | 
| 
         @@ -71,16 +105,16 @@ PLATFORMS 
     | 
|
| 
       71 
105 
     | 
    
         
             
              ruby
         
     | 
| 
       72 
106 
     | 
    
         | 
| 
       73 
107 
     | 
    
         
             
            DEPENDENCIES
         
     | 
| 
       74 
     | 
    
         
            -
               
     | 
| 
       75 
     | 
    
         
            -
              json
         
     | 
| 
      
 108 
     | 
    
         
            +
              pry-byebug
         
     | 
| 
       76 
109 
     | 
    
         
             
              psu_identity!
         
     | 
| 
       77 
     | 
    
         
            -
              rake (~> 12.0)
         
     | 
| 
       78 
110 
     | 
    
         
             
              rspec (~> 3.0)
         
     | 
| 
       79 
111 
     | 
    
         
             
              rspec-its
         
     | 
| 
       80 
     | 
    
         
            -
              rubocop (~>  
     | 
| 
      
 112 
     | 
    
         
            +
              rubocop (~> 1.22)
         
     | 
| 
      
 113 
     | 
    
         
            +
              rubocop-performance (~> 1.11)
         
     | 
| 
      
 114 
     | 
    
         
            +
              rubocop-rspec (~> 2.5)
         
     | 
| 
       81 
115 
     | 
    
         
             
              simplecov (= 0.17)
         
     | 
| 
       82 
116 
     | 
    
         
             
              vcr
         
     | 
| 
       83 
117 
     | 
    
         
             
              webmock
         
     | 
| 
       84 
118 
     | 
    
         | 
| 
       85 
119 
     | 
    
         
             
            BUNDLED WITH
         
     | 
| 
       86 
     | 
    
         
            -
               2. 
     | 
| 
      
 120 
     | 
    
         
            +
               2.2.28
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -26,23 +26,23 @@ Or install it yourself as: 
     | 
|
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
            Add this to the top of your code:
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
                require ' 
     | 
| 
      
 29 
     | 
    
         
            +
                require 'psu_identity'
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
            To query the search service by name:
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         
             
                # Takes a hash as parameter with 'text:' as the key
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
                 
     | 
| 
      
 35 
     | 
    
         
            +
                PsuIdentity::SearchService::Client.new.search(text: 'Jimmy Tester')
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
       37 
     | 
    
         
            -
            ***This will return an array of  
     | 
| 
      
 37 
     | 
    
         
            +
            ***This will return an array of PsuIdentity::SearchService::Person objects matching the query***
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
            To query the search service by userid:
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
41 
     | 
    
         
             
                # Takes a string as a parameter
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
                 
     | 
| 
      
 43 
     | 
    
         
            +
                PsuIdentity::SearchService::Client.new.userid('abc123')
         
     | 
| 
       44 
44 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
            ***This will return a single  
     | 
| 
      
 45 
     | 
    
         
            +
            ***This will return a single PsuIdentity::SearchService::Person object matching the query***
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
       47 
47 
     | 
    
         
             
            ## Development
         
     | 
| 
       48 
48 
     | 
    
         | 
    
        data/Rakefile
    CHANGED
    
    
    
        data/bin/console
    CHANGED
    
    | 
         @@ -1,7 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            require  
     | 
| 
       4 
     | 
    
         
            -
            require  
     | 
| 
      
 4 
     | 
    
         
            +
            require 'bundler/setup'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'psu_identity'
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
7 
     | 
    
         
             
            # You can add fixtures and/or initialization code here to make experimenting
         
     | 
| 
       7 
8 
     | 
    
         
             
            # with your gem easier. You can also use a different console, if you like.
         
     | 
| 
         @@ -10,5 +11,5 @@ require "psu_identity" 
     | 
|
| 
       10 
11 
     | 
    
         
             
            # require "pry"
         
     | 
| 
       11 
12 
     | 
    
         
             
            # Pry.start
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            require  
     | 
| 
      
 14 
     | 
    
         
            +
            require 'irb'
         
     | 
| 
       14 
15 
     | 
    
         
             
            IRB.start(__FILE__)
         
     | 
| 
         @@ -0,0 +1,58 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            # @abstract Client for querying Penn State's identity API: https://identity.apps.psu.edu/search-service/resources
         
     | 
| 
      
 4 
     | 
    
         
            +
            module PsuIdentity::SearchService
         
     | 
| 
      
 5 
     | 
    
         
            +
              class Client
         
     | 
| 
      
 6 
     | 
    
         
            +
                class Error < StandardError; end
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                attr_reader :base_url
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                # @param [String] base_url
         
     | 
| 
      
 11 
     | 
    
         
            +
                def initialize(base_url: '/search-service/resources')
         
     | 
| 
      
 12 
     | 
    
         
            +
                  @base_url = base_url
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                # @param [Hash] args of options to pass to the endpoint
         
     | 
| 
      
 16 
     | 
    
         
            +
                # @option args [String] :text to search for
         
     | 
| 
      
 17 
     | 
    
         
            +
                def search(**args)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  process_response connection.get("#{base_url}/people", args)
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                # @param [Hash] args of options to pass to the endpoint
         
     | 
| 
      
 22 
     | 
    
         
            +
                # @option args [String] :userid of the person
         
     | 
| 
      
 23 
     | 
    
         
            +
                def userid(userid)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  process_userid_response connection.get("#{base_url}/people/userid/#{userid}")
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                private
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                  # @return Array<PsuIdentity::SearchService::Person>
         
     | 
| 
      
 30 
     | 
    
         
            +
                  def process_response(response)
         
     | 
| 
      
 31 
     | 
    
         
            +
                    raise Error.new(response.body) unless response.success?
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                    JSON.parse(response.body).map { |result| Person.new(result) }
         
     | 
| 
      
 34 
     | 
    
         
            +
                  rescue JSON::ParserError
         
     | 
| 
      
 35 
     | 
    
         
            +
                    []
         
     | 
| 
      
 36 
     | 
    
         
            +
                  end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  # @return [PsuIdentity::SearchService::Person, nil]
         
     | 
| 
      
 39 
     | 
    
         
            +
                  def process_userid_response(response)
         
     | 
| 
      
 40 
     | 
    
         
            +
                    return if response.status == 404
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                    raise Error.new(response.body) unless response.success?
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                    Person.new(JSON.parse(response.body))
         
     | 
| 
      
 45 
     | 
    
         
            +
                  rescue JSON::ParserError
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  def connection
         
     | 
| 
      
 49 
     | 
    
         
            +
                    @connection ||= Faraday.new(url: endpoint) do |conn|
         
     | 
| 
      
 50 
     | 
    
         
            +
                      conn.adapter :net_http
         
     | 
| 
      
 51 
     | 
    
         
            +
                    end
         
     | 
| 
      
 52 
     | 
    
         
            +
                  end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                  def endpoint
         
     | 
| 
      
 55 
     | 
    
         
            +
                    @endpoint ||= ENV.fetch('IDENTITY_ENDPOINT', 'https://identity.apps.psu.edu')
         
     | 
| 
      
 56 
     | 
    
         
            +
                  end
         
     | 
| 
      
 57 
     | 
    
         
            +
              end
         
     | 
| 
      
 58 
     | 
    
         
            +
            end
         
     |