dm-rest-adapter 0.9.10 → 0.9.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. data/History.txt +7 -1
  2. data/Manifest.txt +9 -87
  3. data/README.markdown +47 -0
  4. data/README.txt +44 -0
  5. data/Rakefile +5 -5
  6. data/config/database.rb.example +8 -0
  7. data/dm-rest-adapter.gemspec +34 -0
  8. data/lib/rest_adapter.rb +10 -246
  9. data/lib/rest_adapter/adapter.rb +291 -0
  10. data/lib/rest_adapter/connection.rb +76 -0
  11. data/lib/rest_adapter/exceptions.rb +66 -0
  12. data/lib/rest_adapter/formats.rb +16 -0
  13. data/lib/rest_adapter/version.rb +2 -4
  14. data/spec/connection_spec.rb +130 -0
  15. data/spec/crud_spec.rb +250 -0
  16. data/spec/spec_helper.rb +1 -6
  17. data/tasks/spec.rb +1 -1
  18. metadata +16 -94
  19. data/fixtures/book_service/README +0 -256
  20. data/fixtures/book_service/Rakefile +0 -10
  21. data/fixtures/book_service/app/controllers/application.rb +0 -15
  22. data/fixtures/book_service/app/controllers/books_controller.rb +0 -85
  23. data/fixtures/book_service/app/controllers/shelves_controller.rb +0 -89
  24. data/fixtures/book_service/app/helpers/application_helper.rb +0 -3
  25. data/fixtures/book_service/app/helpers/books_helper.rb +0 -2
  26. data/fixtures/book_service/app/helpers/shelf_helper.rb +0 -2
  27. data/fixtures/book_service/app/models/book.rb +0 -6
  28. data/fixtures/book_service/app/models/shelf.rb +0 -5
  29. data/fixtures/book_service/app/views/books/edit.html.erb +0 -20
  30. data/fixtures/book_service/app/views/books/index.html.erb +0 -22
  31. data/fixtures/book_service/app/views/books/new.html.erb +0 -19
  32. data/fixtures/book_service/app/views/books/show.html.erb +0 -13
  33. data/fixtures/book_service/app/views/layouts/books.html.erb +0 -17
  34. data/fixtures/book_service/app/views/shelves/edit.html.erb +0 -16
  35. data/fixtures/book_service/app/views/shelves/index.html.erb +0 -20
  36. data/fixtures/book_service/app/views/shelves/new.html.erb +0 -15
  37. data/fixtures/book_service/app/views/shelves/show.html.erb +0 -7
  38. data/fixtures/book_service/config/boot.rb +0 -109
  39. data/fixtures/book_service/config/database.yml +0 -19
  40. data/fixtures/book_service/config/environment.rb +0 -67
  41. data/fixtures/book_service/config/environments/development.rb +0 -17
  42. data/fixtures/book_service/config/environments/production.rb +0 -22
  43. data/fixtures/book_service/config/environments/test.rb +0 -22
  44. data/fixtures/book_service/config/initializers/inflections.rb +0 -10
  45. data/fixtures/book_service/config/initializers/mime_types.rb +0 -5
  46. data/fixtures/book_service/config/initializers/new_rails_defaults.rb +0 -15
  47. data/fixtures/book_service/config/routes.rb +0 -44
  48. data/fixtures/book_service/db/development.sqlite3 +0 -0
  49. data/fixtures/book_service/db/migrate/20080608165526_create_books.rb +0 -15
  50. data/fixtures/book_service/db/migrate/20080621171551_create_shelves.rb +0 -13
  51. data/fixtures/book_service/db/migrate/20080629143033_create_fake_books_and_shelves.rb +0 -20
  52. data/fixtures/book_service/db/schema.rb +0 -28
  53. data/fixtures/book_service/public/404.html +0 -30
  54. data/fixtures/book_service/public/422.html +0 -30
  55. data/fixtures/book_service/public/500.html +0 -30
  56. data/fixtures/book_service/public/dispatch.cgi +0 -10
  57. data/fixtures/book_service/public/dispatch.fcgi +0 -24
  58. data/fixtures/book_service/public/dispatch.rb +0 -10
  59. data/fixtures/book_service/public/favicon.ico +0 -0
  60. data/fixtures/book_service/public/images/rails.png +0 -0
  61. data/fixtures/book_service/public/index.html +0 -274
  62. data/fixtures/book_service/public/javascripts/application.js +0 -2
  63. data/fixtures/book_service/public/javascripts/controls.js +0 -963
  64. data/fixtures/book_service/public/javascripts/dragdrop.js +0 -972
  65. data/fixtures/book_service/public/javascripts/effects.js +0 -1120
  66. data/fixtures/book_service/public/javascripts/prototype.js +0 -4225
  67. data/fixtures/book_service/public/robots.txt +0 -5
  68. data/fixtures/book_service/public/stylesheets/scaffold.css +0 -53
  69. data/fixtures/book_service/script/about +0 -3
  70. data/fixtures/book_service/script/console +0 -3
  71. data/fixtures/book_service/script/dbconsole +0 -3
  72. data/fixtures/book_service/script/destroy +0 -3
  73. data/fixtures/book_service/script/generate +0 -3
  74. data/fixtures/book_service/script/performance/benchmarker +0 -3
  75. data/fixtures/book_service/script/performance/profiler +0 -3
  76. data/fixtures/book_service/script/performance/request +0 -3
  77. data/fixtures/book_service/script/plugin +0 -3
  78. data/fixtures/book_service/script/process/inspector +0 -3
  79. data/fixtures/book_service/script/process/reaper +0 -3
  80. data/fixtures/book_service/script/process/spawner +0 -3
  81. data/fixtures/book_service/script/runner +0 -3
  82. data/fixtures/book_service/script/server +0 -3
  83. data/fixtures/book_service/test/fixtures/books.yml +0 -9
  84. data/fixtures/book_service/test/fixtures/shelves.yml +0 -7
  85. data/fixtures/book_service/test/functional/books_controller_test.rb +0 -45
  86. data/fixtures/book_service/test/functional/shelf_controller_test.rb +0 -8
  87. data/fixtures/book_service/test/test_helper.rb +0 -38
  88. data/fixtures/book_service/test/unit/book_test.rb +0 -8
  89. data/fixtures/book_service/test/unit/shelf_test.rb +0 -8
  90. data/spec/create_spec.rb +0 -21
  91. data/spec/delete_spec.rb +0 -22
  92. data/spec/read_spec.rb +0 -101
  93. data/spec/update_spec.rb +0 -36
  94. data/stories/all.rb +0 -5
  95. data/stories/crud/create +0 -39
  96. data/stories/crud/delete +0 -9
  97. data/stories/crud/read +0 -36
  98. data/stories/crud/stories.rb +0 -18
  99. data/stories/crud/update +0 -44
  100. data/stories/helper.rb +0 -19
  101. data/stories/resources/helpers/book.rb +0 -7
  102. data/stories/resources/helpers/story_helper.rb +0 -2
  103. data/stories/resources/steps/read.rb +0 -35
  104. data/stories/resources/steps/using_rest_adapter.rb +0 -99
  105. data/tasks/stories.rb +0 -5
@@ -1,3 +0,0 @@
1
- # Methods added to this helper will be available to all templates in the application.
2
- module ApplicationHelper
3
- end
@@ -1,2 +0,0 @@
1
- module BooksHelper
2
- end
@@ -1,2 +0,0 @@
1
- module ShelfHelper
2
- end
@@ -1,6 +0,0 @@
1
- class Book < ActiveRecord::Base
2
- validates_presence_of :title
3
- validates_presence_of :author
4
-
5
- belongs_to :shelf
6
- end
@@ -1,5 +0,0 @@
1
- class Shelf < ActiveRecord::Base
2
- validates_presence_of :name
3
-
4
- has_many :books
5
- end
@@ -1,20 +0,0 @@
1
- <h1>Editing book</h1>
2
-
3
- <% form_for(@book) do |f| %>
4
- <%= f.error_messages %>
5
-
6
- <p>
7
- <%= f.label :title %><br />
8
- <%= f.text_field :title %>
9
- </p>
10
- <p>
11
- <%= f.label :author %><br />
12
- <%= f.text_field :author %>
13
- </p>
14
- <p>
15
- <%= f.submit "Update" %>
16
- </p>
17
- <% end %>
18
-
19
- <%= link_to 'Show', @book %> |
20
- <%= link_to 'Back', books_path %>
@@ -1,22 +0,0 @@
1
- <h1>Listing books</h1>
2
-
3
- <table>
4
- <tr>
5
- <th>Title</th>
6
- <th>Author</th>
7
- </tr>
8
-
9
- <% for book in @books %>
10
- <tr>
11
- <td><%=h book.title %></td>
12
- <td><%=h book.author %></td>
13
- <td><%= link_to 'Show', book %></td>
14
- <td><%= link_to 'Edit', edit_book_path(book) %></td>
15
- <td><%= link_to 'Destroy', book, :confirm => 'Are you sure?', :method => :delete %></td>
16
- </tr>
17
- <% end %>
18
- </table>
19
-
20
- <br />
21
-
22
- <%= link_to 'New book', new_book_path %>
@@ -1,19 +0,0 @@
1
- <h1>New book</h1>
2
-
3
- <% form_for(@book) do |f| %>
4
- <%= f.error_messages %>
5
-
6
- <p>
7
- <%= f.label :title %><br />
8
- <%= f.text_field :title %>
9
- </p>
10
- <p>
11
- <%= f.label :author %><br />
12
- <%= f.text_field :author %>
13
- </p>
14
- <p>
15
- <%= f.submit "Create" %>
16
- </p>
17
- <% end %>
18
-
19
- <%= link_to 'Back', books_path %>
@@ -1,13 +0,0 @@
1
- <p>
2
- <b>Title:</b>
3
- <%=h @book.title %>
4
- </p>
5
-
6
- <p>
7
- <b>Author:</b>
8
- <%=h @book.author %>
9
- </p>
10
-
11
-
12
- <%= link_to 'Edit', edit_book_path(@book) %> |
13
- <%= link_to 'Back', books_path %>
@@ -1,17 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
7
- <title>Books: <%= controller.action_name %></title>
8
- <%= stylesheet_link_tag 'scaffold' %>
9
- </head>
10
- <body>
11
-
12
- <p style="color: green"><%= flash[:notice] %></p>
13
-
14
- <%= yield %>
15
-
16
- </body>
17
- </html>
@@ -1,16 +0,0 @@
1
- <h1>Editing shelf</h1>
2
-
3
- <% form_for(@shelf) do |f| %>
4
- <%= f.error_messages %>
5
-
6
- <p>
7
- <%= f.label :name %><br />
8
- <%= f.text_field :name %>
9
- </p>
10
- <p>
11
- <%= f.submit "Update" %>
12
- </p>
13
- <% end %>
14
-
15
- <%= link_to 'Show', @shelf %> |
16
- <%= link_to 'Back', shelves_path %>
@@ -1,20 +0,0 @@
1
- <h1>Listing shelves</h1>
2
-
3
- <table>
4
- <tr>
5
- <th>Name</th>
6
- </tr>
7
-
8
- <% for shelf in @shelves %>
9
- <tr>
10
- <td><%=h shelf.name %></td>
11
- <td><%= link_to 'Show', shelf %></td>
12
- <td><%= link_to 'Edit', edit_shelf_path(shelf) %></td>
13
- <td><%= link_to 'Destroy', shelf, :confirm => 'Are you sure?', :method => :delete %></td>
14
- </tr>
15
- <% end %>
16
- </table>
17
-
18
- <br />
19
-
20
- <%= link_to 'New shelf', new_shelf_path %>
@@ -1,15 +0,0 @@
1
- <h1>New shelf</h1>
2
-
3
- <% form_for(@shelf) do |f| %>
4
- <%= f.error_messages %>
5
-
6
- <p>
7
- <%= f.label :name %><br />
8
- <%= f.text_field :name %>
9
- </p>
10
- <p>
11
- <%= f.submit "Create" %>
12
- </p>
13
- <% end %>
14
-
15
- <%= link_to 'Back', shelves_path %>
@@ -1,7 +0,0 @@
1
- <p>
2
- <b>Name:</b>
3
- <%=h @shelf.name %>
4
- </p>
5
-
6
- <%= link_to 'Edit', edit_shelf_path(@shelf) %> |
7
- <%= link_to 'Back', shelves_path %>
@@ -1,109 +0,0 @@
1
- # Don't change this file!
2
- # Configure your app in config/environment.rb and config/environments/*.rb
3
-
4
- RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
5
-
6
- module Rails
7
- class << self
8
- def boot!
9
- unless booted?
10
- preinitialize
11
- pick_boot.run
12
- end
13
- end
14
-
15
- def booted?
16
- defined? Rails::Initializer
17
- end
18
-
19
- def pick_boot
20
- (vendor_rails? ? VendorBoot : GemBoot).new
21
- end
22
-
23
- def vendor_rails?
24
- File.exist?("#{RAILS_ROOT}/vendor/rails")
25
- end
26
-
27
- def preinitialize
28
- load(preinitializer_path) if File.exist?(preinitializer_path)
29
- end
30
-
31
- def preinitializer_path
32
- "#{RAILS_ROOT}/config/preinitializer.rb"
33
- end
34
- end
35
-
36
- class Boot
37
- def run
38
- load_initializer
39
- Rails::Initializer.run(:set_load_path)
40
- end
41
- end
42
-
43
- class VendorBoot < Boot
44
- def load_initializer
45
- require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
46
- Rails::Initializer.run(:install_gem_spec_stubs)
47
- end
48
- end
49
-
50
- class GemBoot < Boot
51
- def load_initializer
52
- self.class.load_rubygems
53
- load_rails_gem
54
- require 'initializer'
55
- end
56
-
57
- def load_rails_gem
58
- if version = self.class.gem_version
59
- gem 'rails', version
60
- else
61
- gem 'rails'
62
- end
63
- rescue LoadError => load_error
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
- exit 1
66
- end
67
-
68
- class << self
69
- def rubygems_version
70
- Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion
71
- end
72
-
73
- def gem_version
74
- if defined? RAILS_GEM_VERSION
75
- RAILS_GEM_VERSION
76
- elsif ENV.include?('RAILS_GEM_VERSION')
77
- ENV['RAILS_GEM_VERSION']
78
- else
79
- parse_gem_version(read_environment_rb)
80
- end
81
- end
82
-
83
- def load_rubygems
84
- require 'rubygems'
85
-
86
- unless rubygems_version >= '0.9.4'
87
- $stderr.puts %(Rails requires RubyGems >= 0.9.4 (you have #{rubygems_version}). Please `gem update --system` and try again.)
88
- exit 1
89
- end
90
-
91
- rescue LoadError
92
- $stderr.puts %(Rails requires RubyGems >= 0.9.4. Please install RubyGems and try again: http://rubygems.rubyforge.org)
93
- exit 1
94
- end
95
-
96
- def parse_gem_version(text)
97
- $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
98
- end
99
-
100
- private
101
- def read_environment_rb
102
- File.read("#{RAILS_ROOT}/config/environment.rb")
103
- end
104
- end
105
- end
106
- end
107
-
108
- # All that for this:
109
- Rails.boot!
@@ -1,19 +0,0 @@
1
- # SQLite version 3.x
2
- # gem install sqlite3-ruby (not necessary on OS X Leopard)
3
- development:
4
- adapter: sqlite3
5
- database: db/development.sqlite3
6
- timeout: 5000
7
-
8
- # Warning: The database defined as "test" will be erased and
9
- # re-generated from your development database when you run "rake".
10
- # Do not set this db to the same as development or production.
11
- test:
12
- adapter: sqlite3
13
- database: db/test.sqlite3
14
- timeout: 5000
15
-
16
- production:
17
- adapter: sqlite3
18
- database: db/production.sqlite3
19
- timeout: 5000
@@ -1,67 +0,0 @@
1
- # Be sure to restart your server when you modify this file
2
-
3
- # Uncomment below to force Rails into production mode when
4
- # you don't control web/app server and can't set it the proper way
5
- # ENV['RAILS_ENV'] ||= 'production'
6
-
7
- # Specifies gem version of Rails to use when vendor/rails is not present
8
- RAILS_GEM_VERSION = '2.1.0' unless defined? RAILS_GEM_VERSION
9
-
10
- # Bootstrap the Rails environment, frameworks, and default configuration
11
- require File.join(File.dirname(__FILE__), 'boot')
12
-
13
- Rails::Initializer.run do |config|
14
- # Settings in config/environments/* take precedence over those specified here.
15
- # Application configuration should go into files in config/initializers
16
- # -- all .rb files in that directory are automatically loaded.
17
- # See Rails::Configuration for more options.
18
-
19
- # Skip frameworks you're not going to use. To use Rails without a database
20
- # you must remove the Active Record framework.
21
- # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
22
-
23
- # Specify gems that this application depends on.
24
- # They can then be installed with "rake gems:install" on new installations.
25
- # config.gem "bj"
26
- # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
27
- # config.gem "aws-s3", :lib => "aws/s3"
28
-
29
- # Only load the plugins named here, in the order given. By default, all plugins
30
- # in vendor/plugins are loaded in alphabetical order.
31
- # :all can be used as a placeholder for all plugins not explicitly named
32
- # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
33
-
34
- # Add additional load paths for your own custom dirs
35
- # config.load_paths += %W( #{RAILS_ROOT}/extras )
36
-
37
- # Force all environments to use the same logger level
38
- # (by default production uses :info, the others :debug)
39
- # config.log_level = :debug
40
-
41
- # Make Time.zone default to the specified zone, and make Active Record store time values
42
- # in the database in UTC, and return them converted to the specified local zone.
43
- # Run "rake -D time" for a list of tasks for finding time zone names. Uncomment to use default local time.
44
- config.time_zone = 'UTC'
45
-
46
- # Your secret key for verifying cookie session data integrity.
47
- # If you change this key, all old sessions will become invalid!
48
- # Make sure the secret is at least 30 characters and all random,
49
- # no regular words or you'll be exposed to dictionary attacks.
50
- config.action_controller.session = {
51
- :session_key => '_book_service_session',
52
- :secret => '93f5689bc91bcef7a718ca925fe02410785668c5fdeecf7482200f1fa5a0a4fda2f476c547978b33acd73055e38bbe7edecb09cb0358f823d1400c624d61e37d'
53
- }
54
-
55
- # Use the database for sessions instead of the cookie-based default,
56
- # which shouldn't be used to store highly confidential information
57
- # (create the session table with "rake db:sessions:create")
58
- # config.action_controller.session_store = :active_record_store
59
-
60
- # Use SQL instead of Active Record's schema dumper when creating the test database.
61
- # This is necessary if your schema can't be completely dumped by the schema dumper,
62
- # like if you have constraints or database-specific column types
63
- # config.active_record.schema_format = :sql
64
-
65
- # Activate observers that should always be running
66
- # config.active_record.observers = :cacher, :garbage_collector
67
- end
@@ -1,17 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # In the development environment your application's code is reloaded on
4
- # every request. This slows down response time but is perfect for development
5
- # since you don't have to restart the webserver when you make code changes.
6
- config.cache_classes = false
7
-
8
- # Log error messages when you accidentally call methods on nil.
9
- config.whiny_nils = true
10
-
11
- # Show full error reports and disable caching
12
- config.action_controller.consider_all_requests_local = true
13
- config.action_view.debug_rjs = true
14
- config.action_controller.perform_caching = false
15
-
16
- # Don't care if the mailer can't send
17
- config.action_mailer.raise_delivery_errors = false
@@ -1,22 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # The production environment is meant for finished, "live" apps.
4
- # Code is not reloaded between requests
5
- config.cache_classes = true
6
-
7
- # Use a different logger for distributed setups
8
- # config.logger = SyslogLogger.new
9
-
10
- # Full error reports are disabled and caching is turned on
11
- config.action_controller.consider_all_requests_local = false
12
- config.action_controller.perform_caching = true
13
- config.action_view.cache_template_loading = true
14
-
15
- # Use a different cache store in production
16
- # config.cache_store = :mem_cache_store
17
-
18
- # Enable serving of images, stylesheets, and javascripts from an asset server
19
- # config.action_controller.asset_host = "http://assets.example.com"
20
-
21
- # Disable delivery errors, bad email addresses will be ignored
22
- # config.action_mailer.raise_delivery_errors = false
@@ -1,22 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # The test environment is used exclusively to run your application's
4
- # test suite. You never need to work with it otherwise. Remember that
5
- # your test database is "scratch space" for the test suite and is wiped
6
- # and recreated between test runs. Don't rely on the data there!
7
- config.cache_classes = true
8
-
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
11
-
12
- # Show full error reports and disable caching
13
- config.action_controller.consider_all_requests_local = true
14
- config.action_controller.perform_caching = false
15
-
16
- # Disable request forgery protection in test environment
17
- config.action_controller.allow_forgery_protection = false
18
-
19
- # Tell Action Mailer not to deliver emails to the real world.
20
- # The :test delivery method accumulates sent emails in the
21
- # ActionMailer::Base.deliveries array.
22
- config.action_mailer.delivery_method = :test