restfulie 0.9.3 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/Gemfile +2 -0
  2. data/Gemfile.lock +2 -2
  3. data/README.textile +4 -2
  4. data/Rakefile +12 -13
  5. data/lib/restfulie/client/base.rb +9 -2
  6. data/lib/restfulie/client/cache/basic.rb +6 -5
  7. data/lib/restfulie/client/cache/http_ext.rb +10 -8
  8. data/lib/restfulie/client/cache/restrictions.rb +1 -6
  9. data/lib/restfulie/client/dsl.rb +66 -0
  10. data/lib/restfulie/client/entry_point.rb +34 -9
  11. data/lib/restfulie/client/ext/atom_ext.rb +4 -2
  12. data/lib/restfulie/client/ext/json_ext.rb +5 -1
  13. data/lib/restfulie/client/feature/base.rb +75 -0
  14. data/lib/restfulie/client/feature/base_request.rb +35 -0
  15. data/lib/restfulie/client/feature/cache.rb +16 -0
  16. data/lib/restfulie/client/feature/enhance_response.rb +12 -0
  17. data/lib/restfulie/client/feature/follow_request.rb +41 -0
  18. data/lib/restfulie/client/feature/history.rb +26 -0
  19. data/lib/restfulie/client/feature/history_request.rb +19 -0
  20. data/lib/restfulie/client/feature/open_search/pattern_matcher.rb +25 -0
  21. data/lib/restfulie/client/feature/open_search.rb +21 -0
  22. data/lib/restfulie/client/feature/serialize_body.rb +32 -0
  23. data/lib/restfulie/client/feature/setup_header.rb +22 -0
  24. data/lib/restfulie/client/feature/throw_error.rb +41 -0
  25. data/lib/restfulie/client/feature/verb.rb +119 -0
  26. data/lib/restfulie/client/feature.rb +5 -0
  27. data/lib/restfulie/client/http/response_holder.rb +26 -6
  28. data/lib/restfulie/client/http.rb +1 -21
  29. data/lib/restfulie/client/master_delegator.rb +31 -0
  30. data/lib/restfulie/client/mikyung/core.rb +5 -4
  31. data/lib/restfulie/client/mikyung/steady_state_walker.rb +1 -1
  32. data/lib/restfulie/client/mikyung.rb +1 -8
  33. data/lib/restfulie/client.rb +3 -1
  34. data/lib/restfulie/common/converter/atom/base.rb +2 -0
  35. data/lib/restfulie/common/converter/form_url_encoded.rb +16 -0
  36. data/lib/restfulie/common/converter/json/base.rb +5 -2
  37. data/lib/restfulie/common/converter/open_search/descriptor.rb +32 -0
  38. data/lib/restfulie/common/converter/open_search.rb +16 -0
  39. data/lib/restfulie/common/converter/xml/base.rb +3 -1
  40. data/lib/restfulie/common/converter/xml/builder.rb +3 -2
  41. data/lib/restfulie/common/converter/xml/helpers.rb +4 -4
  42. data/lib/restfulie/common/converter/xml/link.rb +5 -0
  43. data/lib/restfulie/common/converter/xml/links.rb +1 -5
  44. data/lib/restfulie/common/converter.rb +25 -4
  45. data/lib/restfulie/common/core_ext/hash.rb +6 -0
  46. data/lib/restfulie/common/links.rb +9 -0
  47. data/lib/restfulie/common/representation/atom/base.rb +34 -33
  48. data/lib/restfulie/common/representation/atom/xml.rb +5 -10
  49. data/lib/restfulie/common/representation/generic.rb +0 -12
  50. data/lib/restfulie/common/representation/json/keys_as_methods.rb +2 -0
  51. data/lib/restfulie/common/representation.rb +2 -9
  52. data/lib/restfulie/common.rb +2 -1
  53. data/lib/restfulie/server/action_controller/trait/cacheable.rb +81 -0
  54. data/lib/restfulie/server/action_controller/trait/created.rb +17 -0
  55. data/lib/restfulie/server/action_controller/trait/save_prior_to_create.rb +13 -0
  56. data/lib/restfulie/server/action_controller/trait.rb +9 -0
  57. data/lib/restfulie/server/action_controller.rb +1 -5
  58. data/lib/restfulie/server/action_view/template_handlers/tokamak.rb +1 -1
  59. data/lib/restfulie/server.rb +6 -0
  60. data/lib/restfulie/version.rb +4 -4
  61. data/lib/restfulie.rb +21 -3
  62. metadata +37 -26
  63. data/lib/restfulie/client/ext/xml_ext.rb +0 -4
  64. data/lib/restfulie/client/http/link_request_builder.rb +0 -16
  65. data/lib/restfulie/client/http/request_adapter.rb +0 -213
  66. data/lib/restfulie/client/http/request_builder.rb +0 -114
  67. data/lib/restfulie/client/http/request_builder_executor.rb +0 -24
  68. data/lib/restfulie/client/http/request_executor.rb +0 -17
  69. data/lib/restfulie/client/http/request_follow.rb +0 -42
  70. data/lib/restfulie/client/http/request_follow_executor.rb +0 -10
  71. data/lib/restfulie/client/http/request_history.rb +0 -71
  72. data/lib/restfulie/client/http/request_history_executor.rb +0 -10
  73. data/lib/restfulie/client/http/request_marshaller.rb +0 -129
  74. data/lib/restfulie/client/http/request_marshaller_executor.rb +0 -10
  75. data/lib/restfulie/client/http/response.rb +0 -23
  76. data/lib/restfulie/client/http/response_handler.rb +0 -67
  77. data/lib/restfulie/server/action_controller/cacheable_responder.rb +0 -77
  78. data/lib/restfulie/server/action_controller/created_responder.rb +0 -19
