lapis-common 0.1.0 → 0.1.1
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/lapis/uuid.rb +1 -1
 - data/lib/lapis/version.rb +1 -1
 - data/spec/factories/uuid_factory.rb +3 -3
 - data/spec/lapis/uuid_spec.rb +23 -16
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 1679496db3f2c1ebd08176c885f972d39a2bf299
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: db84544ca727992e10b80116b8add44c21d37555
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 4f6b9359296e663cf3e06927ce623325ba27653f07a0e1b825fd7e90ed953952f19de1c7c0c41431c148b54409fafcbb9e2f4f36ca03533f43b54152aa285972
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: b4cf97edc59983d333c1545a51bca30b0003139535b9388a6ca0ff312c0b110af094b07a57586c2c406ffde7fe85563db20166d6455ad56a8a8e55ef1aab82cd
         
     | 
    
        data/lib/lapis/uuid.rb
    CHANGED
    
    | 
         @@ -52,7 +52,7 @@ module Lapis 
     | 
|
| 
       52 
52 
     | 
    
         
             
                    if uuid_str.is_a? String
         
     | 
| 
       53 
53 
     | 
    
         
             
                      # Check the formatting.
         
     | 
| 
       54 
54 
     | 
    
         
             
                      # Note that the validity of the UUID isn't checked.
         
     | 
| 
       55 
     | 
    
         
            -
                       
     | 
| 
      
 55 
     | 
    
         
            +
                      !!/^\A[0-9a-f]{8}(-?)[0-9a-f]{4}\1[0-9a-f]{4}\1[0-9a-f]{4}\1[0-9a-f]{12}\z$/i.match(uuid_str)
         
     | 
| 
       56 
56 
     | 
    
         
             
                    else
         
     | 
| 
       57 
57 
     | 
    
         
             
                      # A string wasn't passed in.
         
     | 
| 
       58 
58 
     | 
    
         
             
                      fail ArgumentError
         
     | 
    
        data/lib/lapis/version.rb
    CHANGED
    
    
| 
         @@ -14,10 +14,10 @@ FactoryGirl.define do 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
              factory :uuid_value, class: String do
         
     | 
| 
       16 
16 
     | 
    
         
             
                transient do
         
     | 
| 
       17 
     | 
    
         
            -
                  association :uuid_str, :strategy => :build
         
     | 
