dm-fixtures 0.1.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.
- data/.document +5 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +23 -0
- data/LICENSE +7 -0
- data/README +40 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/dm-fixtures.gemspec +64 -0
- data/lib/adapters.rb +134 -0
- data/lib/dm-fixtures.rb +27 -0
- data/lib/dm-fixtures/fixture_set/file.rb +65 -0
- data/lib/dm-fixtures/fixtures.rb +998 -0
- data/lib/dm-fixtures/railtie.rb +23 -0
- data/lib/dm-fixtures/railties/testing.rake +98 -0
- data/test/helper.rb +17 -0
- data/test/test_dm-fixture.rb +7 -0
- metadata +139 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'rails'
|
2
|
+
require 'active_model/railtie'
|
3
|
+
|
4
|
+
# Comment taken from active_record/railtie.rb
|
5
|
+
#
|
6
|
+
# For now, action_controller must always be present with
|
7
|
+
# rails, so let's make sure that it gets required before
|
8
|
+
# here. This is needed for correctly setting up the middleware.
|
9
|
+
# In the future, this might become an optional require.
|
10
|
+
require 'action_controller/railtie'
|
11
|
+
|
12
|
+
module Rails
|
13
|
+
module DataMapper
|
14
|
+
class DmFixtureRailtie < Rails::Railtie
|
15
|
+
rake_tasks do
|
16
|
+
# path = File.join(File.dirname(__FILE__), 'tasks', '*.rake')
|
17
|
+
# puts "here" + path
|
18
|
+
# Dir[path].each { |f| load f }
|
19
|
+
load 'dm-fixtures/railties/testing.rake'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require 'dm-migrations'
|
2
|
+
|
3
|
+
# module DataMapper
|
4
|
+
# module Migrations
|
5
|
+
# module SingletonMethods
|
6
|
+
# def repository_execute(method, repository_name)
|
7
|
+
# models = DataMapper::Model.descendants
|
8
|
+
# puts "model: #{models}"
|
9
|
+
# models = models.select { |m| m.default_repository_name == repository_name } if repository_name
|
10
|
+
# models.each do |model|
|
11
|
+
# puts "model: #{model}"
|
12
|
+
# model.send(method, model.default_repository_name)
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
#
|
16
|
+
# end
|
17
|
+
|
18
|
+
# module Repository
|
19
|
+
# def create_model_storage(model)
|
20
|
+
# adapter = self.adapter
|
21
|
+
# puts "creating model #{model} with #{adapter}"
|
22
|
+
# if adapter.respond_to?(:create_model_storage)
|
23
|
+
# ret = adapter.create_model_storage(model)
|
24
|
+
# puts "success: #{ret}"
|
25
|
+
# DataMapper.logger.add(ActiveSupport::BufferedLogger::Severity::INFO, "creating model #{model} #{ret}")
|
26
|
+
# end
|
27
|
+
# end
|
28
|
+
# end
|
29
|
+
# module DataObjectsAdapter
|
30
|
+
# def create_model_storage(model)
|
31
|
+
# name = self.name
|
32
|
+
# properties = model.properties_with_subclasses(name)
|
33
|
+
#
|
34
|
+
# return false if storage_exists?(model.storage_name(name))
|
35
|
+
# return false if properties.empty?
|
36
|
+
#
|
37
|
+
# with_connection do |connection|
|
38
|
+
# p connection
|
39
|
+
# statements = [ create_table_statement(connection, model, properties) ]
|
40
|
+
# statements.concat(create_index_statements(model))
|
41
|
+
# statements.concat(create_unique_index_statements(model))
|
42
|
+
#
|
43
|
+
# statements.each do |statement|
|
44
|
+
# #puts "statement: #{statement}"
|
45
|
+
# command = connection.create_command(statement)
|
46
|
+
# command.execute_non_query
|
47
|
+
# end
|
48
|
+
# end
|
49
|
+
#
|
50
|
+
# true
|
51
|
+
# end
|
52
|
+
# end
|
53
|
+
# end
|
54
|
+
#
|
55
|
+
# module Model
|
56
|
+
# def auto_migrate!(repository_name = self.repository_name)
|
57
|
+
# assert_valid(true)
|
58
|
+
# auto_migrate_down!(repository_name)
|
59
|
+
# auto_migrate_up!(repository_name)
|
60
|
+
# puts "auto_migrate done"
|
61
|
+
# end
|
62
|
+
#
|
63
|
+
# def auto_migrate_up!(repository_name = self.repository_name)
|
64
|
+
# assert_valid(true)
|
65
|
+
# base_model = self.base_model
|
66
|
+
# if base_model == self
|
67
|
+
# puts "base_model == self"
|
68
|
+
# repository(repository_name).create_model_storage(self)
|
69
|
+
# else
|
70
|
+
# puts "auto_migrate_up"
|
71
|
+
# base_model.auto_migrate_up!(repository_name)
|
72
|
+
# end
|
73
|
+
# end
|
74
|
+
# end
|
75
|
+
# end
|
76
|
+
|
77
|
+
|
78
|
+
# Related to http://stackoverflow.com/q/5950238/1749924
|
79
|
+
namespace :test do
|
80
|
+
desc 'DataMapper prep stage: load the test database via desctructive autoupgrade'
|
81
|
+
task :prepare => :environment do
|
82
|
+
#TODO make sure we're calling the correct DataMapper.setup....
|
83
|
+
puts "if this is not test, then rails has already been booted incorrectly: #{Rails.env}"
|
84
|
+
Rails.env = 'test'
|
85
|
+
#Rake::Task['db:autoupgrade'].invoke
|
86
|
+
# Copied from dm-rails/railties/database.rake, but needs to use the current test environment
|
87
|
+
|
88
|
+
# puts '----'
|
89
|
+
# p ::DataMapper::Model.descendants.entries
|
90
|
+
# puts '^^^^'
|
91
|
+
::DataMapper.finalize
|
92
|
+
Rails::DataMapper.configuration.repositories[Rails.env].each do |repository, config|
|
93
|
+
#p DataMapper.repository.adapter
|
94
|
+
::DataMapper.auto_migrate!(repository.to_sym)
|
95
|
+
puts "[datamapper] Finished update for :#{repository} repository '#{config['database']}'"
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
|
12
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
require 'dm-fixture'
|
15
|
+
|
16
|
+
class Test::Unit::TestCase
|
17
|
+
end
|
metadata
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dm-fixtures
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Phill Baker
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-10-21 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
type: :development
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 3
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
31
|
+
version_requirements: *id001
|
32
|
+
prerelease: false
|
33
|
+
name: bundler
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
type: :development
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
hash: 31
|
42
|
+
segments:
|
43
|
+
- 3
|
44
|
+
- 12
|
45
|
+
version: "3.12"
|
46
|
+
version_requirements: *id002
|
47
|
+
prerelease: false
|
48
|
+
name: rdoc
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
type: :development
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 63
|
57
|
+
segments:
|
58
|
+
- 1
|
59
|
+
- 8
|
60
|
+
- 4
|
61
|
+
version: 1.8.4
|
62
|
+
version_requirements: *id003
|
63
|
+
prerelease: false
|
64
|
+
name: jeweler
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
type: :development
|
67
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
73
|
+
segments:
|
74
|
+
- 0
|
75
|
+
version: "0"
|
76
|
+
version_requirements: *id004
|
77
|
+
prerelease: false
|
78
|
+
name: rcov
|
79
|
+
description: A rip of some of ActiveRecord's fixtures helpers, ported to DataMapper. For the conservative/slow adopters of dm-sweatshop.
|
80
|
+
email: phillbaker@retrodict.com
|
81
|
+
executables: []
|
82
|
+
|
83
|
+
extensions: []
|
84
|
+
|
85
|
+
extra_rdoc_files:
|
86
|
+
- LICENSE
|
87
|
+
- README
|
88
|
+
files:
|
89
|
+
- .document
|
90
|
+
- Gemfile
|
91
|
+
- Gemfile.lock
|
92
|
+
- LICENSE
|
93
|
+
- README
|
94
|
+
- Rakefile
|
95
|
+
- VERSION
|
96
|
+
- dm-fixtures.gemspec
|
97
|
+
- lib/adapters.rb
|
98
|
+
- lib/dm-fixtures.rb
|
99
|
+
- lib/dm-fixtures/fixture_set/file.rb
|
100
|
+
- lib/dm-fixtures/fixtures.rb
|
101
|
+
- lib/dm-fixtures/railtie.rb
|
102
|
+
- lib/dm-fixtures/railties/testing.rake
|
103
|
+
- test/helper.rb
|
104
|
+
- test/test_dm-fixture.rb
|
105
|
+
homepage: http://github.com/phillbaker/dm-fixtures
|
106
|
+
licenses:
|
107
|
+
- MIT
|
108
|
+
post_install_message:
|
109
|
+
rdoc_options: []
|
110
|
+
|
111
|
+
require_paths:
|
112
|
+
- lib
|
113
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
hash: 3
|
119
|
+
segments:
|
120
|
+
- 0
|
121
|
+
version: "0"
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
hash: 3
|
128
|
+
segments:
|
129
|
+
- 0
|
130
|
+
version: "0"
|
131
|
+
requirements: []
|
132
|
+
|
133
|
+
rubyforge_project:
|
134
|
+
rubygems_version: 1.8.24
|
135
|
+
signing_key:
|
136
|
+
specification_version: 3
|
137
|
+
summary: Old school fixtures for DataMapper, specifically with dm-rails.
|
138
|
+
test_files: []
|
139
|
+
|