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