@@ -84,55 +84,56 @@ module Restfulie
84
84
 
85
85
  # Author have name, and optional uri and email, this describes a person
86
86
  def authors
87
- unless @authors
88
- @authors = TagCollection.new(@doc)
89
- @doc.xpath("xmlns:author").each do |author|
90
- @authors << Person.new("author", author)
91
- end
87
+ return @authors if @authors
88
+
89
+ @authors = TagCollection.new(@doc)
90
+ @doc.xpath("xmlns:author").each do |author|
91
+ @authors << Person.new("author", author)
92
92
  end
93
+ @authors
93
94
 
94
- return @authors
95
95
  end
96
96
 
97
97
  def contributors
98
- unless @contributors
99
- @contributors = TagCollection.new(@doc)
100
- @doc.xpath("xmlns:author").each do |contributor|
101
- @contributors << Person.new("contributor", contributor)
102
- end
98
+ return @contributors if @contributors
99
+
100
+ @contributors = TagCollection.new(@doc)
101
+ @doc.xpath("xmlns:author").each do |contributor|
102
+ @contributors << Person.new("contributor", contributor)
103
103
  end
104
-
105
- return @contributor
104
+ @contributors
106
105
  end
107
106
 
107
+ include Restfulie::Common::Links
108
+
108
109
  # It has one required attribute, href, and five optional attributes: rel, type, hreflang, title, and length
109
110
  def links
110
- unless @links
111
- @links = TagCollection.new(@doc) do |array, symbol, *args|
112
- linkset = array.select {|link| link.rel == symbol.to_s }
113
- unless linkset.empty?
114
- linkset.size == 1 ? linkset.first : linkset
115
- else
116
- nil
117
- end
118
- end
119
- @doc.xpath("xmlns:link").each do |link|
120
- @links << Link.new(link)
121
- end
111
+ return @links if @links
112
+
113
+ @links = TagCollection.new(@doc) do |array, symbol, *args|
114
+ linkset = array.select {|link| link.rel == symbol.to_s }
115
+ unless linkset.empty?
116
+ linkset.size == 1 ? linkset.first : linkset
117
+ else
118
+ nil
119
+ end
122
120
  end
121
+ @doc.xpath("xmlns:link").each do |link|
122
+ @links << Link.new(link)
123
+ end
124
+ @links
123
125
 
124
- return @links
125
126
  end
126
127
 
127
128
  def categories
128
- unless @categories
129
- @categories = TagCollection.new(@doc)
130
- @doc.xpath("xmlns:category").each do |category|
131
- @categories << Link.new(category)
132
- end
133
- end
129
+ return @categories if @categories
130
+
131
+ @categories = TagCollection.new(@doc)
132
+ @doc.xpath("xmlns:category").each do |category|
133
+ @categories << Link.new(category)
134
+ end
135
+ @categories
134
136
 
135
- return @categories
136
137
  end
137
138
  end
138
139
  end
@@ -39,12 +39,7 @@ module Restfulie
39
39
  end
40
40
 
41
41
  def method_missing(method)
