dm-serializer 1.0.0.rc2 → 1.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -71,7 +71,7 @@
71
71
  source 'http://rubygems.org'
72
72
 
73
73
  DATAMAPPER = 'git://github.com/datamapper'
74
- DM_VERSION = '~> 1.0.0.rc2'
74
+ DM_VERSION = '~> 1.0.0.rc3'
75
75
 
76
76
  group :runtime do # Runtime dependencies (as in the gemspec)
77
77
 
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Guy van den Berg
1
+ Copyright (c) 2010 Guy van den Berg
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -10,19 +10,19 @@ begin
10
10
  gem.summary = 'DataMapper plugin for serializing Resources and Collections'
11
11
  gem.description = gem.summary
12
12
  gem.email = 'vandenberg.guy [a] gmail [d] com'
13
- gem.homepage = 'http://github.com/datamapper/dm-serializer'
13
+ gem.homepage = 'http://github.com/datamapper/%s' % gem.name
14
14
  gem.authors = [ 'Guy van den Berg' ]
15
15
 
16
16
  gem.rubyforge_project = 'datamapper'
17
17
 
18
- gem.add_dependency 'dm-core', '~> 1.0.0.rc2'
18
+ gem.add_dependency 'dm-core', '~> 1.0.0.rc3'
19
19
  gem.add_dependency 'fastercsv', '~> 1.5.3'
20
20
  gem.add_dependency 'json_pure', '~> 1.4.3'
21
21
 
22
- # gem.add_development_dependency 'libxml-ruby', '~> 1.1.4' # not available on JRuby
23
- gem.add_development_dependency 'dm-validations', '~> 1.0.0.rc2'
24
- gem.add_development_dependency 'nokogiri', '~> 1.4.1'
25
22
  gem.add_development_dependency 'rspec', '~> 1.3'
23
+ gem.add_development_dependency 'dm-validations', '~> 1.0.0.rc3'
24
+ gem.add_development_dependency 'nokogiri', '~> 1.4.1'
25
+ # gem.add_development_dependency 'libxml-ruby', '~> 1.1.4' # not available on JRuby
26
26
  end
27
27
 
28
28
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0.rc2
1
+ 1.0.0.rc3
@@ -2,7 +2,7 @@ require "rubygems"
2
2
  require 'pathname'
3
3
  require 'better-benchmark'
4
4
 
5
- gem 'dm-core', '1.0.0.rc2'
5
+ gem 'dm-core', '1.0.0.rc3'
6
6
  require 'dm-core'
7
7
 
8
8
  spec_dir_path = Pathname(__FILE__).dirname.expand_path
@@ -1,7 +1,7 @@
1
1
  require "rubygems"
2
2
  require 'pathname'
3
3
 
4
- gem 'dm-core', '1.0.0.rc2'
4
+ gem 'dm-core', '1.0.0.rc3'
5
5
  require 'dm-core'
6
6
 
7
7
  spec_dir_path = Pathname(__FILE__).dirname.expand_path
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dm-serializer}
8
- s.version = "1.0.0.rc2"
8
+ s.version = "1.0.0.rc3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Guy van den Berg"]
12
- s.date = %q{2010-05-19}
12
+ s.date = %q{2010-05-27}
13
13
  s.description = %q{DataMapper plugin for serializing Resources and Collections}
14
14
  s.email = %q{vandenberg.guy [a] gmail [d] com}
