acts_as_api 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -2
- data/History.txt +8 -0
- data/README.md +2 -2
- data/acts_as_api.gemspec +2 -2
- data/examples/introduction/index.html +6 -6
- data/examples/introduction/index.rb +1 -1
- data/examples/introduction/layout.mustache +4 -4
- data/lib/acts_as_api.rb +18 -2
- data/lib/acts_as_api/collection.rb +17 -0
- data/lib/acts_as_api/config.rb +15 -15
- data/lib/acts_as_api/rails_renderer.rb +6 -2
- data/lib/acts_as_api/rendering.rb +4 -4
- data/lib/acts_as_api/version.rb +1 -1
- data/spec/active_record_dummy/Gemfile +1 -1
- data/spec/active_record_dummy/app/models/profile.rb +2 -3
- data/spec/active_record_dummy/app/models/task.rb +2 -3
- data/spec/active_record_dummy/app/models/user.rb +6 -7
- data/spec/active_record_dummy/config/application.rb +0 -6
- data/spec/active_record_dummy/config/environments/development.rb +4 -7
- data/spec/active_record_dummy/config/environments/production.rb +0 -4
- data/spec/active_record_dummy/config/environments/test.rb +3 -3
- data/spec/controllers/plain_objects_controller_spec.rb +2 -1
- data/spec/controllers/respond_with_users_controller_spec.rb +8 -8
- data/spec/mongoid_dummy/Gemfile +2 -2
- data/spec/mongoid_dummy/config/application.rb +0 -7
- data/spec/mongoid_dummy/config/environments/development.rb +4 -0
- data/spec/mongoid_dummy/config/environments/test.rb +3 -1
- data/spec/mongoid_dummy/config/mongoid.yml +4 -112
- data/spec/shared_engine/app/controllers/shared_engine/plain_objects_controller.rb +1 -1
- data/spec/shared_engine/app/controllers/shared_engine/respond_with_users_controller.rb +6 -6
- data/spec/shared_engine/app/controllers/shared_engine/users_controller.rb +8 -4
- data/spec/shared_engine/dummy/config/application.rb +0 -6
- data/spec/shared_engine/dummy/config/environments/development.rb +4 -7
- data/spec/shared_engine/dummy/config/environments/production.rb +0 -4
- data/spec/shared_engine/dummy/config/environments/test.rb +3 -3
- data/spec/shared_engine/shared_engine.gemspec +1 -1
- data/spec/spec_helper.rb +7 -5
- data/spec/support/controller_examples.rb +23 -47
- data/spec/support/model_examples/associations.rb +59 -59
- metadata +4 -8
- data/lib/acts_as_api/array.rb +0 -21
- data/spec/shared_engine/lib/magic/rails/engine.rb +0 -69
- data/spec/support/routing.rb +0 -4
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Bäuerlein
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -103,8 +103,8 @@ files:
|
|
103
103
|
- lib/acts_as_api/adapters.rb
|
104
104
|
- lib/acts_as_api/adapters/mongoid.rb
|
105
105
|
- lib/acts_as_api/api_template.rb
|
106
|
-
- lib/acts_as_api/array.rb
|
107
106
|
- lib/acts_as_api/base.rb
|
107
|
+
- lib/acts_as_api/collection.rb
|
108
108
|
- lib/acts_as_api/config.rb
|
109
109
|
- lib/acts_as_api/exceptions.rb
|
110
110
|
- lib/acts_as_api/rails_renderer.rb
|
@@ -264,7 +264,6 @@ files:
|
|
264
264
|
- spec/shared_engine/dummy/public/500.html
|
265
265
|
- spec/shared_engine/dummy/public/favicon.ico
|
266
266
|
- spec/shared_engine/dummy/script/rails
|
267
|
-
- spec/shared_engine/lib/magic/rails/engine.rb
|
268
267
|
- spec/shared_engine/lib/shared_engine.rb
|
269
268
|
- spec/shared_engine/lib/shared_engine/engine.rb
|
270
269
|
- spec/shared_engine/lib/shared_engine/version.rb
|
@@ -290,7 +289,6 @@ files:
|
|
290
289
|
- spec/support/model_examples/sub_nodes.rb
|
291
290
|
- spec/support/model_examples/undefined.rb
|
292
291
|
- spec/support/model_examples/untouched.rb
|
293
|
-
- spec/support/routing.rb
|
294
292
|
- spec/support/simple_fixtures.rb
|
295
293
|
homepage: https://github.com/fabrik42/acts_as_api
|
296
294
|
licenses: []
|
@@ -315,7 +313,7 @@ rubyforge_project:
|
|
315
313
|
rubygems_version: 2.5.1
|
316
314
|
signing_key:
|
317
315
|
specification_version: 4
|
318
|
-
summary: Makes creating XML/JSON responses in Rails 3 easy and fun.
|
316
|
+
summary: Makes creating XML/JSON responses in Rails 3, 4 and 5 easy and fun.
|
319
317
|
test_files:
|
320
318
|
- spec/README.md
|
321
319
|
- spec/active_record_dummy/.gitignore
|
@@ -470,7 +468,6 @@ test_files:
|
|
470
468
|
- spec/shared_engine/dummy/public/500.html
|
471
469
|
- spec/shared_engine/dummy/public/favicon.ico
|
472
470
|
- spec/shared_engine/dummy/script/rails
|
473
|
-
- spec/shared_engine/lib/magic/rails/engine.rb
|
474
471
|
- spec/shared_engine/lib/shared_engine.rb
|
475
472
|
- spec/shared_engine/lib/shared_engine/engine.rb
|
476
473
|
- spec/shared_engine/lib/shared_engine/version.rb
|
@@ -496,5 +493,4 @@ test_files:
|
|
496
493
|
- spec/support/model_examples/sub_nodes.rb
|
497
494
|
- spec/support/model_examples/undefined.rb
|
498
495
|
- spec/support/model_examples/untouched.rb
|
499
|
-
- spec/support/routing.rb
|
500
496
|
- spec/support/simple_fixtures.rb
|
data/lib/acts_as_api/array.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# The standard ruby Array class is extended by one instance method.
|
2
|
-
class Array
|
3
|
-
|
4
|
-
# Neccessary to render an Array of models, e.g. the result of a search.
|
5
|
-
#
|
6
|
-
# The Array checks all its items if they respond to the +as_api_response+ method.
|
7
|
-
# If they do, the result of this method will be collected.
|
8
|
-
# If they don't, the item itself will be collected.
|
9
|
-
def as_api_response(api_template, options = {})
|
10
|
-
|
11
|
-
collect do |item|
|
12
|
-
if item.respond_to?(:as_api_response)
|
13
|
-
item.as_api_response(api_template,options)
|
14
|
-
else
|
15
|
-
item
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
@@ -1,69 +0,0 @@
|
|
1
|
-
module Magic
|
2
|
-
module Rails
|
3
|
-
module Engine
|
4
|
-
##
|
5
|
-
# Automatically append all of the current engine's routes to the main
|
6
|
-
# application's route set. This needs to be done for ALL functional tests that
|
7
|
-
# use engine routes, since the mounted routes don't work during tests.
|
8
|
-
#
|
9
|
-
# @param [Symbol] engine_symbol Optional; if provided, uses this symbol to
|
10
|
-
# locate the engine class by name, otherwise uses the module of the calling
|
11
|
-
# test case as the presumed name of the engine.
|
12
|
-
#
|
13
|
-
# @author Jason Hamilton (jhamilton@greatherorift.com)
|
14
|
-
# @author Matthew Ratzloff (matt@urbaninfluence.com)
|
15
|
-
# @author Xavier Dutreilh (xavier@dutreilh.fr)
|
16
|
-
def load_engine_routes(engine_symbol = nil)
|
17
|
-
if engine_symbol
|
18
|
-
engine_name = engine_symbol.to_s.camelize
|
19
|
-
else
|
20
|
-
# No engine provided, so presume the current engine is the one to load
|
21
|
-
engine_name = self.class.name.split("::").first.split("(").last
|
22
|
-
end
|
23
|
-
engine = ("#{engine_name}::Engine").constantize
|
24
|
-
|
25
|
-
# Append the routes for this module to the existing routes
|
26
|
-
::Rails.application.routes.disable_clear_and_finalize = true
|
27
|
-
::Rails.application.routes.clear!
|
28
|
-
::Rails.application.routes_reloader.paths.each { |path| load(path) }
|
29
|
-
::Rails.application.routes.draw do
|
30
|
-
resourced_routes = []
|
31
|
-
|
32
|
-
named_routes = engine.routes.named_routes.routes
|
33
|
-
|
34
|
-
engine.routes.routes.each do |route|
|
35
|
-
# Call the method by hand based on the symbol
|
36
|
-
path = "/#{engine_name.underscore}#{route.path.spec}"
|
37
|
-
verb = route.verb.to_s.downcase.gsub(/^.+\^(.+)\$.+$/, '\1').to_sym
|
38
|
-
requirements = route.requirements
|
39
|
-
if path_helper = named_routes.key(route)
|
40
|
-
requirements[:as] = path_helper
|
41
|
-
elsif route.requirements[:controller].present?
|
42
|
-
# Presume that all controllers referenced in routes should also be
|
43
|
-
# resources and append that routing on the end so that *_path helpers
|
44
|
-
# will still work
|
45
|
-
resourced_routes << route.requirements[:controller].gsub("#{engine_name.underscore}/", "").to_sym
|
46
|
-
end
|
47
|
-
send(verb, path, requirements) if respond_to?(verb)
|
48
|
-
end
|
49
|
-
|
50
|
-
# Add each route, once, to the end under a scope to trick path helpers.
|
51
|
-
# This will probably break as soon as there is route name overlap, but
|
52
|
-
# we'll cross that bridge when we get to it.
|
53
|
-
resourced_routes.uniq!
|
54
|
-
scope engine_name.underscore do
|
55
|
-
resourced_routes.each do |resource|
|
56
|
-
resources resource
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
# Finalize the routes
|
62
|
-
::Rails.application.routes.finalize!
|
63
|
-
::Rails.application.routes.disable_clear_and_finalize = false
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
Rails::Engine.send(:include, Magic::Rails::Engine)
|
data/spec/support/routing.rb
DELETED