42
- value = text(method)
43
- unless value
44
- super
45
- else
46
- value
47
- end
42
+ text(method) || super
48
43
  end
49
44
 
50
45
  protected
@@ -54,12 +49,12 @@ module Restfulie
54
49
  end
55
50
 
56
51
  def set_text(node_name, value)
57
- unless (node = @doc.at_xpath("xmlns:#{node_name}"))
58
- node = create_element(node_name, value)
59
- node.parent = @doc
60
- else
52
+ if (node = @doc.at_xpath("xmlns:#{node_name}"))
61
53
  value = value.xmlschema if value.kind_of?(Time) || value.kind_of?(DateTime)
62
54
  node.content = value
55
+ else
56
+ node = create_element(node_name, value)
57
+ node.parent = @doc
63
58
  end
64
59
  end
65
60
 
@@ -3,15 +3,6 @@ module Restfulie
3
3
  module Representation
4
4
  # Unknown representation's unmarshalling on the client side
5
5
  class Generic
6
- def self.media_type_name
7
- raise Error::RestfulieError.new("Generic representation does not have a specific media type")
8
- end
9
-
10
- cattr_reader :headers
11
- @@headers = {
12
- :get => { },
13
- :post => { }
14
- }
15
6
 
16
7
  # Because there is no media type registered, return the content itself
17
8
  def unmarshal(content)
@@ -25,9 +16,6 @@ module Restfulie
25
16
  string
26
17
  end
27
18
 
28
- def prepare_link_for(link)
29
- link
30
- end
31
19
  end
32
20
  end
33
21
  end
@@ -44,6 +44,8 @@ module Restfulie
44
44
  class << self; self; end
45
45
  end
46
46
 
47
+ include Restfulie::Common::Links
48
+
47
49
  # easy accessors to links
48
50
  def links
49
51
  some_links = self["link"]
@@ -1,10 +1,3 @@
1
- module Restfulie
2
- module Common
3
- module Representation
4
- autoload :Atom, 'restfulie/common/representation/atom'
5
- autoload :Generic, 'restfulie/common/representation/generic'
6
- autoload :Json, 'restfulie/common/representation/json'
7
- autoload :Links, 'restfulie/common/representation/links'
8
- end
9
- end
1
+ module Restfulie::Common::Representation
2
+ Dir["#{File.dirname(__FILE__)}/representation/*.rb"].each {|f| autoload File.basename(f)[0..-4].camelize.to_sym, f }
10
3
  end
@@ -4,14 +4,15 @@ require 'uri'
4
4
  require 'rubygems'
5
5
  require 'active_support'
6
6
  require 'action_controller'
7
- require 'restfulie/common/core_ext'
8
7
 
9
8
  module Restfulie
10
9
  module Common
11
10
  autoload :Error, 'restfulie/common/error'
11
+ autoload :Links, 'restfulie/common/links'
12
12
  autoload :Logger, 'restfulie/common/logger'
13
13
  autoload :Representation, 'restfulie/common/representation'
14
14
  autoload :Converter, 'restfulie/common/converter'
15
15
  end
16
16
  end
17
17
 
18
+ require 'restfulie/common/core_ext'
@@ -0,0 +1,81 @@
1
+ class Expires
2
+ def do_http_cache(responder, headers)
3
+ if responder.options[:expires_in]
4
+ headers << "max-age=#{responder.options[:expires_in]}"
5
+ true
6
+ else
7
+ false
8
+ end
9
+ end
10
+ end
11
+
12
+ class LastModifieds
13
+ # default implementation that will check whether caching can be applied
14
+ def accepts?(responder)
15
+ responder.resources.flatten.select do |resource|
16
+ resource.respond_to?(:updated_at)
17
+ end &&
18
+ responder.controller.response.last_modified.nil? &&
19
+ !new_record?(responder)
20
+ end
21
+
22
+ def do_http_cache(responder, headers)
23
+ return false unless accepts?(responder)
24
+
25
+ timestamps = responder.resources.flatten.select do |resource|
26
+ resource.respond_to?(:updated_at)
27
+ end.map do |resource|
28
+ (resource.updated_at || Time.now).utc
29
+ end
30
+
31
+ timestamp = timestamps.max
32
+
33
+ responder.controller.response.last_modified = timestamp if timestamp
34
+ end
35
+
36
+ def new_record?(responder)
37
+ responder.resource.respond_to?(:new_record?) && responder.resource.new_record?
38
+ end
39
+
40
+ end
41
+
42
+ module Restfulie::Server::ActionController
43
+ module Trait
44
+ module Cacheable
45
+
46
+ CACHES = [::Expires.new, ::LastModifieds.new]
47
+
48
+ def to_format
49
+ headers = cache_control_headers
50
+ cached = CACHES.inject(false) do |cached, cache|
51
+ cached || cache.do_http_cache(self, headers)
52
+ end
53
+ if ::ActionController::Base.perform_caching && cached
54
+ set_public_cache_control(headers)
55
+ controller.response.headers["Cache-Control"] = headers.join(', ')
56
+ fresh = request.fresh?(controller.response)
57
+ if fresh
58
+ head :not_modified
59
+ else
60
+ super
61
+ end
62
+ else
63
+ super
64
+ end
65
+ end
66
+
67
+ private
68
+
69
+ def set_public_cache_control(headers)
70
+ headers.delete("private")
71
+ headers.delete("no-cache")
72
+ headers << "public"
73
+ end
74
+
75
+ def cache_control_headers
76
+ (controller.response.headers["Cache-Control"] || "").split(",").map {|k| k.strip }
77
+ end
78
+
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,17 @@
1
+ module Restfulie::Server::ActionController
2
+ module Trait
3
+
4
+ # Adds support to answering as a 201 when the resource has been just created
5
+ module Created
6
+
7
+ def to_format
8
+ if (options[:status] == 201) || (options[:status] == :created)
9
+ render :status => 201, :location => controller.url_for(resource), :text => ""
10
+ else
11
+ super
12
+ end
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ module Restfulie::Server::ActionController::Trait::SavePriorToCreate
2
+ def to_format
3
+ if (options[:status] == 201) || (options[:status] == :created)==201
4
+ if resource.save
5
+ super
6
+ else
7
+ render :action => "new"
8
+ end
9
+ else
10
+ super
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ module Restfulie
2
+ module Server
3
+ module ActionController #:nodoc:
4
+ module Trait #:nodoc:
5
+ Dir["#{File.dirname(__FILE__)}/trait/*.rb"].each {|f| autoload File.basename(f)[0..-4].camelize.to_sym, f }
6
+ end
7
+ end
8
+ end
9
+ end
@@ -2,11 +2,7 @@ module Restfulie
2
2
  module Server
3
3
  module ActionController #:nodoc:
4
4
  if defined?(::ActionController) || defined?(::ApplicationController)
5
- autoload :ParamsParser, 'restfulie/server/action_controller/params_parser'
6
- autoload :CacheableResponder, 'restfulie/server/action_controller/cacheable_responder'
7
- autoload :CreatedResponder, 'restfulie/server/action_controller/created_responder'
8
- autoload :RestfulResponder, 'restfulie/server/action_controller/restful_responder'
9
- autoload :Base, 'restfulie/server/action_controller/base'
5
+ Dir["#{File.dirname(__FILE__)}/action_controller/*.rb"].each {|f| autoload File.basename(f)[0..-4].camelize.to_sym, f }
10
6
  end
11
7
  end
12
8
  end
@@ -6,7 +6,7 @@ module Restfulie
6
6
  include ::ActionView::TemplateHandlers::Compilable
7
7
 
8
8
  def compile(template)
9
- "@restfulie_type_helpers = Restfulie::Client::HTTP::RequestMarshaller.content_type_for(self.response.content_type).helper; " +
9
+ "@restfulie_type_helpers = Restfulie::Common::Converter.content_type_for(self.response.content_type).helper; " +
10
10
  "extend @restfulie_type_helpers; " +
11
11
  "extend Restfulie::Server::ActionView::Helpers; " +
12
12
  "code_block = lambda { #{template.source} };" +
@@ -1,3 +1,4 @@
1
+ require 'respondie'
1
2
  require 'restfulie/common'
2
3
 
3
4
  module Restfulie
@@ -16,4 +17,9 @@ class ActionController::Base
16
17
  def self.restfulie
17
18
  include Restfulie::Server::ActionController::Base
18
19
  end
20
+
21
+ def self.use_trait(&block)
22
+ Respondie::Builder.new("Restfulie::Server::ActionController::Trait::$trait$", self).instance_eval(&block)
23
+ end
24
+
19
25
  end
@@ -1,10 +1,10 @@
1
1
  module Restfulie
2
2
  module VERSION #:nodoc:
