uuids 0.1.0 → 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.
@@ -0,0 +1,53 @@
1
+ require "spec_helper"
2
+
3
+ module Uuids
4
+ describe Base do
5
+
6
+ describe ".included" do
7
+
8
+ context "from non AR class" do
9
+
10
+ before { class Test; end }
11
+ after { begin; Uuids::Base.send :remove_constant, :Test; rescue; end }
12
+
13
+ it "fails" do
14
+ expect { Test.include Uuids::Base }.to raise_error
15
+ end
16
+ end
17
+
18
+ context "from AR model" do
19
+
20
+ # For running this specification, the Item AR model prepared in the
21
+ # `spec dummy/app/models/item.rb`.
22
+ before { Item.include Uuids::Base }
23
+ subject(:item) { Item.new }
24
+
25
+ it "defines the #uuids attribute properly" do
26
+ subject.uuids.new value: SecureRandom.uuid
27
+ subject.save!
28
+ expect(Uuids::Uuid.first.try(:record)).to eq subject
29
+ expect(subject.uuids.first).to eq Uuids::Uuid.first
30
+ end
31
+
32
+ it "creates the first uuid by default" do
33
+ subject.save!
34
+ expect(subject.uuids.reload).not_to be_blank
35
+ end
36
+
37
+ it "requires the #uuids attribute" do
38
+ subject.save!
39
+ subject.uuids.each(&:delete)
40
+ expect(subject.reload).not_to be_valid
41
+ end
42
+
43
+ it "forbids destruction if uuids present" do
44
+ subject.save!
45
+ expect { subject.destroy! }.to raise_error
46
+ subject.uuids.each(&:delete)
47
+ subject.reload
48
+ expect { subject.destroy! }.not_to raise_error
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uuids
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kozin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-16 00:00:00.000000000 Z
11
+ date: 2014-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -141,6 +141,7 @@ files:
141
141
  - db/migrate/20141016112506_create_uuids_uuids.rb
142
142
  - lib/tasks/uuids_tasks.rake
143
143
  - lib/uuids.rb
144
+ - lib/uuids/base.rb
144
145
  - lib/uuids/engine.rb
145
146
  - lib/uuids/version.rb
146
147
  - spec/dummy/README.rdoc
@@ -149,6 +150,7 @@ files:
149
150
  - spec/dummy/app/assets/stylesheets/application.css
150
151
  - spec/dummy/app/controllers/application_controller.rb
151
152
  - spec/dummy/app/helpers/application_helper.rb
153
+ - spec/dummy/app/models/item.rb
152
154
  - spec/dummy/app/models/record.rb
153
155
  - spec/dummy/app/views/layouts/application.html.erb
154
156
  - spec/dummy/bin/bundle
@@ -174,6 +176,7 @@ files:
174
176
  - spec/dummy/config/routes.rb
175
177
  - spec/dummy/config/secrets.yml
176
178
  - spec/dummy/db/migrate/20141016113016_create_records.rb
179
+ - spec/dummy/db/migrate/20141017081115_create_items.rb
177
180
  - spec/dummy/db/schema.rb
178
181
  - spec/dummy/db/test.sqlite3
179
182
  - spec/dummy/log/development.log
@@ -184,6 +187,7 @@ files:
184
187
  - spec/dummy/public/favicon.ico
185
188
  - spec/dummy/spec/factories/records.rb
186
189
  - spec/factories/uuids.rb
190
+ - spec/lib/uuids/base_spec.rb
187
191
  - spec/models/uuids/uuid_spec.rb
188
192
  - spec/spec_helper.rb
189
193
  - spec/support/initializers/coveralls.rb
@@ -245,11 +249,13 @@ test_files:
245
249
  - spec/dummy/config/initializers/cookies_serializer.rb
246
250
  - spec/dummy/config/initializers/filter_parameter_logging.rb
247
251
  - spec/dummy/config/initializers/assets.rb
252
+ - spec/dummy/db/migrate/20141017081115_create_items.rb
248
253
  - spec/dummy/db/migrate/20141016113016_create_records.rb
249
254
  - spec/dummy/db/test.sqlite3
250
255
  - spec/dummy/db/schema.rb
251
256
  - spec/dummy/app/views/layouts/application.html.erb
252
257
  - spec/dummy/app/models/record.rb
258
+ - spec/dummy/app/models/item.rb
253
259
  - spec/dummy/app/assets/javascripts/application.js
254
260
  - spec/dummy/app/assets/stylesheets/application.css
255
261
  - spec/dummy/app/helpers/application_helper.rb
@@ -263,6 +269,7 @@ test_files:
263
269
  - spec/dummy/bin/rake
264
270
  - spec/dummy/bin/rails
265
271
  - spec/dummy/bin/bundle
272
+ - spec/lib/uuids/base_spec.rb
266
273
  - spec/factories/uuids.rb
267
274
  - spec/support/initializers/garbage_collection.rb
268
275
  - spec/support/initializers/i18n.rb