dm-fixtures 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class TestDmFixture < Test::Unit::TestCase
4
+ def test_
5
+
6
+ end
7
+ 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
+