3
- MAJOR = 0
4
- MINOR = 9
5
- TINY = 3
3
+ MAJOR = 1
4
+ MINOR = 0
5
+ TINY = 0
6
6
 
7
- STRING = [MAJOR, MINOR, TINY].join('.')
7
+ STRING = [MAJOR, MINOR, TINY].join('.') + ".beta1"
8
8
 
9
9
  # Restfulie's version
10
10
  def self.to_s
data/lib/restfulie.rb CHANGED
@@ -5,12 +5,30 @@ require 'restfulie/common'
5
5
  require 'restfulie/client'
6
6
  require 'restfulie/server'
7
7
 
8
- # Shortcut to Restfulie::Client::EntryPoint
8
+ # Shortcut to RestfulieDsl
9
9
  module Restfulie
10
- extend Restfulie::Client::EntryPoint
11
10
 
12
11
  # creates a new entry point for executing requests
13
12
  def self.at(uri)
14
- Object.new.send(:extend, Restfulie::Client::EntryPoint).at(uri)
13
+ Restfulie.use.at(uri)
14
+ end
15
+
16
+ def self.using(&block)
17
+ RestfulieUsing.new.instance_eval(&block)
18
+ end
19
+
20
+ def self.use(&block)
21
+ if block_given?
22
+ Restfulie::Client::Dsl.new.instance_eval(&block)
23
+ else
24
+ Restfulie::Client::Dsl.new
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ class RestfulieUsing
31
+ def method_missing(sym, *args)
32
+ @current = "Restfulie::Client::HTTP::#{sym.to_s.classify}".constantize.new(@current || Restfulie::Client::HTTP::RequestAdapter.new, *args)
15
33
  end
16
34
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restfulie
3
3
  version: !ruby/object:Gem::Version
4
- hash: 61
5
- prerelease: false
4
+ hash: 299253597
5
+ prerelease: true
6
6
  segments:
7
+ - 1
8
+ - 0
7
9
  - 0
8
- - 9
9
- - 3
10
- version: 0.9.3
10
+ - beta1
11
+ version: 1.0.0.beta1
11
12
  platform: ruby
12
13
  authors:
13
14
  - Guilherme Silveira, Caue Guerra, Luis Cipriani, Everton Ribeiro, George Guimaraes, Paulo Ahagon, Several contributors
@@ -15,7 +16,7 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2010-08-31 00:00:00 -03:00
19
+ date: 2010-10-31 00:00:00 -02:00
19
20
  default_executable:
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
@@ -98,28 +99,30 @@ files:
98
99
  - lib/restfulie/client/cache/restrictions.rb
99
100
  - lib/restfulie/client/cache.rb
100
101
  - lib/restfulie/client/configuration.rb
102
+ - lib/restfulie/client/dsl.rb
101
103
  - lib/restfulie/client/entry_point.rb
102
104
  - lib/restfulie/client/ext/atom_ext.rb
103
105
  - lib/restfulie/client/ext/http_ext.rb
104
106
  - lib/restfulie/client/ext/json_ext.rb
105
- - lib/restfulie/client/ext/xml_ext.rb
107
+ - lib/restfulie/client/feature/base.rb
108
+ - lib/restfulie/client/feature/base_request.rb
109
+ - lib/restfulie/client/feature/cache.rb
110
+ - lib/restfulie/client/feature/enhance_response.rb
111
+ - lib/restfulie/client/feature/follow_request.rb
112
+ - lib/restfulie/client/feature/history.rb
113
+ - lib/restfulie/client/feature/history_request.rb
114
+ - lib/restfulie/client/feature/open_search/pattern_matcher.rb
115
+ - lib/restfulie/client/feature/open_search.rb
116
+ - lib/restfulie/client/feature/serialize_body.rb
117
+ - lib/restfulie/client/feature/setup_header.rb
118
+ - lib/restfulie/client/feature/throw_error.rb
119
+ - lib/restfulie/client/feature/verb.rb
120
+ - lib/restfulie/client/feature.rb
106
121
  - lib/restfulie/client/http/cache.rb
107
122
  - lib/restfulie/client/http/error.rb
