soveran-spawner 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -5,6 +5,8 @@ I use Faker to generate random data, but you can use any method.
5
5
 
6
6
  == Usage
7
7
 
8
+ With ActiveRecord:
9
+
8
10
  class User < ActiveRecord::Base
9
11
  spawner do |user|
10
12
  user.name = Faker::Name.name
@@ -12,6 +14,25 @@ I use Faker to generate random data, but you can use any method.
12
14
  end
13
15
  end
14
16
 
17
+ With Sequel:
18
+
19
+ class User < Sequel::Model
20
+ extend Spawner
21
+
22
+ spawner do |user|
23
+ user.name = Faker::Name.name
24
+ user.email = Faker::Internet.email
25
+ end
26
+ end
27
+
28
+ If you don't want to pollute your class definition, you
29
+ can of course use it from outside:
30
+
31
+ User.spawner do |user|
32
+ user.name = Faker::Name.name
33
+ user.email = Faker::Internet.email
34
+ end
35
+
15
36
  Then, in your test or in any other place:
16
37
 
17
38
  @user = User.spawn
@@ -28,8 +49,6 @@ Or even this:
28
49
 
29
50
  == Installation
30
51
 
31
- You can install it as a Rails plugin or as a gem:
32
-
33
52
  $ gem sources -a http://gems.github.com (you only have to do this once)
34
53
  $ sudo gem install soveran-spawner
35
54
 
data/lib/spawner.rb CHANGED
@@ -1,19 +1,16 @@
1
- module ActiveRecord
2
- class Base
3
- @@spawn = Hash.new do |hash, key|
1
+ module Spawner
2
+ def spawner &default
3
+ @@spawn ||= Hash.new do |hash, key|
4
4
  hash[key] = lambda { |model| model }
5
5
  end
6
+ @@spawn[self.name] = default
7
+ end
6
8
 
7
- def self.spawner &default
8
- @@spawn[self.name] = default
9
- end
10
-
11
- def self.spawn attrs = Hash.new
12
- model = new &@@spawn[self.name]
13
- model.attributes = attrs unless attrs.empty?
14
- yield model if block_given?
15
- model.save!
16
- model
17
- end
9
+ def spawn attrs = Hash.new
10
+ model = new &@@spawn[self.name]
11
+ model.attributes = attrs unless attrs.empty?
12
+ yield model if block_given?
13
+ model.save!
14
+ model
18
15
  end
19
16
  end
data/rails/init.rb ADDED
@@ -0,0 +1,3 @@
1
+ require File.dirname(__FILE__) + '/../lib/spawner'
2
+
3
+ ActiveRecord::Base.send(:extend, Spawner)
data/spawner.gemspec CHANGED
@@ -1,11 +1,11 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "spawner"
3
- s.version = "0.0.2"
4
- s.date = "2008-09-7"
5
- s.summary = "Simple fixtures replacement for ActiveRecord"
3
+ s.version = "0.0.4"
4
+ s.date = "2008-12-18"
5
+ s.summary = "Simple fixtures replacement for Sequel, ActiveRecord and probably many other ORMs"
6
6
  s.email = "michel@soveran.com"
7
7
  s.homepage = "http://github.com/soveran/spawner"
8
- s.description = "Populates the database with custom data."
8
+ s.description = "Simple fixtures replacement that allows to populate the database with custom data."
9
9
  s.has_rdoc = true
10
10
  s.authors = ["Michel Martens"]
11
11
  s.files = [
@@ -13,9 +13,8 @@ Gem::Specification.new do |s|
13
13
  "MIT-LICENSE",
14
14
  "spawner.gemspec",
15
15
  "lib/spawner.rb",
16
- "init.rb",
16
+ "rails/init.rb",
17
17
  "extras/samples.rake"]
18
18
  s.rdoc_options = ["--main", "README.rdoc"]
19
19
  s.extra_rdoc_files = ['README.rdoc']
20
- s.add_dependency("activerecord", ["> 0.0.0"])
21
20
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soveran-spawner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michel Martens
@@ -9,19 +9,11 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-07 00:00:00 -07:00
12
+ date: 2008-12-18 00:00:00 -08:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: activerecord
17
- version_requirement:
18
- version_requirements: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - ">"
21
- - !ruby/object:Gem::Version
22
- version: 0.0.0
23
- version:
24
- description: Populates the database with custom data.
14
+ dependencies: []
15
+
16
+ description: Simple fixtures replacement that allows to populate the database with custom data.
25
17
  email: michel@soveran.com
26
18
  executables: []
27
19
 
@@ -34,7 +26,7 @@ files:
34
26
  - MIT-LICENSE
35
27
  - spawner.gemspec
36
28
  - lib/spawner.rb
37
- - init.rb
29
+ - rails/init.rb
38
30
  - extras/samples.rake
39
31
  has_rdoc: true
40
32
  homepage: http://github.com/soveran/spawner
@@ -62,6 +54,6 @@ rubyforge_project:
62
54
  rubygems_version: 1.2.0
63
55
  signing_key:
64
56
  specification_version: 2
65
- summary: Simple fixtures replacement for ActiveRecord
57
+ summary: Simple fixtures replacement for Sequel, ActiveRecord and probably many other ORMs
66
58
  test_files: []
67
59
 
data/init.rb DELETED
@@ -1 +0,0 @@
1
- require File.dirname(__FILE__) + '/lib/spawner'