datamapper4rails 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,14 @@
1
- === 1.0.0 / 2009-03-18
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
 
@@ -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'], ['rails_datamapper', '>= 0']]
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
- # get all datamapper related gems
5
- gem 'addressable', :lib => 'addressable/uri'
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 'prepare_jruby.sh', <<-CODE
80
- #!/bin/bash
81
-
82
- echo
83
- echo "shall freeze rails and fix a bug which prevents rails to use certain"
84
- echo "java gems like the dataobjects drivers !!"
85
- echo
86
-
87
- mvn --version
88
- if [ $? -ne 0 ] ; then
89
-
90
- echo "please install maven >= 2.0.9 from maven.apache.org"
91
- exit -1
92
- fi
93
-
94
- mvn de.saumya.mojo:rails-maven-plugin:rails-freeze-gems de.saumya.mojo:rails-maven-plugin:gems-install
95
-
96
- echo
97
- echo "you can run rails with (no need to install jruby !!)"
98
- echo
99
- echo "\tmvn de.saumya.mojo:rails-maven-plugin:server"
100
- echo
101
- echo "more info on"
102
- echo "\thttp://github.org/mkristian/rails-maven-plugin"
103
- echo
104
- echo
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
@@ -1,4 +1,4 @@
1
- require 'rails_datamapper'
1
+ require 'datamapper4rails/rails_datamapper'
2
2
  require 'rack-datamapper'
3
3
  require 'datamapper4rails/datamapper_store'
4
4
 
@@ -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
@@ -1,3 +1,3 @@
1
1
  class Datamapper4rails
2
- VERSION = '0.3.2'.freeze
2
+ VERSION = '0.4.0'.freeze
3
3
  end
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.3.2
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-11-26 00:00:00 +05:30
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