dm-rest-adapter 0.9.7 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1 +1,3 @@
1
+ === 0.9.8 / 2008-12-07
1
2
 
3
+ * No changes this version
data/Manifest.txt CHANGED
@@ -95,3 +95,6 @@ stories/resources/helpers/book.rb
95
95
  stories/resources/helpers/story_helper.rb
96
96
  stories/resources/steps/read.rb
97
97
  stories/resources/steps/using_rest_adapter.rb
98
+ tasks/install.rb
99
+ tasks/spec.rb
100
+ tasks/stories.rb
data/Rakefile CHANGED
@@ -1,45 +1,25 @@
1
- require 'rubygems'
2
- require 'spec'
3
- require 'spec/rake/spectask'
4
1
  require 'pathname'
2
+ require 'rubygems'
5
3
 
6
- ROOT = Pathname(__FILE__).dirname.expand_path
7
- require ROOT + 'lib/rest_adapter/version'
8
-
9
- AUTHOR = "Potomac Ruby Hackers"
10
- EMAIL = "potomac-ruby-hackers@googlegroups.com"
11
- GEM_NAME = "dm-rest-adapter"
12
- GEM_VERSION = DataMapper::More::RestAdapter::VERSION
13
- GEM_DEPENDENCIES = [["dm-core", GEM_VERSION]]
14
- GEM_CLEAN = ["log", "pkg"]
15
- GEM_EXTRAS = { :has_rdoc => true, :extra_rdoc_files => %w[ README.txt LICENSE TODO ] }
16
-
17
- PROJECT_NAME = "datamapper"
18
- PROJECT_URL = "http://github.com/pjb3/dm-more/tree/master/adapters/dm-rest-adapter"
19
- PROJECT_DESCRIPTION = PROJECT_SUMMARY = "REST Adapter for DataMapper"
20
-
21
- require ROOT.parent.parent + 'tasks/hoe'
4
+ ROOT = Pathname(__FILE__).dirname.expand_path
5
+ JRUBY = RUBY_PLATFORM =~ /java/
6
+ WINDOWS = Gem.win_platform?
7
+ SUDO = (WINDOWS || JRUBY) ? '' : ('sudo' unless ENV['SUDOLESS'])
22
8
 
23
- task :default => [ :spec ]
9
+ require ROOT + 'lib/rest_adapter/version'
24
10
 
25
- WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
26
- SUDO = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
11
+ AUTHOR = 'Potomac Ruby Hackers'
12
+ EMAIL = 'potomac-ruby-hackers [a] googlegroups [d] com'
13
+ GEM_NAME = 'dm-rest-adapter'
14
+ GEM_VERSION = DataMapper::RestAdapter::VERSION
15
+ GEM_DEPENDENCIES = [['dm-core', "~>#{GEM_VERSION}"]]
16
+ GEM_CLEAN = %w[ log pkg coverage ]
17
+ GEM_EXTRAS = { :has_rdoc => true, :extra_rdoc_files => %w[ README.txt LICENSE TODO History.txt ] }
27
18
 
28
- desc "Install #{GEM_NAME} #{GEM_VERSION}"
29
- task :install => [ :package ] do
30
- sh "#{SUDO} gem install pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources", :verbose => false
31
- end
32
-
33
- desc 'Run specifications'
34
- Spec::Rake::SpecTask.new(:spec) do |t|
35
- if File.exists?('spec/spec.opts')
36
- t.spec_opts << '--options' << 'spec/spec.opts'
37
- end
38
- t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
39
- end
19
+ PROJECT_NAME = 'datamapper'
20
+ PROJECT_URL = "http://github.com/sam/dm-more/tree/master/adapters/#{GEM_NAME}"
21
+ PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'REST Adapter for DataMapper'
40
22
 
41
- desc "Run all stories"
42
- task :stories do
43
- # TODO Re-migrate the book service or else you won't have test data!
44
- ruby "stories/all.rb --colour --format plain"
23
+ [ ROOT, ROOT.parent.parent ].each do |dir|
24
+ Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
45
25
  end
data/TODO CHANGED
@@ -1 +0,0 @@
1
- TODO
@@ -60,7 +60,7 @@ module Rails
60
60
  else
61
61
  gem 'rails'
62
62
  end
63
- rescue Gem::LoadError => load_error
63
+ rescue LoadError => load_error
64
64
  $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
65
65
  exit 1
66
66
  end
data/lib/rest_adapter.rb CHANGED
@@ -1,16 +1,18 @@
1
- require 'rubygems'
1
+ require 'net/http'
2
2
  require 'pathname'
3
- require Pathname(__FILE__).dirname + 'rest_adapter/version'
3
+ require 'rexml/document'
4
+ require 'rubygems'
4
5
 
5
- gem 'dm-core', DataMapper::More::RestAdapter::VERSION
6
+ gem 'dm-core', '~>0.9.8'
6
7
  require 'dm-core'
7
8
 
8
- gem 'extlib', '~>0.9.8'
9
+ gem 'extlib', '~>0.9.9'
9
10
  require 'extlib'
10
11
 
12
+ #gem 'dm-serializer', '~>0.9.8'
11
13
  require 'dm-serializer'
12
- require 'net/http'
13
- require 'rexml/document'
14
+
15
+ require Pathname(__FILE__).dirname + 'rest_adapter/version'
14
16
 
15
17
  # TODO: Abstract XML support out from the protocol
16
18
  # TODO: Build JSON support
@@ -1,7 +1,5 @@
1
1
  module DataMapper
2
- module More
3
- class RestAdapter
4
- VERSION = "0.9.7"
5
- end
2
+ class RestAdapter
3
+ VERSION = '0.9.8'
6
4
  end
7
5
  end
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,13 @@
1
1
  require 'pathname'
2
- require Pathname(__FILE__).dirname.parent.expand_path + 'lib/rest_adapter'
2
+ require 'rubygems'
3
+
4
+ ROOT = Pathname(__FILE__).dirname.parent.expand_path
5
+
6
+ # use local dm-serializer if running from dm-more directly
7
+ lib = ROOT.parent.parent.join('dm-serializer', 'lib').expand_path
8
+ $LOAD_PATH.unshift(lib) if lib.directory?
9
+
10
+ require ROOT + 'lib/rest_adapter'
3
11
 
4
12
  DataMapper.setup(:default, {
5
13
  :adapter => 'rest',
data/stories/crud/create CHANGED
@@ -2,36 +2,36 @@ Story: remote app wants to create a resource
2
2
  As a remote app
3
3
  I want to create a resource
4
4
  So that I can store some data about a particular item
5
-
6
- Scenario: remote app supplies a new valid Resource
5
+
6
+ Scenario: remote app supplies a new valid Resource
7
7
  Given a valid DataMapper::Resource
8
8
  When I try to save the Resource
9
9
  Then the Resource should save
10
10
 
11
- Scenario: remote app supplies a new invalid Resource
11
+ Scenario: remote app supplies a new invalid Resource
12
12
  Given a valid DataMapper::Resource
13
13
  When I make invalid changes to that Resource
14
14
  When I try to save the Resource
15
15
  Then the Resource should not save
16
-
16
+
17
17
  Scenario: remote app supplies a new valid Resource associated with another new valid Resource
18
18
  Given a new Resource
19
19
  And another new Resource associated with the first
20
20
  When I try to save the first Resource
21
21
  Then both Resources should save
22
-
22
+
23
23
  Scenario: remote app supplies a new invalid Resource associated with another new valid Resource
24
24
  Given a new invalid Resouce
25
25
  And another new Resource associated with the first
26
26
  When I try to save the first Resource
27
27
  Neither Resource should save
28
-
28
+
29
29
  Scenario: remote app supplies a new valid Resource associated with another new invalid Resource
30
30
  Given a new Resource
31
31
  And another new invalid Resource associated with the first
32
32
  When I try to save the first Resource
33
33
  Neither Resource should save
34
-
34
+
35
35
  Scenario: remote app supplies a new invalid Resource associated with another new invalid Resource
36
36
  Given a new invalid Resource
37
37
  And another new invalid Resource associated with the first
data/stories/crud/read CHANGED
@@ -7,30 +7,30 @@ Story: remote app wants to access one or more Resources
7
7
  Given a type of Resource
8
8
  When I request all of the Resources of that type
9
9
  Then I should not receive an empty list
10
-
10
+
11
11
  Scenario: GET <resource>/<id>
12
12
  Given a type of Resource
13
13
  And the ID of an existing Resource
14
14
  When I request the Resource
15
15
  Then I should receive that Resource
16
-
16
+
17
17
  Scenario: GET <resource>/<invalid id>
18
18
  Given a type of Resource
19
19
  And the ID of a nonexistent Resource
20
20
  When I request the Resource
21
21
  Then I should get nothing in return
22
-
22
+
23
23
  Scenario: GET <nested resource>/<id>
24
24
  Given a Resource that returns associated resources
25
25
  And the ID of an existing Resource that has associated Resources
26
- And I have all of the necessary class definitions
26
+ And I have all of the necessary class definitions
27
27
  When I GET <nested resource>/<id>
28
28
  Then I should get the Resource
29
29
  And the Resource will have associated Resources
30
-
30
+
31
31
  Scenario: GET <nested resource>/<id> but we are missing some class definitions
32
32
  Given a Resource that returns associated resources
33
33
  And the ID of an existing Resource that has associated Resources
34
- And I do not have all of the necessary class definitions
34
+ And I do not have all of the necessary class definitions
35
35
  When I GET <nested resource>/<id>
36
36
  Then I should get an Exception
data/stories/crud/update CHANGED
@@ -7,28 +7,28 @@ Story: remote app wants to update a resource
7
7
  Given a local representation of a remote Resource
8
8
  When I make valid changes to that Resource
9
9
  And I try to save the Resource
10
- Then the Resource should save
11
-
10
+ Then the Resource should save
11
+
12
12
  Scenario: remote app updates with invalid changes to a resource's state
13
13
  Given a local representation of a remote Resource
14
14
  When I make invalid changes to that Resource
15
15
  And I try to save the Resource
16
16
  Then the Resource should not save
17
-
17
+
18
18
  Scenario: remote app updates with changes to an object and one of its children
19
19
  Given a local representation of a remote Resource
20
20
  And a local representation of one of that Resource's child Resources
21
21
  When I make valid changes to the parent Resource
22
22
  And I make valid changes to the child Resource
23
23
  Then both Resources should save
24
-
24
+
25
25
  Scenario: remote app updates with valid changes to an object and invalid changes to one of its children
26
26
  Given a local representation of a remote Resource
27
27
  And a local representation of one of that Resource's child Resources
28
28
  When I make valid changes to the parent Resource
29
29
  And I make invalid changes to the child Resource
30
30
  Then neither Resource should save
31
-
31
+
32
32
  Scenario: remote app updates with invalid changes to an object and valid changes to one of its children
33
33
  Given a local representation of a remote Resource
34
34
  And a local representation of one of that Resource's child Resources
@@ -36,7 +36,7 @@ Story: remote app wants to update a resource
36
36
  And I make valid changes to the child Resource
37
37
  Then neither Resource should save
38
38
 
39
- Scenario: remote app updates with invalid changes to an object and invalid changes to one of its children
39
+ Scenario: remote app updates with invalid changes to an object and invalid changes to one of its children
40
40
  Given a local representation of a remote Resource
41
41
  And a local representation of one of that Resource's child Resources
42
42
  When I make invalid changes to the parent Resource
data/stories/helper.rb CHANGED
@@ -1,9 +1,19 @@
1
- $LOAD_PATH.unshift File.expand_path("#{File.dirname(__FILE__)}/../lib/rest_adapter")
1
+ require 'pathname'
2
2
  require 'rubygems'
3
- require 'spec'
4
3
  require 'tempfile'
4
+
5
+ gem 'dm-core', '~>0.9.8'
5
6
  require 'dm-core'
6
- #require 'pathname'
7
- #require Pathname(__FILE__).dirname.parent.expand_path + '../../lib/rest_adapter'
8
- require File.join(File.dirname(__FILE__), *%w[resources helpers story_helper])
9
- require File.join(File.dirname(__FILE__), *%w[resources steps using_rest_adapter])
7
+
8
+ gem 'rspec', '~>1.1.11'
9
+ require 'spec'
10
+
11
+ ROOT = Pathname(__FILE__).dirname.parent.expand_path
12
+
13
+ # use local dm-serializer if running from dm-more directly
14
+ lib = ROOT.parent.parent.join('dm-serializer', 'lib').expand_path
15
+ $LOAD_PATH.unshift(lib) if lib.directory?
16
+
17
+ require ROOT + 'lib/rest_adapter'
18
+ require ROOT + 'stories/resources/helpers/story_helper'
19
+ require ROOT + 'stories/resources/steps/using_rest_adapter'
data/tasks/install.rb ADDED
@@ -0,0 +1,13 @@
1
+ def sudo_gem(cmd)
2
+ sh "#{SUDO} #{RUBY} -S gem #{cmd}", :verbose => false
3
+ end
4
+
5
+ desc "Install #{GEM_NAME} #{GEM_VERSION}"
6
+ task :install => [ :package ] do
7
+ sudo_gem "install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources"
8
+ end
9
+
10
+ desc "Uninstall #{GEM_NAME} #{GEM_VERSION}"
11
+ task :uninstall => [ :clobber ] do
12
+ sudo_gem "uninstall #{GEM_NAME} -v#{GEM_VERSION} -Ix"
13
+ end
data/tasks/spec.rb ADDED
@@ -0,0 +1,25 @@
1
+ begin
2
+ gem 'rspec', '~>1.1.11'
3
+ require 'spec'
4
+ require 'spec/rake/spectask'
5
+
6
+ task :default => [ :spec ]
7
+
8
+ desc 'Run specifications'
9
+ Spec::Rake::SpecTask.new(:spec) do |t|
10
+ t.spec_opts << '--options' << 'spec/spec.opts' if File.exists?('spec/spec.opts')
11
+ t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
12
+
13
+ begin
14
+ gem 'rcov', '~>0.8'
15
+ t.rcov = JRUBY ? false : (ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true)
16
+ t.rcov_opts << '--exclude' << 'spec'
17
+ t.rcov_opts << '--text-summary'
18
+ t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
19
+ rescue LoadError
20
+ # rcov not installed
21
+ end
22
+ end
23
+ rescue LoadError
24
+ # rspec not installed
25
+ end
data/tasks/stories.rb ADDED
@@ -0,0 +1,5 @@
1
+ desc 'Run all stories'
2
+ task :stories do
3
+ # TODO Re-migrate the book service or else you won't have test data!
4
+ ruby 'stories/all.rb --colour --format plain'
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-rest-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Potomac Ruby Hackers
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-11-18 00:00:00 -08:00
12
+ date: 2008-12-07 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -18,23 +18,13 @@ dependencies:
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - "="
21
+ - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: 0.9.7
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: hoe
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 1.8.2
23
+ version: 0.9.8
34
24
  version:
35
25
  description: REST Adapter for DataMapper
36
26
  email:
37
- - potomac-ruby-hackers@googlegroups.com
27
+ - potomac-ruby-hackers [a] googlegroups [d] com
38
28
  executables: []
39
29
 
40
30
  extensions: []
@@ -43,6 +33,7 @@ extra_rdoc_files:
43
33
  - README.txt
44
34
  - LICENSE
45
35
  - TODO
36
+ - History.txt
46
37
  files:
47
38
  - History.txt
48
39
  - LICENSE
@@ -141,8 +132,11 @@ files:
141
132
  - stories/resources/helpers/story_helper.rb
142
133
  - stories/resources/steps/read.rb
143
134
  - stories/resources/steps/using_rest_adapter.rb
135
+ - tasks/install.rb
136
+ - tasks/spec.rb
137
+ - tasks/stories.rb
144
138
  has_rdoc: true
145
- homepage: http://github.com/pjb3/dm-more/tree/master/adapters/dm-rest-adapter
139
+ homepage: http://github.com/sam/dm-more/tree/master/adapters/dm-rest-adapter
146
140
  post_install_message:
147
141
  rdoc_options:
148
142
  - --main