uuid_it 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,16 +1,25 @@
1
1
  # UuidIt
2
2
 
3
- You need to assign UUIDs to your Model? Simply uuid_it by adding one line of code.
3
+ You need to assign UUIDs to your Model? UuidIt makes it as simple as adding one line of code to the according models.
4
4
 
5
5
  For actually generating the uuids this plugin uses spectra's ruby-uuid (http://github.com/spectra/ruby-uuid) whih is
6
6
  based on ruby-uuid (http://raa.ruby-lang.org/project/ruby-uuid/).
7
7
 
8
8
  ## Installation
9
9
 
10
+ ### As a plugin
11
+
10
12
  script/plugin install git://github.com/aduffeck/uuid_it.git
11
13
  script/generate uuid_it
12
14
  rake db:migrate
13
15
 
16
+ ### As a gem
17
+ Add the following line to your config/environment.rb file:
18
+
19
+ config.gem "uuid_it"
20
+
21
+ script/generate uuid_it
22
+ rake db:migrate
14
23
 
15
24
  ## Usage
16
25
 
@@ -20,6 +29,9 @@ based on ruby-uuid (http://raa.ruby-lang.org/project/ruby-uuid/).
20
29
 
21
30
  @car.uuid # "9e5edacc-7163-11df-92bb-2d0a2c4dcb1c"
22
31
 
32
+ New UUIDs will be assigned when new objects are created. Already existing objects will get a UUID when it is read for the
33
+ first time.
34
+
23
35
  ## Credits
24
36
 
25
37
  Copyright (c) 2010 André Duffeck, released under the MIT license
data/lib/uuid_it.rb CHANGED
@@ -24,6 +24,7 @@ module ActiveRecord
24
24
  uuid = Uuid.new(:uuidable_id => self.id, :uuidable_type => self.class.name)
25
25
  uuid.uuid = UUID.create.to_s
26
26
  uuid.save
27
+ self.reload
27
28
  end
28
29
  end
29
30
  end
data/test/test_helper.rb CHANGED
@@ -1,3 +1,22 @@
1
1
  require 'rubygems'
2
2
  require 'active_support'
3
- require 'active_support/test_case'
3
+ require 'active_support/test_case'
4
+ require 'test/unit'
5
+ require 'active_record'
6
+ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
7
+
8
+ require File.dirname(__FILE__) + '/../lib/uuid_it'
9
+
10
+ silence_stream(STDOUT) do
11
+ ActiveRecord::Schema.define do
12
+ create_table :uuids do |t|
13
+ t.string :uuid
14
+ t.integer :uuidable_id
15
+ t.string :uuidable_type, :limit => 40
16
+ end
17
+
18
+ create_table :cars
19
+
20
+ create_table :bikes
21
+ end
22
+ end
data/test/uuid_it_test.rb CHANGED
@@ -1,8 +1,37 @@
1
1
  require 'test_helper'
2
2
 
3
+ class Car < ActiveRecord::Base
4
+ uuid_it
5
+ end
6
+
7
+ class Bike < ActiveRecord::Base
8
+ end
9
+
3
10
  class UuidItTest < ActiveSupport::TestCase
4
- # Replace this with your real tests.
5
- test "the truth" do
6
- assert true
11
+ test "should assing Uuids to new objects" do
12
+ c = Car.create
13
+ assert c.uuid_object
14
+ assert c.uuid.present?
15
+
16
+ c2 = Car.create
17
+ assert_not_equal c.uuid, c2.uuid
18
+ end
19
+
20
+ test "should assing Uuid to already existing objects on first access" do
21
+ b1 = nil
22
+ assert_difference "Uuid.count", 0 do
23
+ b1 = Bike.create
24
+ end
25
+ Bike.class_eval do
26
+ uuid_it
27
+ end
28
+ assert_nil b1.uuid_object
29
+ b1.uuid
30
+ assert b1.uuid_object
31
+ assert b1.uuid.present?
32
+
33
+ b2 = Bike.create
34
+ assert b2.uuid_object
35
+ assert b2.uuid.present?
7
36
  end
8
37
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - "Andr\xC3\xA9 Duffeck"
@@ -14,11 +14,11 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-06-06 00:00:00 +02:00
17
+ date: 2010-06-07 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
21
- description: " You need to assign UUIDs to your model? UuidIt makes it as simple adding one line of code to the according models. \n"
21
+ description: " You need to assign UUIDs to your model? UuidIt makes it as simple as adding one line of code to the according models. \n"
22
22
  email:
23
23
  - aduffeck@suse.de
24
24
  executables: []
@@ -39,7 +39,7 @@ files:
39
39
  - test/test_helper.rb
40
40
  - test/uuid_it_test.rb
41
41
  has_rdoc: true
42
- homepage: http://aduffeck.github.com/uuid_it
42
+ homepage: http://github.com/aduffeck/uuid_it
43
43
  licenses: []
44
44
 
45
45
  post_install_message: