lapis-common 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b47a86ec3a01f1c627e8ef76b589cde22a07fceb
4
- data.tar.gz: c5a838b8881d1c032096c93b2d78e68f2b7b25b2
3
+ metadata.gz: 1679496db3f2c1ebd08176c885f972d39a2bf299
4
+ data.tar.gz: db84544ca727992e10b80116b8add44c21d37555
5
5
  SHA512:
6
- metadata.gz: dbc72c5c73ec5f0faee27fadcddbe928343d703be3c0f79bb529903a00a125d0bcacf296527a4c38ca7d891327d5c9a3e3522c678f87ccbb464d3c1b33ee3ae8
7
- data.tar.gz: aeceda5bc89dd4eceeefdc6013cc47df6d41fdf8e9f47510a7f37c471e6400b5b02cf2499da6d93f004b9cc2d2720fcb0e8c733cb810bb9680992dc8f1cb1861
6
+ metadata.gz: 4f6b9359296e663cf3e06927ce623325ba27653f07a0e1b825fd7e90ed953952f19de1c7c0c41431c148b54409fafcbb9e2f4f36ca03533f43b54152aa285972
7
+ data.tar.gz: b4cf97edc59983d333c1545a51bca30b0003139535b9388a6ca0ff312c0b110af094b07a57586c2c406ffde7fe85563db20166d6455ad56a8a8e55ef1aab82cd
@@ -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
- !!/^[0-9a-f]{8}(-?)[0-9a-f]{4}\1[0-9a-f]{4}\1[0-9a-f]{4}\1[0-9a-f]{12}$/i.match(uuid_str)
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
@@ -1,3 +1,3 @@
1
1
  module Lapis
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
@@ -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 { uuid_str.delete('-').scan(/../).map(&:hex).pack('C*') }
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, :uuid_str => source))
38
+ Lapis::Uuid.new(build(:uuid_value, :source => source))
39
39
  end
40
40
  end
41
41
  end
@@ -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
- !!/^[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}$/mi.match(actual)
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 '#new' do
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
- context '.generate' do
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 UUID' do
90
- it 'parses correctly' do
91
- is_expected.to eq uuid_str
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
- describe 'its length' do
133
- subject { value.length }
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, :uuid_str => lesser) }
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, :uuid_str => greater) }
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.0
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-10 00:00:00.000000000 Z
11
+ date: 2016-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler