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.
@@ -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
+