rails_dm_datastore 0.1.1 → 0.2.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/Rakefile +10 -0
- data/VERSION +1 -1
- data/generators/dm_model/templates/model.rb +23 -18
- data/lib/rails_dm_datastore.rb +39 -0
- data/rails_dm_datastore.gemspec +23 -2
- metadata +72 -2
- data/lib/dm-rails-gae.rb +0 -16
data/Rakefile
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
3
|
|
4
|
+
RAILS_VERSION = "2.3.5"
|
5
|
+
DM_VERSION = "0.10.2"
|
6
|
+
|
4
7
|
begin
|
5
8
|
require 'jeweler'
|
6
9
|
Jeweler::Tasks.new do |gem|
|
@@ -11,6 +14,13 @@ begin
|
|
11
14
|
gem.homepage = "http://github.com/joshsmoore/dm-rails-gae"
|
12
15
|
gem.authors = ["joshsmoore"]
|
13
16
|
gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
|
17
|
+
gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
|
18
|
+
gem.add_dependency 'rails', RAILS_VERSION
|
19
|
+
gem.add_dependency 'dm-core', DM_VERSION
|
20
|
+
gem.add_dependency 'dm-ar-finders', DM_VERSION
|
21
|
+
gem.add_dependency 'dm-timestamps', DM_VERSION
|
22
|
+
gem.add_dependency 'dm-validations', DM_VERSION
|
23
|
+
gem.add_dependency 'dm-appengine'
|
14
24
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
15
25
|
end
|
16
26
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
@@ -1,25 +1,30 @@
|
|
1
|
-
<% max =
|
1
|
+
<% max = 2
|
2
|
+
reserved_dm_names = DataMapper::Resource.instance_methods +
|
3
|
+
DataMapper::Resource.private_instance_methods
|
4
|
+
datastore_types = %w(AncestorKey BigDecimal Blob Boolean ByteString
|
5
|
+
Category Class Date DateTime Email Float Integer Key Link Object
|
6
|
+
PhoneNumber PostalAddres Rating String Text Time TrueClass) -%>
|
2
7
|
<% Array(attributes).each do |attribute|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
max += 1
|
12
|
-
end
|
13
|
-
-%>
|
8
|
+
if reserved_dm_names.include? attribute.name
|
9
|
+
raise "reserved property name '#{attribute.name}'"
|
10
|
+
elsif !datastore_types.include? attribute.type.to_s.classify
|
11
|
+
raise "unknown property type '#{attribute.type}'"
|
12
|
+
end
|
13
|
+
max = attribute.name.size if attribute.name.size > max -%>
|
14
|
+
<% end -%>
|
14
15
|
class <%= class_name %>
|
15
16
|
include DataMapper::Resource
|
16
17
|
|
17
|
-
property :id,<%= " " * (max - 2) %>Serial
|
18
|
-
<% Array(attributes).each do |attribute|
|
19
|
-
|
18
|
+
property :id,<%= " " * (max - 2) %> Serial
|
19
|
+
<% Array(attributes).each do |attribute|
|
20
|
+
klass = attribute.type.to_s.classify.to_s
|
21
|
+
klass += 's' if klass.eql? 'PostalAddres' # classify bug
|
22
|
+
pad = max - attribute.name.size
|
23
|
+
rad = 13 - klass.size
|
24
|
+
%> property :<%= attribute.name %>, <%= " " * pad
|
25
|
+
%><%= "#{klass}" %>, <%= " " * rad %>:nullable => false
|
20
26
|
<% end -%>
|
21
27
|
<% unless options[:skip_timestamps] -%>
|
22
|
-
|
23
|
-
property :updated_at, <%= " " * (max - 11) %>DateTime
|
28
|
+
timestamps :at
|
24
29
|
<% end -%>
|
25
|
-
end
|
30
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# patch for -- dm-core 0.10.2 & rails 2.3.5
|
2
|
+
require 'dm-core'
|
3
|
+
require 'dm-ar-finders'
|
4
|
+
require 'dm-timestamps'
|
5
|
+
require 'dm-validations'
|
6
|
+
DataMapper.setup(:default, "appengine://auto")
|
7
|
+
|
8
|
+
module DataMapper
|
9
|
+
module Resource
|
10
|
+
# avoid object references in URLs
|
11
|
+
def to_param; id.to_s; end
|
12
|
+
# silence deprecation warnings
|
13
|
+
def new_record?; new?; end
|
14
|
+
# avoid NoMethodError
|
15
|
+
def update_attributes(*args); update(*args); end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# DataMapper::Validate
|
20
|
+
class Dictionary; alias count length; end
|
21
|
+
|
22
|
+
module Extlib
|
23
|
+
module Hook
|
24
|
+
module ClassMethods
|
25
|
+
def inline_call(method_info, scope)
|
26
|
+
name = method_info[:name]
|
27
|
+
if scope == :instance
|
28
|
+
args = method_defined?(name) &&
|
29
|
+
instance_method(name).arity != 0 ? '*args' : ''
|
30
|
+
else
|
31
|
+
args = respond_to?(name) &&
|
32
|
+
method(name).arity != 0 ? '*args' : ''
|
33
|
+
end
|
34
|
+
# ObjectSpace._id2ref should be replaced with WeakRef
|
35
|
+
%(#{name}(#{args})) # Always call hook... set_timestamps_on_save()
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/rails_dm_datastore.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rails_dm_datastore}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["joshsmoore"]
|
@@ -28,11 +28,11 @@ Gem::Specification.new do |s|
|
|
28
28
|
"generators/dm_model/templates/model.rb",
|
29
29
|
"generators/dm_model/templates/unit_test.rb",
|
30
30
|
"lib/USAGE",
|
31
|
-
"lib/dm-rails-gae.rb",
|
32
31
|
"lib/generators/data_mapper/USAGE",
|
33
32
|
"lib/generators/data_mapper/model/model_generator.rb",
|
34
33
|
"lib/generators/data_mapper/model/templates/model.rb",
|
35
34
|
"lib/generators/data_mapper/templates/model.rb",
|
35
|
+
"lib/rails_dm_datastore.rb",
|
36
36
|
"rails_dm_datastore.gemspec",
|
37
37
|
"test/helper.rb",
|
38
38
|
"test/test_dm-rails-gae.rb"
|
@@ -53,11 +53,32 @@ Gem::Specification.new do |s|
|
|
53
53
|
|
54
54
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
55
55
|
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
56
|
+
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
57
|
+
s.add_runtime_dependency(%q<rails>, ["= 2.3.5"])
|
58
|
+
s.add_runtime_dependency(%q<dm-core>, ["= 0.10.2"])
|
59
|
+
s.add_runtime_dependency(%q<dm-ar-finders>, ["= 0.10.2"])
|
60
|
+
s.add_runtime_dependency(%q<dm-timestamps>, ["= 0.10.2"])
|
61
|
+
s.add_runtime_dependency(%q<dm-validations>, ["= 0.10.2"])
|
62
|
+
s.add_runtime_dependency(%q<dm-appengine>, [">= 0"])
|
56
63
|
else
|
57
64
|
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
65
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
66
|
+
s.add_dependency(%q<rails>, ["= 2.3.5"])
|
67
|
+
s.add_dependency(%q<dm-core>, ["= 0.10.2"])
|
68
|
+
s.add_dependency(%q<dm-ar-finders>, ["= 0.10.2"])
|
69
|
+
s.add_dependency(%q<dm-timestamps>, ["= 0.10.2"])
|
70
|
+
s.add_dependency(%q<dm-validations>, ["= 0.10.2"])
|
71
|
+
s.add_dependency(%q<dm-appengine>, [">= 0"])
|
58
72
|
end
|
59
73
|
else
|
60
74
|
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
75
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
76
|
+
s.add_dependency(%q<rails>, ["= 2.3.5"])
|
77
|
+
s.add_dependency(%q<dm-core>, ["= 0.10.2"])
|
78
|
+
s.add_dependency(%q<dm-ar-finders>, ["= 0.10.2"])
|
79
|
+
s.add_dependency(%q<dm-timestamps>, ["= 0.10.2"])
|
80
|
+
s.add_dependency(%q<dm-validations>, ["= 0.10.2"])
|
81
|
+
s.add_dependency(%q<dm-appengine>, [">= 0"])
|
61
82
|
end
|
62
83
|
end
|
63
84
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_dm_datastore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- joshsmoore
|
@@ -22,6 +22,76 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: "0"
|
24
24
|
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: thoughtbot-shoulda
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: rails
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.3.5
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: dm-core
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.10.2
|
54
|
+
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: dm-ar-finders
|
57
|
+
type: :runtime
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 0.10.2
|
64
|
+
version:
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: dm-timestamps
|
67
|
+
type: :runtime
|
68
|
+
version_requirement:
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 0.10.2
|
74
|
+
version:
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: dm-validations
|
77
|
+
type: :runtime
|
78
|
+
version_requirement:
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 0.10.2
|
84
|
+
version:
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: dm-appengine
|
87
|
+
type: :runtime
|
88
|
+
version_requirement:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: "0"
|
94
|
+
version:
|
25
95
|
description: Integrate datamapper to rails3 for the Google App Engine
|
26
96
|
email: joshsmoore@gmail.com
|
27
97
|
executables: []
|
@@ -43,11 +113,11 @@ files:
|
|
43
113
|
- generators/dm_model/templates/model.rb
|
44
114
|
- generators/dm_model/templates/unit_test.rb
|
45
115
|
- lib/USAGE
|
46
|
-
- lib/dm-rails-gae.rb
|
47
116
|
- lib/generators/data_mapper/USAGE
|
48
117
|
- lib/generators/data_mapper/model/model_generator.rb
|
49
118
|
- lib/generators/data_mapper/model/templates/model.rb
|
50
119
|
- lib/generators/data_mapper/templates/model.rb
|
120
|
+
- lib/rails_dm_datastore.rb
|
51
121
|
- rails_dm_datastore.gemspec
|
52
122
|
- test/helper.rb
|
53
123
|
- test/test_dm-rails-gae.rb
|
data/lib/dm-rails-gae.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
# patch for -- dm-core 0.10.2 & rails 2.3.5
|
2
|
-
|
3
|
-
module DataMapper
|
4
|
-
module Resource
|
5
|
-
# avoid object references in URLs
|
6
|
-
def to_param; id.to_s; end
|
7
|
-
# silence deprecation warnings
|
8
|
-
def new_record?; new?; end
|
9
|
-
def update_attributes(*args); update(*args); end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
# DataMapper::Validate
|
13
|
-
class Dictionary; alias count length; end
|
14
|
-
|
15
|
-
# TODO: still need to fix this TypeError
|
16
|
-
# compared with non class/module
|