15
15
  s.extra_rdoc_files = [
@@ -81,27 +81,27 @@ Gem::Specification.new do |s|
81
81
  s.specification_version = 3
82
82
 
83
83
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
84
- s.add_runtime_dependency(%q<dm-core>, ["~> 1.0.0.rc2"])
84
+ s.add_runtime_dependency(%q<dm-core>, ["~> 1.0.0.rc3"])
85
85
  s.add_runtime_dependency(%q<fastercsv>, ["~> 1.5.3"])
86
86
  s.add_runtime_dependency(%q<json_pure>, ["~> 1.4.3"])
87
- s.add_development_dependency(%q<dm-validations>, ["~> 1.0.0.rc2"])
88
- s.add_development_dependency(%q<nokogiri>, ["~> 1.4.1"])
89
87
  s.add_development_dependency(%q<rspec>, ["~> 1.3"])
88
+ s.add_development_dependency(%q<dm-validations>, ["~> 1.0.0.rc3"])
89
+ s.add_development_dependency(%q<nokogiri>, ["~> 1.4.1"])
90
90
  else
91
- s.add_dependency(%q<dm-core>, ["~> 1.0.0.rc2"])
91
+ s.add_dependency(%q<dm-core>, ["~> 1.0.0.rc3"])
92
92
  s.add_dependency(%q<fastercsv>, ["~> 1.5.3"])
93
93
  s.add_dependency(%q<json_pure>, ["~> 1.4.3"])
94
- s.add_dependency(%q<dm-validations>, ["~> 1.0.0.rc2"])
95
- s.add_dependency(%q<nokogiri>, ["~> 1.4.1"])
96
94
  s.add_dependency(%q<rspec>, ["~> 1.3"])
95
+ s.add_dependency(%q<dm-validations>, ["~> 1.0.0.rc3"])
96
+ s.add_dependency(%q<nokogiri>, ["~> 1.4.1"])
97
97
  end
98
98
  else
99
- s.add_dependency(%q<dm-core>, ["~> 1.0.0.rc2"])
99
+ s.add_dependency(%q<dm-core>, ["~> 1.0.0.rc3"])
100
100
  s.add_dependency(%q<fastercsv>, ["~> 1.5.3"])
101
101
  s.add_dependency(%q<json_pure>, ["~> 1.4.3"])
102
- s.add_dependency(%q<dm-validations>, ["~> 1.0.0.rc2"])
103
- s.add_dependency(%q<nokogiri>, ["~> 1.4.1"])
104
102
  s.add_dependency(%q<rspec>, ["~> 1.3"])
103
+ s.add_dependency(%q<dm-validations>, ["~> 1.0.0.rc3"])
104
+ s.add_dependency(%q<nokogiri>, ["~> 1.4.1"])
105
105
  end
106
106
  end
107
107
 
@@ -9,30 +9,28 @@ module DataMapper
9
9
  # @return <String> a JSON representation of the Resource
10
10
  def to_json(*args)
11
11
  options = args.first || {}
12
+ options = options.to_h if options.respond_to?(:to_h)
12
13
 
13
14
  result = {}
14
15
 
15
- propset = properties_to_serialize(options)
16
-
17
- propset.each do |property|
18
- result[property.name] = __send__(property.name)
16
+ properties_to_serialize(options).each do |property|
17
+ property_name = property.name
18
+ result[property_name] = __send__(property_name)
19
19
  end
20
20
 
21
21
  # add methods
22
- (options[:methods] || []).each do |meth|
23
- if self.respond_to?(meth)
24
- result[meth] = __send__(meth)
25
- end
22
+ Array(options[:methods]).each do |method|
23
+ next unless respond_to?(method)
24
+ result[method] = __send__(method)
26
25
  end
27
26
 
28
27
  # Note: if you want to include a whole other model via relation, use :methods
29
28
  # comments.to_json(:relationships=>{:user=>{:include=>[:first_name],:methods=>[:age]}})
30
29
  # add relationships
31
30
  # TODO: This needs tests and also needs to be ported to #to_xml and #to_yaml
32
- (options[:relationships] || {}).each do |rel,opts|
33
- if self.respond_to?(rel)
34
- result[rel] = send(rel).to_json(opts.merge(:to_json => false))
35
- end
31
+ (options[:relationships] || {}).each do |relationship_name, opts|
32
+ next unless respond_to?(relationship_name)
33
+ result[relationship_name] = __send__(relationship_name).to_json(opts.merge(:to_json => false))
36
34
  end
37
35
 
38
36
  # default to making JSON
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  share_examples_for 'A serialization method that also serializes core classes' do
4
2
  # This spec ensures that we don't break any serialization methods attached
5
3
  # to core classes, such as Array
@@ -12,7 +10,7 @@ share_examples_for 'A serialization method that also serializes core classes' do
12
10
  end
13
11
 
14
12
  before(:each) do
15
- DataMapper::Model.descendants.each { |model| model.all.destroy! }
13
+ DataMapper::Model.descendants.each { |model| model.destroy! }
16
14
  end
17
15
 
18
16
  it 'serializes an array of extended objects' do
@@ -55,7 +53,7 @@ share_examples_for 'A serialization method' do
55
53
  end
56
54
 
57
55
  before(:each) do
58
- DataMapper::Model.descendants.each { |model| model.all.destroy! }
56
+ DataMapper::Model.descendants.each { |model| model.destroy! }
59
57
  end
60
58
 
61
59
  describe '(serializing single resources)' do
@@ -241,7 +239,7 @@ share_examples_for 'A serialization method' do
241
239
  [ :default, :alternate ].each do |repository_name|
242
240
  DataMapper.repository(repository_name) do
243
241
  QuanTum::Cat.auto_migrate!
244
- QuanTum::Cat.all.destroy!
242
+ QuanTum::Cat.destroy!
245
243
  end
246
244
  end
247
245
  end
@@ -7,6 +7,7 @@ if defined?(::CSV)
7
7
  #
8
8
 
9
9
  before(:all) do
10
+ DataMapper.finalize
10
11
  query = DataMapper::Query.new(DataMapper::repository(:default), Cow)
11
12
 
12
13
  resources = [
@@ -49,8 +50,9 @@ if defined?(::CSV)
49
50
  before(:all) do
50
51
  [ :default, :alternate ].each do |repository_name|
51
52
  DataMapper.repository(repository_name) do
53
+ DataMapper.finalize
52
54
  QuanTum::Cat.auto_migrate!
53
- QuanTum::Cat.all.destroy!
55
+ QuanTum::Cat.destroy!
54
56
  end
55
57
  end
56
58
  end
@@ -6,6 +6,7 @@ describe DataMapper::Serialize, '#to_json' do
6
6
  #
7
7
 
8
8
  before(:all) do
9
+ DataMapper.finalize
9
10
  DataMapper.auto_migrate!
10
11
  query = DataMapper::Query.new(DataMapper::repository(:default), Cow)
11
12
 
@@ -18,6 +18,7 @@ require 'spec_helper'
18
18
  #
19
19
 
20
20
  before(:all) do
21
+ DataMapper.finalize
21
22
  @harness = Class.new(SerializerTestHarness) do
22
23
  def method_name
23
24
  :to_xml
@@ -6,6 +6,7 @@ describe DataMapper::Serialize, '#to_yaml' do
6
6
  #
7
7
 
8
8
  before(:all) do
9
+ DataMapper.finalize
9
10
  @harness = Class.new(SerializerTestHarness) do
10
11
  def method_name
11
12
  :to_yaml
@@ -1,4 +1,4 @@
1
- --exclude "spec"
1
+ --exclude "spec,^/"
2
2
  --sort coverage
3
3
  --callsites
4
4
  --xrefs
@@ -5,7 +5,7 @@ require 'dm-validations' # FIXME: must be required before dm-serializer
5
5
  require 'dm-serializer'
6
6
  require 'dm-migrations'
7
7
 
8
- require 'spec/lib/serialization_method_shared_spec'
8
+ require File.expand_path('spec/lib/serialization_method_shared_spec')
9
9
 
10
10
  # require fixture resources
11
11
  SPEC_ROOT = Pathname(__FILE__).dirname.expand_path
@@ -35,4 +35,7 @@ rescue LoadError
35
35
  end
36
36
  end
37
37
 
38
+ task :spec => :check_dependencies
39
+ task :rcov => :check_dependencies
40
+
38
41
  task :default => :spec
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-serializer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 977940575
4
+ hash: 977940572
5
5
  prerelease: true
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
9
  - 0
10
- - rc2
11
- version: 1.0.0.rc2
10
+ - rc3
11
+ version: 1.0.0.rc3
12
12
  platform: ruby
13
13
  authors:
14
14
  - Guy van den Berg
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-05-19 00:00:00 -07:00
19
+ date: 2010-05-27 00:00:00 -07:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -27,13 +27,13 @@ dependencies:
27
27
  requirements:
28
28
  - - ~>
29
29
  - !ruby/object:Gem::Version
30
- hash: 977940575
30
+ hash: 977940572
31
31
  segments:
32
32
  - 1
33
33
  - 0
34
34
  - 0
35
- - rc2
36
- version: 1.0.0.rc2
35
+ - rc3
36
+ version: 1.0.0.rc3
37
37
  type: :runtime
38
38
  version_requirements: *id001
39
39
  - !ruby/object:Gem::Dependency
@@ -69,51 +69,51 @@ dependencies:
69
69
  type: :runtime
70
70
  version_requirements: *id003
71
71
  - !ruby/object:Gem::Dependency
72
- name: dm-validations
72
+ name: rspec
73
73
  prerelease: false
74
74
  requirement: &id004 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
77
77
  - - ~>
78
78
  - !ruby/object:Gem::Version
79
- hash: 977940575
79
+ hash: 9
80
80
  segments:
81
81
  - 1
82
- - 0
83
- - 0
84
- - rc2
85
- version: 1.0.0.rc2
82
+ - 3
83
+ version: "1.3"
86
84
  type: :development
87
85
  version_requirements: *id004
88
86
  - !ruby/object:Gem::Dependency
89
- name: nokogiri
87
+ name: dm-validations
90
88
  prerelease: false
91
89
  requirement: &id005 !ruby/object:Gem::Requirement
92
90
  none: false
93
91
  requirements:
94
92
  - - ~>
95
93
  - !ruby/object:Gem::Version
96
- hash: 5
94
+ hash: 977940572
97
95
  segments:
98
96
  - 1
99
- - 4
100
- - 1
101
- version: 1.4.1
97
+ - 0
98
+ - 0
99
+ - rc3
100
+ version: 1.0.0.rc3
102
101
  type: :development
103
102
  version_requirements: *id005
104
103
  - !ruby/object:Gem::Dependency
105
- name: rspec
104
+ name: nokogiri
106
105
  prerelease: false
107
106
  requirement: &id006 !ruby/object:Gem::Requirement
108
107
  none: false
109
108
  requirements:
110
109
  - - ~>
111
110
  - !ruby/object:Gem::Version
112
- hash: 9
111
+ hash: 5
113
112
  segments:
114
113
  - 1
115
- - 3
116
- version: "1.3"
114
+ - 4
115
+ - 1
116
+ version: 1.4.1
117
117
  type: :development
118
118
  version_requirements: *id006
119
119
  description: DataMapper plugin for serializing Resources and Collections