datamapper4rails 0.3.2 → 0.4.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/History.txt +11 -1
- data/Manifest.txt +1 -0
- data/Rakefile +1 -1
- data/datamapper_rails_templates.rb +63 -31
- data/lib/datamapper4rails.rb +1 -1
- data/lib/datamapper4rails/rails_datamapper.rb +65 -0
- data/lib/datamapper4rails/version.rb +1 -1
- metadata +3 -12
data/History.txt
CHANGED
@@ -1,4 +1,14 @@
|
|
1
|
-
===
|
1
|
+
=== 0.4.0 / 2009-12-07
|
2
|
+
|
3
|
+
* removed obsolete dependency to rails_datamapper
|
4
|
+
|
5
|
+
* allow to configure multiple repositories
|
6
|
+
|
7
|
+
* fixed problem in rails template with upcoming datamapper 0.10.2
|
8
|
+
|
9
|
+
* added pom.xml in rails template to use maven straight away without downloading maven artifacts
|
10
|
+
|
11
|
+
=== 0.0.0 / 2009-03-18
|
2
12
|
|
3
13
|
* 1 major enhancement
|
4
14
|
|
data/Manifest.txt
CHANGED
@@ -28,6 +28,7 @@ lib/datamapper4rails/integration_test.rb
|
|
28
28
|
lib/datamapper4rails/identity_maps.rb
|
29
29
|
lib/datamapper4rails/overlay.rb
|
30
30
|
lib/datamapper4rails/preload_models.rb
|
31
|
+
lib/datamapper4rails/rails_datamapper.rb
|
31
32
|
lib/datamapper4rails/restful_transactions.rb
|
32
33
|
lib/datamapper4rails/rspec_default_values.rb
|
33
34
|
lib/datamapper4rails/rspec.rb
|
data/Rakefile
CHANGED
@@ -12,7 +12,7 @@ require './lib/datamapper4rails/version.rb'
|
|
12
12
|
Hoe.spec('datamapper4rails') do |p|
|
13
13
|
p.rubyforge_name = 'datamapper4rail'
|
14
14
|
p.developer('mkristian', 'm.kristian@web.de')
|
15
|
-
p.extra_deps = [['rack-datamapper', '~>0.2']
|
15
|
+
p.extra_deps = [['rack-datamapper', '~>0.2']]
|
16
16
|
p.remote_rdoc_dir = '' # Release to root
|
17
17
|
p.rspec_options << '--options' << 'spec/spec.opts'
|
18
18
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# inspired by http://www.rowtheboat.com/archives/32
|
2
2
|
###################################################
|
3
3
|
|
4
|
-
#
|
5
|
-
gem '
|
4
|
+
# this pulls in rails_datamapper and rack_datamapper
|
5
|
+
gem 'datamapper4rails'
|
6
6
|
|
7
7
|
# assume sqlite3 to be database
|
8
8
|
gem 'do_sqlite3'
|
@@ -12,14 +12,15 @@ gem 'dm-validations'
|
|
12
12
|
gem 'dm-timestamps'
|
13
13
|
gem 'dm-migrations'
|
14
14
|
gem 'dm-serializer' # to allow xml interface to work
|
15
|
+
gem 'dm-core'
|
16
|
+
|
17
|
+
# get all datamapper related gems
|
18
|
+
gem 'addressable', :lib => 'addressable/uri'
|
15
19
|
|
16
20
|
# assume you prefer rspec over unit tests
|
17
21
|
gem 'rspec', :lib => false
|
18
22
|
gem 'rspec-rails', :lib => false
|
19
23
|
|
20
|
-
# this pulls in rails_datamapper and rack_datamapper
|
21
|
-
gem 'datamapper4rails'
|
22
|
-
|
23
24
|
# install all gems
|
24
25
|
rake 'gems:install'
|
25
26
|
|
@@ -76,32 +77,48 @@ if RUBY_PLATFORM =~ /java/
|
|
76
77
|
end
|
77
78
|
CODE
|
78
79
|
|
79
|
-
file '
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
80
|
+
file 'pom.xml', <<-CODE
|
81
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
82
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
83
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
84
|
+
http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
85
|
+
<modelVersion>4.0.0</modelVersion>
|
86
|
+
<groupId>com.example</groupId>
|
87
|
+
<artifactId>demo</artifactId>
|
88
|
+
<packaging>war</packaging>
|
89
|
+
<version>1.0-SNAPSHOT</version>
|
90
|
+
<name>rails datamapper demo</name>
|
91
|
+
<url>http://github.com/mkristian/rails-templates/blob/master/datamapper.rb</url>
|
92
|
+
<pluginRepositories>
|
93
|
+
<pluginRepository>
|
94
|
+
<id>saumya</id>
|
95
|
+
<name>Saumyas Plugins</name>
|
96
|
+
<url>http://mojo.saumya.de</url>
|
97
|
+
</pluginRepository>
|
98
|
+
</pluginRepositories>
|
99
|
+
<build>
|
100
|
+
<plugins>
|
101
|
+
<plugin>
|
102
|
+
<groupId>de.saumya.mojo</groupId>
|
103
|
+
<artifactId>rails-maven-plugin</artifactId>
|
104
|
+
<version>0.3.1</version>
|
105
|
+
</plugin>
|
106
|
+
<plugin>
|
107
|
+
<groupId>de.saumya.mojo</groupId>
|
108
|
+
<artifactId>jruby-maven-plugin</artifactId>
|
109
|
+
<version>0.3.1</version>
|
110
|
+
</plugin>
|
111
|
+
<plugin>
|
112
|
+
<groupId>de.saumya.mojo</groupId>
|
113
|
+
<artifactId>gem-maven-plugin</artifactId>
|
114
|
+
<version>0.3.1</version>
|
115
|
+
</plugin>
|
116
|
+
</plugins>
|
117
|
+
</build>
|
118
|
+
<properties>
|
119
|
+
<jruby.fork>false</jruby.fork>
|
120
|
+
</properties>
|
121
|
+
</project>
|
105
122
|
CODE
|
106
123
|
|
107
124
|
rake 'db:sessions:create'
|
@@ -111,4 +128,19 @@ logger.info
|
|
111
128
|
logger.info "info mavenized rails application"
|
112
129
|
logger.info "\thttp://github.org/mkristian/rails-maven-plugin"
|
113
130
|
logger.info
|
131
|
+
logger.info "if you want to run jruby please uninstall"
|
132
|
+
logger.info "the native extension of do_sqlite3 and install the java version"
|
133
|
+
logger.info "\truby -S gem uninstall do_sqlite3"
|
134
|
+
logger.info "\tjruby -S rake gems:install"
|
135
|
+
logger.info
|
136
|
+
logger.info "rake gems:unpack does NOT work with jruby due to a bug in rails <=2.3.5"
|
137
|
+
logger.info "you can try"
|
138
|
+
logger.info "\tmvn rails:rails-freeze-gems"
|
139
|
+
logger.info "which patches rails after freezing it"
|
140
|
+
logger.info
|
114
141
|
logger.info
|
142
|
+
logger.info
|
143
|
+
logger.info
|
144
|
+
logger.info "for dm-core version 0.10.2 there are a lot of deprecated warning but everything works as expected"
|
145
|
+
logger.info
|
146
|
+
logger.info
|
data/lib/datamapper4rails.rb
CHANGED
@@ -0,0 +1,65 @@
|
|
1
|
+
# taken from http://github.com/datamapper/dm-more/tree/master/rails_datamapper
|
2
|
+
# added multi repositories config
|
3
|
+
|
4
|
+
module Rails
|
5
|
+
module DataMapper
|
6
|
+
class << self
|
7
|
+
extend ActiveSupport::Memoizable
|
8
|
+
|
9
|
+
def create_connection
|
10
|
+
# TODO: handle Rails and Merb style database.yml files
|
11
|
+
conf = config.dup
|
12
|
+
repositories = conf.delete(:repositories)
|
13
|
+
if(repositories)
|
14
|
+
repositories.each do |key, config|
|
15
|
+
::DataMapper.setup(key.to_sym, config)
|
16
|
+
end
|
17
|
+
else
|
18
|
+
::DataMapper.setup(:default, conf) unless conf.empty?
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def config_file
|
25
|
+
Rails.root / 'config' / 'database.yml'
|
26
|
+
end
|
27
|
+
|
28
|
+
def full_config
|
29
|
+
YAML::load(ERB.new(config_file.read).result)
|
30
|
+
end
|
31
|
+
|
32
|
+
memoize :full_config
|
33
|
+
|
34
|
+
def config
|
35
|
+
if hash = full_config[Rails.env] || full_config[Rails.env.to_sym]
|
36
|
+
normalize_config(hash)
|
37
|
+
else
|
38
|
+
raise ArgumentError, "missing environment '#{Rails.env}' in config file #{config_file}"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
memoize :config
|
43
|
+
|
44
|
+
def normalize_config(hash)
|
45
|
+
config = {}
|
46
|
+
|
47
|
+
hash.symbolize_keys.each do |key, value|
|
48
|
+
config[key] = if value.kind_of?(Hash)
|
49
|
+
normalize_config(value)
|
50
|
+
elsif key == :port
|
51
|
+
value.to_i
|
52
|
+
elsif key == :adapter && value == 'postgresql'
|
53
|
+
'postgres'
|
54
|
+
else
|
55
|
+
value
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
config
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
Rails::DataMapper.create_connection
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datamapper4rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mkristian
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-07 00:00:00 +05:30
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -22,16 +22,6 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: "0.2"
|
24
24
|
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rails_datamapper
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: "0"
|
34
|
-
version:
|
35
25
|
- !ruby/object:Gem::Dependency
|
36
26
|
name: hoe
|
37
27
|
type: :development
|
@@ -84,6 +74,7 @@ files:
|
|
84
74
|
- lib/datamapper4rails/identity_maps.rb
|
85
75
|
- lib/datamapper4rails/overlay.rb
|
86
76
|
- lib/datamapper4rails/preload_models.rb
|
77
|
+
- lib/datamapper4rails/rails_datamapper.rb
|
87
78
|
- lib/datamapper4rails/restful_transactions.rb
|
88
79
|
- lib/datamapper4rails/rspec_default_values.rb
|
89
80
|
- lib/datamapper4rails/rspec.rb
|