| 
      
 17 
     | 
    
         
            +
                  association :source, :factory => :uuid_str, :strategy => :build
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
                initialize_with {  
     | 
| 
      
 20 
     | 
    
         
            +
                initialize_with { source.delete('-').scan(/../).map(&:hex).pack('C*') }
         
     | 
| 
       21 
21 
     | 
    
         
             
              end
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
              factory :uuid, class: Lapis::Uuid do
         
     | 
| 
         @@ -35,7 +35,7 @@ FactoryGirl.define do 
     | 
|
| 
       35 
35 
     | 
    
         
             
                      if source.length == 16
         
     | 
| 
       36 
36 
     | 
    
         
             
                        Lapis::Uuid.new(source)
         
     | 
| 
       37 
37 
     | 
    
         
             
                      else
         
     | 
| 
       38 
     | 
    
         
            -
                        Lapis::Uuid.new(build(:uuid_value, : 
     | 
| 
      
 38 
     | 
    
         
            +
                        Lapis::Uuid.new(build(:uuid_value, :source => source))
         
     | 
| 
       39 
39 
     | 
    
         
             
                      end
         
     | 
| 
       40 
40 
     | 
    
         
             
                  end
         
     | 
| 
       41 
41 
     | 
    
         
             
                end
         
     | 
    
        data/spec/lapis/uuid_spec.rb
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ require_relative '../spec_helper' 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            RSpec::Matchers.define :be_a_valid_uuid_string do
         
     | 
| 
       4 
4 
     | 
    
         
             
              match do |actual|
         
     | 
| 
       5 
     | 
    
         
            -
                 
     | 
| 
      
 5 
     | 
    
         
            +
                !!/^\A[0-9a-f]{8}(-?)[0-9a-f]{4}\1[1-5][0-9a-f]{3}\1[89ab][0-9a-f]{3}\1[0-9a-f]{12}\z$/i.match(actual)
         
     | 
| 
       6 
6 
     | 
    
         
             
              end
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
              description do
         
     | 
| 
         @@ -32,7 +32,7 @@ RSpec.describe Lapis::Uuid do 
     | 
|
| 
       32 
32 
     | 
    
         
             
                end
         
     | 
| 
       33 
33 
     | 
    
         
             
              end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
              describe '# 
     | 
| 
      
 35 
     | 
    
         
            +
              describe '#initialize' do
         
     | 
| 
       36 
36 
     | 
    
         
             
                context 'with a valid value' do
         
     | 
| 
       37 
37 
     | 
    
         
             
                  let(:uuid_value) { build(:uuid_value) }
         
     | 
| 
       38 
38 
     | 
    
         
             
                  subject(:uuid) { Lapis::Uuid.new(uuid_value) }
         
     | 
| 
         @@ -55,11 +55,10 @@ RSpec.describe Lapis::Uuid do 
     | 
|
| 
       55 
55 
     | 
    
         
             
                end
         
     | 
| 
       56 
56 
     | 
    
         
             
              end
         
     | 
| 
       57 
57 
     | 
    
         | 
| 
       58 
     | 
    
         
            -
               
     | 
| 
      
 58 
     | 
    
         
            +
              describe '.generate' do
         
     | 
| 
       59 
59 
     | 
    
         
             
                subject(:uuid) { Lapis::Uuid.generate }
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
61 
     | 
    
         
             
                describe 'the value' do
         
     | 
| 
       62 
     | 
    
         
            -
                  let(:other) { build(:uuid) }
         
     | 
| 
       63 
62 
     | 
    
         
             
                  subject { uuid.value }
         
     | 
| 
       64 
63 
     | 
    
         | 
| 
       65 
64 
     | 
    
         
             
                  # The UUID standards don't allow generated UUID to be all zeroes.
         
     | 
| 
         @@ -69,6 +68,7 @@ RSpec.describe Lapis::Uuid do 
     | 
|
| 
       69 
68 
     | 
    
         | 
| 
       70 
69 
     | 
    
         
             
                  # The chances of two randomly generated UUIDs being identical is virtually impossible.
         
     | 
| 
       71 
70 
     | 
    
         
             
                  it 'is random' do
         
     | 
| 
      
 71 
     | 
    
         
            +
                    other = build(:uuid)
         
     | 
| 
       72 
72 
     | 
    
         
             
                    is_expected.to_not eq other
         
     | 
| 
       73 
73 
     | 
    
         
             
                  end
         
     | 
| 
       74 
74 
     | 
    
         
             
                end
         
     | 
| 
         @@ -83,12 +83,15 @@ RSpec.describe Lapis::Uuid do 
     | 
|
| 
       83 
83 
     | 
    
         
             
              end
         
     | 
| 
       84 
84 
     | 
    
         | 
| 
       85 
85 
     | 
    
         
             
              describe '.parse' do
         
     | 
| 
       86 
     | 
    
         
            -
                let(:uuid_str) { build(:uuid_str) }
         
     | 
| 
       87 
86 
     | 
    
         
             
                subject { Lapis::Uuid.parse(uuid_str) }
         
     | 
| 
       88 
87 
     | 
    
         | 
| 
       89 
     | 
    
         
            -
                context 'with a valid  
     | 
| 
       90 
     | 
    
         
            -
                   
     | 
| 
       91 
     | 
    
         
            -
                     
     | 
| 
      
 88 
     | 
    
         
            +
                context 'with a valid argument' do
         
     | 
| 
      
 89 
     | 
    
         
            +
                  context 'with dashes' do
         
     | 
| 
      
 90 
     | 
    
         
            +
                    let(:uuid_str) { build(:uuid_str) }
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
                    it 'parses correctly' do
         
     | 
| 
      
 93 
     | 
    
         
            +
                      is_expected.to eq uuid_str
         
     | 
| 
      
 94 
     | 
    
         
            +
                    end
         
     | 
| 
       92 
95 
     | 
    
         
             
                  end
         
     | 
| 
       93 
96 
     | 
    
         | 
| 
       94 
97 
     | 
    
         
             
                  context 'without dashes' do
         
     | 
| 
         @@ -115,6 +118,14 @@ RSpec.describe Lapis::Uuid do 
     | 
|
| 
       115 
118 
     | 
    
         
             
                    expect { subject }.to raise_error(ArgumentError)
         
     | 
| 
       116 
119 
     | 
    
         
             
                  end
         
     | 
| 
       117 
120 
     | 
    
         
             
                end
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
      
 122 
     | 
    
         
            +
                context 'with newlines' do
         
     | 
| 
      
 123 
     | 
    
         
            +
                  let(:uuid_str) { "\n" + build(:uuid_str) + "\n" }
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
                  it 'returns nil' do
         
     | 
| 
      
 126 
     | 
    
         
            +
                    is_expected.to be_nil
         
     | 
| 
      
 127 
     | 
    
         
            +
                  end
         
     | 
| 
      
 128 
     | 
    
         
            +
                end
         
     | 
| 
       118 
129 
     | 
    
         
             
              end
         
     | 
| 
       119 
130 
     | 
    
         | 
| 
       120 
131 
     | 
    
         
             
              describe '#value' do
         
     | 
| 
         @@ -129,12 +140,8 @@ RSpec.describe Lapis::Uuid do 
     | 
|
| 
       129 
140 
     | 
    
         
             
                  is_expected.to be_frozen
         
     | 
| 
       130 
141 
     | 
    
         
             
                end
         
     | 
| 
       131 
142 
     | 
    
         | 
| 
       132 
     | 
    
         
            -
                 
     | 
| 
       133 
     | 
    
         
            -
                   
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
       135 
     | 
    
         
            -
                  it 'is 16 bytes' do
         
     | 
| 
       136 
     | 
    
         
            -
                    is_expected.to be 16
         
     | 
| 
       137 
     | 
    
         
            -
                  end
         
     | 
| 
      
 143 
     | 
    
         
            +
                it 'is 16 bytes' do
         
     | 
| 
      
 144 
     | 
    
         
            +
                  expect(value.length).to be 16
         
     | 
| 
       138 
145 
     | 
    
         
             
                end
         
     | 
| 
       139 
146 
     | 
    
         
             
              end
         
     | 
| 
       140 
147 
     | 
    
         | 
| 
         @@ -306,7 +313,7 @@ RSpec.describe Lapis::Uuid do 
     | 
|
| 
       306 
313 
     | 
    
         | 
| 
       307 
314 
     | 
    
         
             
                context 'with a lesser value' do
         
     | 
| 
       308 
315 
     | 
    
         
             
                  let(:first)  { build(:uuid, :source => greater) }
         
     | 
| 
       309 
     | 
    
         
            -
                  let(:second) { build(:uuid_value, : 
     | 
| 
      
 316 
     | 
    
         
            +
                  let(:second) { build(:uuid_value, :source => lesser) }
         
     | 
| 
       310 
317 
     | 
    
         | 
| 
       311 
318 
     | 
    
         
             
                  it 'is 1' do
         
     | 
| 
       312 
319 
     | 
    
         
             
                    is_expected.to eq 1
         
     | 
| 
         @@ -315,7 +322,7 @@ RSpec.describe Lapis::Uuid do 
     | 
|
| 
       315 
322 
     | 
    
         | 
| 
       316 
323 
     | 
    
         
             
                context 'with a greater value' do
         
     | 
| 
       317 
324 
     | 
    
         
             
                  let(:first)  { build(:uuid, :source => lesser) }
         
     | 
| 
       318 
     | 
    
         
            -
                  let(:second) { build(:uuid_value, : 
     | 
| 
      
 325 
     | 
    
         
            +
                  let(:second) { build(:uuid_value, :source => greater) }
         
     | 
| 
       319 
326 
     | 
    
         | 
| 
       320 
327 
     | 
    
         
             
                  it 'is -1' do
         
     | 
| 
       321 
328 
     | 
    
         
             
                    is_expected.to eq(-1)
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: lapis-common
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Michael Miller
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016-06- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-06-13 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     |