louis 2.0.2 → 2.0.3
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/lib/louis/version.rb +1 -1
 - data/lib/louis.rb +10 -13
 - data/spec/louis_spec.rb +8 -2
 - metadata +3 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 599752611cd04820508d6abd1882363d761fd72b
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 821d6e0521c95e8d78642c6706b3380755785b42
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 8b08cf751a853525381aa1cf6ed285b871ecf37ba180ef49310ba83640def6561bc9f244fe15e852520dc4363d2be1f7a1695206846411cbda733d8574a18602
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 82ea902ffabc8047ee7f73a469dc86858cdecbcf84a812e109f2493d9d366aff6a25456f9e946bbb550e87c0ee08632b49f5674533fd78da20c169abe05d14da
         
     | 
    
        data/lib/louis/version.rb
    CHANGED
    
    
    
        data/lib/louis.rb
    CHANGED
    
    | 
         @@ -32,19 +32,16 @@ module Louis 
     | 
|
| 
       32 
32 
     | 
    
         
             
              # @param [String] mac
         
     | 
| 
       33 
33 
     | 
    
         
             
              # @return [String]
         
     | 
| 
       34 
34 
     | 
    
         
             
              def self.lookup(mac)
         
     | 
| 
       35 
     | 
    
         
            -
                 
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
                 
     | 
| 
       38 
     | 
    
         
            -
                  prefix =  
     | 
| 
       39 
     | 
    
         
            -
                   
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
                if match
         
     | 
| 
       45 
     | 
    
         
            -
                  {'long_vendor' => match['l'], 'short_vendor' => match['s']}
         
     | 
| 
       46 
     | 
    
         
            -
                else
         
     | 
| 
       47 
     | 
    
         
            -
                  {'long_vendor' => 'Unknown', 'short_vendor' => 'Unknown'}
         
     | 
| 
      
 35 
     | 
    
         
            +
                encoded_mac = mac_to_num(mac) & IGNORED_BITS_MASK
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                lookup_table.each do |mask, table|
         
     | 
| 
      
 38 
     | 
    
         
            +
                  prefix = (encoded_mac & calculate_mask(nil, mask)).to_s
         
     | 
| 
      
 39 
     | 
    
         
            +
                  if table.include?(prefix)
         
     | 
| 
      
 40 
     | 
    
         
            +
                    vendor = table[prefix]
         
     | 
| 
      
 41 
     | 
    
         
            +
                    return {'long_vendor' => vendor['l'], 'short_vendor' => vendor['s']}
         
     | 
| 
      
 42 
     | 
    
         
            +
                  end
         
     | 
| 
       48 
43 
     | 
    
         
             
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
                
         
     | 
| 
      
 45 
     | 
    
         
            +
                {'long_vendor' => 'Unknown', 'short_vendor' => 'Unknown'}
         
     | 
| 
       49 
46 
     | 
    
         
             
              end
         
     | 
| 
       50 
47 
     | 
    
         
             
            end
         
     | 
    
        data/spec/louis_spec.rb
    CHANGED
    
    | 
         @@ -5,11 +5,11 @@ RSpec.describe Louis do 
     | 
|
| 
       5 
5 
     | 
    
         
             
                expect(Louis::VERSION).not_to be nil
         
     | 
| 
       6 
6 
     | 
    
         
             
              end
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
              it "it should have  
     | 
| 
      
 8 
     | 
    
         
            +
              it "it should have its source data file" do
         
     | 
| 
       9 
9 
     | 
    
         
             
                expect(File.readable?(Louis::ORIGINAL_OUI_FILE)).to be(true)
         
     | 
| 
       10 
10 
     | 
    
         
             
              end
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
              it "it should have  
     | 
| 
      
 12 
     | 
    
         
            +
              it "it should have its parsed data file" do
         
     | 
| 
       13 
13 
     | 
    
         
             
                expect(File.readable?(Louis::PARSED_DATA_FILE)).to be(true)
         
     | 
| 
       14 
14 
     | 
    
         
             
              end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
         @@ -74,4 +74,10 @@ RSpec.describe Louis do 
     | 
|
| 
       74 
74 
     | 
    
         
             
                  expect(Louis.lookup(unknown_mac)['long_vendor']).to eq('Unknown')
         
     | 
| 
       75 
75 
     | 
    
         
             
                end
         
     | 
| 
       76 
76 
     | 
    
         
             
              end
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
              describe '#mask_keys' do
         
     | 
| 
      
 79 
     | 
    
         
            +
                it 'should return a list of integers: [48, 45, 44, 40, 36, 32, 28, 25, 24, 16]' do
         
     | 
| 
      
 80 
     | 
    
         
            +
                  expect(Louis.mask_keys).to eq([48, 45, 44, 40, 36, 32, 28, 25, 24, 16])
         
     | 
| 
      
 81 
     | 
    
         
            +
                end
         
     | 
| 
      
 82 
     | 
    
         
            +
              end
         
     | 
| 
       77 
83 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: louis
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Sam Stelfox
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016-01 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-06-01 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       169 
169 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       170 
170 
     | 
    
         
             
            requirements: []
         
     | 
| 
       171 
171 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       172 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 172 
     | 
    
         
            +
            rubygems_version: 2.5.1
         
     | 
| 
       173 
173 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       174 
174 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       175 
175 
     | 
    
         
             
            summary: Library for looking up the the vendor associated with a MAC address.
         
     |