108
- - lib/restfulie/client/http/link_request_builder.rb
109
- - lib/restfulie/client/http/request_adapter.rb
110
- - lib/restfulie/client/http/request_builder.rb
111
- - lib/restfulie/client/http/request_builder_executor.rb
112
- - lib/restfulie/client/http/request_executor.rb
113
- - lib/restfulie/client/http/request_follow.rb
114
- - lib/restfulie/client/http/request_follow_executor.rb
115
- - lib/restfulie/client/http/request_history.rb
116
- - lib/restfulie/client/http/request_history_executor.rb
117
- - lib/restfulie/client/http/request_marshaller.rb
118
- - lib/restfulie/client/http/request_marshaller_executor.rb
119
- - lib/restfulie/client/http/response.rb
120
- - lib/restfulie/client/http/response_handler.rb
121
123
  - lib/restfulie/client/http/response_holder.rb
122
124
  - lib/restfulie/client/http.rb
125
+ - lib/restfulie/client/master_delegator.rb
123
126
  - lib/restfulie/client/mikyung/concatenator.rb
124
127
  - lib/restfulie/client/mikyung/core.rb
125
128
  - lib/restfulie/client/mikyung/languages/german.rb
@@ -135,10 +138,13 @@ files:
135
138
  - lib/restfulie/common/converter/atom/builder.rb
136
139
  - lib/restfulie/common/converter/atom/helpers.rb
137
140
  - lib/restfulie/common/converter/atom.rb
141
+ - lib/restfulie/common/converter/form_url_encoded.rb
138
142
  - lib/restfulie/common/converter/json/base.rb
139
143
  - lib/restfulie/common/converter/json/builder.rb
140
144
  - lib/restfulie/common/converter/json/helpers.rb
141
145
  - lib/restfulie/common/converter/json.rb
146
+ - lib/restfulie/common/converter/open_search/descriptor.rb
147
+ - lib/restfulie/common/converter/open_search.rb
142
148
  - lib/restfulie/common/converter/values.rb
143
149
  - lib/restfulie/common/converter/xml/base.rb
144
150
  - lib/restfulie/common/converter/xml/builder.rb
@@ -150,6 +156,7 @@ files:
150
156
  - lib/restfulie/common/core_ext/hash.rb
151
157
  - lib/restfulie/common/core_ext.rb
152
158
  - lib/restfulie/common/error.rb
159
+ - lib/restfulie/common/links.rb
153
160
  - lib/restfulie/common/logger.rb
154
161
  - lib/restfulie/common/representation/atom/base.rb
155
162
  - lib/restfulie/common/representation/atom/category.rb
@@ -172,11 +179,13 @@ files:
172
179
  - lib/restfulie/common/representation.rb
173
180
  - lib/restfulie/common.rb
174
181
  - lib/restfulie/server/action_controller/base.rb
175
- - lib/restfulie/server/action_controller/cacheable_responder.rb
176
- - lib/restfulie/server/action_controller/created_responder.rb
177
182
  - lib/restfulie/server/action_controller/params_parser.rb
178
183
  - lib/restfulie/server/action_controller/patch.rb
179
184
  - lib/restfulie/server/action_controller/restful_responder.rb
185
+ - lib/restfulie/server/action_controller/trait/cacheable.rb
186
+ - lib/restfulie/server/action_controller/trait/created.rb
187
+ - lib/restfulie/server/action_controller/trait/save_prior_to_create.rb
188
+ - lib/restfulie/server/action_controller/trait.rb
180
189
  - lib/restfulie/server/action_controller.rb
181
190
  - lib/restfulie/server/action_view/helpers.rb
182
191
  - lib/restfulie/server/action_view/template_handlers/tokamak.rb
@@ -216,12 +225,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
225
  required_rubygems_version: !ruby/object:Gem::Requirement
217
226
  none: false
218
227
  requirements:
219
- - - ">="
228
+ - - ">"
220
229
  - !ruby/object:Gem::Version
221
- hash: 3
230
+ hash: 25
222
231
  segments:
223
- - 0
224
- version: "0"
232
+ - 1
233
+ - 3
234
+ - 1
235
+ version: 1.3.1
225
236
  requirements: []
226
237
 
227
238
  rubyforge_project:
@@ -1,4 +0,0 @@
1
- # inject new behavior in Atom instances to enable easily access to link relationships.
2
- class Hash
3
- include Restfulie::Client::HTTP::LinkRequestBuilder
4
- end
@@ -1,16 +0,0 @@
1
- module Restfulie
2
- module Client
3
- module HTTP
4
- module LinkRequestBuilder
5
- include RequestMarshaller
6
- include RequestFollow
7
-
8
- def path#:nodoc:
9
- at(href)
10
- as(type) if type
11
- super
12
- end
13
- end
14
- end
15
- end
16
- end