active_model_serializers_rails_2.3 0.9.0.alpha1 → 0.9.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +11 -55
  3. data/lib/active_model/array_serializer.rb +9 -34
  4. data/lib/active_model/as_json_overrides.rb +6 -0
  5. data/lib/active_model/default_serializer.rb +3 -12
  6. data/lib/active_model/serializable.rb +5 -9
  7. data/lib/active_model/serializer/associations.rb +15 -53
  8. data/lib/active_model/serializer/railtie.rb +2 -2
  9. data/lib/active_model/serializer/version.rb +1 -1
  10. data/lib/active_model/serializer.rb +29 -56
  11. data/lib/active_model_serializers.rb +2 -18
  12. data/test/coverage_setup.rb +9 -12
  13. data/test/fixtures/active_record.rb +3 -3
  14. data/test/integration/active_record/active_record_test.rb +21 -23
  15. data/test/test_app.rb +1 -4
  16. data/test/test_helper.rb +0 -3
  17. data/test/unit/active_model/array_serializer/meta_test.rb +1 -1
  18. data/test/unit/active_model/array_serializer/root_test.rb +2 -2
  19. data/test/unit/active_model/array_serializer/scope_test.rb +1 -1
  20. data/test/unit/active_model/array_serializer/serialize_test.rb +45 -0
  21. data/test/unit/active_model/default_serializer_test.rb +6 -4
  22. data/test/unit/active_model/serializer/attributes_test.rb +1 -13
  23. data/test/unit/active_model/serializer/config_test.rb +5 -5
  24. data/test/unit/active_model/serializer/filter_test.rb +2 -2
  25. data/test/unit/active_model/serializer/has_many_test.rb +6 -30
  26. data/test/unit/active_model/serializer/has_one_test.rb +5 -19
  27. data/test/unit/active_model/serializer/meta_test.rb +1 -1
  28. data/test/unit/active_model/serializer/root_test.rb +2 -16
  29. data/test/unit/active_model/serializer/scope_test.rb +1 -29
  30. metadata +11 -21
  31. data/lib/active_model/serializer/generators/serializer/scaffold_controller_generator.rb +0 -14
  32. data/lib/active_model/serializer/generators/serializer/templates/controller.rb +0 -93
  33. data/test/unit/active_model/array_serializer/serialization_test.rb +0 -182
  34. data/test/unit/active_model/serializer/associations/build_serializer_test.rb +0 -21
  35. data/test/unit/active_model/serializer/associations_test.rb +0 -19
data/test/test_app.rb CHANGED
@@ -3,9 +3,6 @@ class TestApp < Rails::Application
3
3
  config.eager_load = false
4
4
  config.secret_key_base = 'abc123'
5
5
  end
6
-
7
- # Set up a logger to avoid creating a log directory on every run.
8
- config.logger = Logger.new(nil)
9
6
  end
10
7
 
11
- TestApp.initialize!
8
+ TestApp.load_generators
data/test/test_helper.rb CHANGED
@@ -5,9 +5,6 @@ require 'active_model_serializers'
5
5
  require 'fixtures/poro'
6
6
  require 'fixtures/active_record'
7
7
 
8
- # Ensure backward compatibility with Minitest 4
9
- Minitest::Test = MiniTest::Unit::TestCase unless defined?(Minitest::Test)
10
-
11
8
  module TestHelper
12
9
  end
13
10
 
@@ -3,7 +3,7 @@ require 'active_model/serializer'
3
3
 
4
4
  module ActiveModel
5
5
  class ArraySerializer
6
- class MetaTest < Minitest::Test
6
+ class MetaTest < ActiveRecord::TestCase
7
7
  def setup
8
8
  @profile1 = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
9
9
  @profile2 = Profile.new({ name: 'Name 2', description: 'Description 2', comments: 'Comments 2' })
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class ArraySerializer
5
- class RootAsOptionTest < Minitest::Test
5
+ class RootAsOptionTest < ActiveRecord::TestCase
6
6
  def setup
7
7
  @old_root = ArraySerializer._root
8
8
  @profile1 = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
@@ -50,7 +50,7 @@ module ActiveModel
50
50
  end
51
51
  end
52
52
 
53
- class RootInSerializerTest < Minitest::Test
53
+ class RootInSerializerTest < ActiveRecord::TestCase
54
54
  def setup
55
55
  @old_root = ArraySerializer._root
56
56
  ArraySerializer._root = :in_serializer
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class ArraySerializer
5
- class ScopeTest < Minitest::Test
5
+ class ScopeTest < ActiveRecord::TestCase
6
6
  def test_array_serializer_pass_options_to_items_serializers
7
7
  array = [Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' }),
8
8
  Profile.new({ name: 'Name 2', description: 'Description 2', comments: 'Comments 2' })]
@@ -0,0 +1,45 @@
1
+ require 'test_helper'
2
+
3
+ module ActiveModel
4
+ class ArraySerializer
5
+ class SerializeTest < ActiveRecord::TestCase
6
+ def setup
7
+ array = [1, 2, 3]
8
+ @serializer = ActiveModel::Serializer.serializer_for(array).new(array)
9
+ end
10
+
11
+ def test_serializer_for_array_returns_appropriate_type
12
+ assert_kind_of ArraySerializer, @serializer
13
+ end
14
+
15
+ def test_array_serializer_serializes_simple_objects
16
+ assert_equal [1, 2, 3], @serializer.serializable_array
17
+ assert_equal [1, 2, 3], @serializer.as_json
18
+ end
19
+
20
+ def test_array_serializer_serializes_models
21
+ array = [Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' }),
22
+ Profile.new({ name: 'Name 2', description: 'Description 2', comments: 'Comments 2' })]
23
+ serializer = ArraySerializer.new(array)
24
+
25
+ expected = [{ name: 'Name 1', description: 'Description 1' },
26
+ { name: 'Name 2', description: 'Description 2' }]
27
+
28
+ assert_equal expected, serializer.serializable_array
29
+ assert_equal expected, serializer.as_json
30
+ end
31
+
32
+ def test_array_serializers_each_serializer
33
+ array = [::Model.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' }),
34
+ ::Model.new({ name: 'Name 2', description: 'Description 2', comments: 'Comments 2' })]
35
+ serializer = ArraySerializer.new(array, each_serializer: ProfileSerializer)
36
+
37
+ expected = [{ name: 'Name 1', description: 'Description 1' },
38
+ { name: 'Name 2', description: 'Description 2' }]
39
+
40
+ assert_equal expected, serializer.serializable_array
41
+ assert_equal expected, serializer.as_json
42
+ end
43
+ end
44
+ end
45
+ end
@@ -2,11 +2,13 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class DefaultSerializer
5
- class Test < Minitest::Test
5
+ class Test < ActiveRecord::TestCase
6
6
  def test_serialize_objects
7
- assert_equal(nil, DefaultSerializer.new(nil).serializable_object)
8
- assert_equal(1, DefaultSerializer.new(1).serializable_object)
9
- assert_equal('hi', DefaultSerializer.new('hi').serializable_object)
7
+ assert_equal(nil, DefaultSerializer.new(nil).serializable_hash)
8
+ assert_equal(1, DefaultSerializer.new(1).serializable_hash)
9
+ assert_equal('hi', DefaultSerializer.new('hi').serializable_hash)
10
+ obj = Struct.new(:a, :b).new(1, 2)
11
+ assert_equal({ a: 1, b: 2 }, DefaultSerializer.new(obj).serializable_hash)
10
12
  end
11
13
  end
12
14
  end
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class Serializer
5
- class AttributesTest < Minitest::Test
5
+ class AttributesTest < ActiveRecord::TestCase
6
6
  def setup
7
7
  @profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
8
8
  @profile_serializer = ProfileSerializer.new(@profile)
@@ -24,18 +24,6 @@ module ActiveModel
24
24
  'profile' => { name: 'Name 1', description: 'Description 1' }
25
25
  }, @profile_serializer.as_json)
26
26
  end
27
-
28
- def test_attributes_inheritance
29
- inherited_serializer_klass = Class.new(ProfileSerializer) do
30
- attributes :comments
31
- end
32
- another_inherited_serializer_klass = Class.new(ProfileSerializer)
33
-
34
- assert_equal([:name, :description, :comments],
35
- inherited_serializer_klass._attributes)
36
- assert_equal([:name, :description],
37
- another_inherited_serializer_klass._attributes)
38
- end
39
27
  end
40
28
  end
41
29
  end
@@ -3,7 +3,7 @@ require 'test_helper'
3
3
  module ActiveModel
4
4
  class Serializer
5
5
  class Config
6
- class Test < Minitest::Test
6
+ class Test < ActiveRecord::TestCase
7
7
  def test_config_const_is_an_instance_of_config
8
8
  assert_kind_of Config, CONFIG
9
9
  end
@@ -30,9 +30,9 @@ module ActiveModel
30
30
  end
31
31
  end
32
32
 
33
- class ConfigTest < Minitest::Test
33
+ class ConfigTest < ActiveRecord::TestCase
34
34
  def test_setup
35
- Serializer.setup do |config|
35
+ ActiveModel::Serializer.setup do |config|
36
36
  config.a = 'v1'
37
37
  config.b = 'v2'
38
38
  end
@@ -44,7 +44,7 @@ module ActiveModel
44
44
  end
45
45
 
46
46
  def test_config_accessors
47
- Serializer.setup do |config|
47
+ ActiveModel::Serializer.setup do |config|
48
48
  config.foo = 'v1'
49
49
  config.bar = 'v2'
50
50
  end
@@ -63,7 +63,7 @@ module ActiveModel
63
63
  end
64
64
  end
65
65
 
66
- class ApplyConfigTest < Minitest::Test
66
+ class ApplyConfigTest < ActiveRecord::TestCase
67
67
  def test_apply_config_to_associations
68
68
  CONFIG.embed = :ids
69
69
  CONFIG.embed_in_root = true
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class Serializer
5
- class FilterAttributesTest < Minitest::Test
5
+ class FilterAttributesTest < ActiveRecord::TestCase
6
6
  def setup
7
7
  @profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
8
8
  @profile_serializer = ProfileSerializer.new(@profile)
@@ -20,7 +20,7 @@ module ActiveModel
20
20
  end
21
21
  end
22
22
 
23
- class FilterAssociationsTest < Minitest::Test
23
+ class FilterAssociationsTest < ActiveRecord::TestCase
24
24
  def setup
25
25
  @association = PostSerializer._associations[:comments]
26
26
  @old_association = @association.dup
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class Serializer
5
- class HasManyTest < Minitest::Test
5
+ class HasManyTest < ActiveRecord::TestCase
6
6
  def setup
7
7
  @association = PostSerializer._associations[:comments]
8
8
  @old_association = @association.dup
@@ -21,18 +21,6 @@ module ActiveModel
21
21
  assert_equal 'comments', @association.name
22
22
  end
23
23
 
24
- def test_associations_inheritance
25
- inherited_serializer_klass = Class.new(PostSerializer) do
26
- has_many :some_associations
27
- end
28
- another_inherited_serializer_klass = Class.new(PostSerializer)
29
-
30
- assert_equal(PostSerializer._associations.length + 1,
31
- inherited_serializer_klass._associations.length)
32
- assert_equal(PostSerializer._associations.length,
33
- another_inherited_serializer_klass._associations.length)
34
- end
35
-
36
24
  def test_associations_embedding_ids_serialization_using_serializable_hash
37
25
  @association.embed = :ids
38
26
 
@@ -129,9 +117,9 @@ module ActiveModel
129
117
  def test_associations_using_a_given_serializer
130
118
  @association.embed = :ids
131
119
  @association.embed_in_root = true
132
- @association.serializer_from_options = Class.new(Serializer) do
120
+ @association.serializer_class = Class.new(ActiveModel::Serializer) do
133
121
  def content
134
- object.read_attribute_for_serialization(:content) + '!'
122
+ 'fake'
135
123
  end
136
124
 
137
125
  attributes :content
@@ -139,14 +127,14 @@ module ActiveModel
139
127
 
140
128
  assert_equal({
141
129
  'post' => { title: 'Title 1', body: 'Body 1', 'comment_ids' => @post.comments.map { |c| c.object_id } },
142
- comments: [{ content: 'C1!' }, { content: 'C2!' }]
130
+ comments: [{ content: 'fake' }, { content: 'fake' }]
143
131
  }, @post_serializer.as_json)
144
132
  end
145
133
 
146
- def test_associations_embedding_ids_using_a_given_array_serializer
134
+ def test_associations_using_a_given_array_serializer
147
135
  @association.embed = :ids
148
136
  @association.embed_in_root = true
149
- @association.serializer_from_options = Class.new(ArraySerializer) do
137
+ @association.serializer_class = Class.new(ActiveModel::ArraySerializer) do
150
138
  def serializable_object
151
139
  { my_content: ['fake'] }
152
140
  end
@@ -157,18 +145,6 @@ module ActiveModel
157
145
  comments: { my_content: ['fake'] }
158
146
  }, @post_serializer.as_json)
159
147
  end
160
-
161
- def test_associations_embedding_objects_using_a_given_array_serializer
162
- @association.serializer_from_options = Class.new(ArraySerializer) do
163
- def serializable_object
164
- { my_content: ['fake'] }
165
- end
166
- end
167
-
168
- assert_equal({
169
- 'post' => { title: 'Title 1', body: 'Body 1', comments: { my_content: ['fake'] } }
170
- }, @post_serializer.as_json)
171
- end
172
148
  end
173
149
  end
174
150
  end
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class Serializer
5
- class HasOneTest < Minitest::Test
5
+ class HasOneTest < ActiveRecord::TestCase
6
6
  def setup
7
7
  @association = UserSerializer._associations[:profile]
8
8
  @old_association = @association.dup
@@ -112,14 +112,14 @@ module ActiveModel
112
112
 
113
113
  assert_equal({
114
114
  'user' => { name: 'Name 1', email: 'mail@server.com', 'profile_id' => @user.profile.object_id },
115
- 'profiles' => [{ name: 'N1', description: 'D1' }]
115
+ profile: { name: 'N1', description: 'D1' }
116
116
  }, @user_serializer.as_json)
117
117
  end
118
118
 
119
- def test_associations_embedding_ids_using_a_given_serializer
119
+ def test_associations_using_a_given_serializer
120
120
  @association.embed = :ids
121
121
  @association.embed_in_root = true
122
- @association.serializer_from_options = Class.new(Serializer) do
122
+ @association.serializer_class = Class.new(ActiveModel::Serializer) do
123
123
  def name
124
124
  'fake'
125
125
  end
@@ -129,21 +129,7 @@ module ActiveModel
129
129
 
130
130
  assert_equal({
131
131
  'user' => { name: 'Name 1', email: 'mail@server.com', 'profile_id' => @user.profile.object_id },
132
- 'profiles' => [{ name: 'fake' }]
133
- }, @user_serializer.as_json)
134
- end
135
-
136
- def test_associations_embedding_objects_using_a_given_serializer
137
- @association.serializer_from_options = Class.new(Serializer) do
138
- def name
139
- 'fake'
140
- end
141
-
142
- attributes :name
143
- end
144
-
145
- assert_equal({
146
- 'user' => { name: 'Name 1', email: 'mail@server.com', profile: { name: 'fake' } }
132
+ profile: { name: 'fake' }
147
133
  }, @user_serializer.as_json)
148
134
  end
149
135
  end
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class Serializer
5
- class MetaTest < Minitest::Test
5
+ class MetaTest < ActiveRecord::TestCase
6
6
  def setup
7
7
  @profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
8
8
  end
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class Serializer
5
- class RootAsOptionTest < Minitest::Test
5
+ class RootAsOptionTest < ActiveRecord::TestCase
6
6
  def setup
7
7
  @old_root = ProfileSerializer._root
8
8
  @profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
@@ -54,23 +54,9 @@ module ActiveModel
54
54
  name: 'Name 1', description: 'Description 1'
55
55
  }, @serializer.as_json)
56
56
  end
57
-
58
- def test_root_inheritance
59
- ProfileSerializer._root = 'profile'
60
-
61
- inherited_serializer_klass = Class.new(ProfileSerializer)
62
- inherited_serializer_klass._root = 'inherited_profile'
63
-
64
- another_inherited_serializer_klass = Class.new(ProfileSerializer)
65
-
66
- assert_equal('inherited_profile',
67
- inherited_serializer_klass._root)
68
- assert_equal('profile',
69
- another_inherited_serializer_klass._root)
70
- end
71
57
  end
72
58
 
73
- class RootInSerializerTest < Minitest::Test
59
+ class RootInSerializerTest < ActiveRecord::TestCase
74
60
  def setup
75
61
  @old_root = ProfileSerializer._root
76
62
  ProfileSerializer._root = :in_serializer
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
  module ActiveModel
4
4
  class Serializer
5
- class ScopeTest < Minitest::Test
5
+ class ScopeTest < ActiveRecord::TestCase
6
6
  def setup
7
7
  @serializer = ProfileSerializer.new(nil, scope: current_user)
8
8
  end
@@ -17,33 +17,5 @@ module ActiveModel
17
17
  'user'
18
18
  end
19
19
  end
20
-
21
- class NestedScopeTest < Minitest::Test
22
- def setup
23
- @association = UserSerializer._associations[:profile]
24
- @old_association = @association.dup
25
- @user = User.new({ name: 'Name 1', email: 'mail@server.com', gender: 'M' })
26
- @user_serializer = UserSerializer.new(@user, scope: 'user')
27
- end
28
-
29
- def teardown
30
- UserSerializer._associations[:profile] = @old_association
31
- end
32
-
33
- def test_scope_passed_through
34
- @association.serializer_from_options = Class.new(Serializer) do
35
- def name
36
- scope
37
- end
38
-
39
- attributes :name
40
- end
41
-
42
- assert_equal({
43
- name: 'Name 1', email: 'mail@server.com', profile: { name: 'user' }
44
- }, @user_serializer.serializable_hash)
45
- end
46
- end
47
-
48
20
  end
49
21
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_model_serializers_rails_2.3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0.alpha1
5
- prerelease: 6
4
+ version: 0.9.0.pre1
6
5
  platform: ruby
7
6
  authors:
8
7
  - José Valim
@@ -11,12 +10,11 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2014-02-28 00:00:00.000000000 Z
13
+ date: 2013-11-04 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: rails
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
19
  - - ~>
22
20
  - !ruby/object:Gem::Version
@@ -24,7 +22,6 @@ dependencies:
24
22
  type: :development
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
25
  requirements:
29
26
  - - ~>
30
27
  - !ruby/object:Gem::Version
@@ -44,12 +41,11 @@ files:
44
41
  - DESIGN.textile
45
42
  - MIT-LICENSE
46
43
  - lib/active_model/array_serializer.rb
44
+ - lib/active_model/as_json_overrides.rb
47
45
  - lib/active_model/default_serializer.rb
48
46
  - lib/active_model/serializable.rb
49
47
  - lib/active_model/serializer/associations.rb
50
48
  - lib/active_model/serializer/config.rb
51
- - lib/active_model/serializer/generators/serializer/scaffold_controller_generator.rb
52
- - lib/active_model/serializer/generators/serializer/templates/controller.rb
53
49
  - lib/active_model/serializer/railtie.rb
54
50
  - lib/active_model/serializer/version.rb
55
51
  - lib/active_model/serializer.rb
@@ -64,10 +60,8 @@ files:
64
60
  - test/unit/active_model/array_serializer/meta_test.rb
65
61
  - test/unit/active_model/array_serializer/root_test.rb
66
62
  - test/unit/active_model/array_serializer/scope_test.rb
67
- - test/unit/active_model/array_serializer/serialization_test.rb
63
+ - test/unit/active_model/array_serializer/serialize_test.rb
68
64
  - test/unit/active_model/default_serializer_test.rb
69
- - test/unit/active_model/serializer/associations/build_serializer_test.rb
70
- - test/unit/active_model/serializer/associations_test.rb
71
65
  - test/unit/active_model/serializer/attributes_test.rb
72
66
  - test/unit/active_model/serializer/config_test.rb
73
67
  - test/unit/active_model/serializer/filter_test.rb
@@ -76,30 +70,29 @@ files:
76
70
  - test/unit/active_model/serializer/meta_test.rb
77
71
  - test/unit/active_model/serializer/root_test.rb
78
72
  - test/unit/active_model/serializer/scope_test.rb
79
- homepage: https://github.com/rails-api/active_model_serializers
73
+ homepage: https://github.com/fivetanley/active_model_serializers_rails/tree/rails-2.3
80
74
  licenses:
81
75
  - MIT
76
+ metadata: {}
82
77
  post_install_message:
83
78
  rdoc_options: []
84
79
  require_paths:
85
80
  - lib
86
81
  required_ruby_version: !ruby/object:Gem::Requirement
87
- none: false
88
82
  requirements:
89
- - - ! '>='
83
+ - - '>='
90
84
  - !ruby/object:Gem::Version
91
85
  version: 1.9.3
92
86
  required_rubygems_version: !ruby/object:Gem::Requirement
93
- none: false
94
87
  requirements:
95
- - - ! '>'
88
+ - - '>'
96
89
  - !ruby/object:Gem::Version
97
90
  version: 1.3.1
98
91
  requirements: []
99
92
  rubyforge_project:
100
- rubygems_version: 1.8.23
93
+ rubygems_version: 2.0.3
101
94
  signing_key:
102
- specification_version: 3
95
+ specification_version: 4
103
96
  summary: Bringing consistency and object orientation to model serialization. Works
104
97
  great for client-side MVC frameworks!
105
98
  test_files:
@@ -112,10 +105,8 @@ test_files:
112
105
  - test/unit/active_model/array_serializer/meta_test.rb
113
106
  - test/unit/active_model/array_serializer/root_test.rb
114
107
  - test/unit/active_model/array_serializer/scope_test.rb
115
- - test/unit/active_model/array_serializer/serialization_test.rb
108
+ - test/unit/active_model/array_serializer/serialize_test.rb
116
109
  - test/unit/active_model/default_serializer_test.rb
117
- - test/unit/active_model/serializer/associations/build_serializer_test.rb
118
- - test/unit/active_model/serializer/associations_test.rb
119
110
  - test/unit/active_model/serializer/attributes_test.rb
120
111
  - test/unit/active_model/serializer/config_test.rb
121
112
  - test/unit/active_model/serializer/filter_test.rb
@@ -124,4 +115,3 @@ test_files:
124
115
  - test/unit/active_model/serializer/meta_test.rb
125
116
  - test/unit/active_model/serializer/root_test.rb
126
117
  - test/unit/active_model/serializer/scope_test.rb
127
- has_rdoc:
@@ -1,14 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/rails/scaffold_controller/scaffold_controller_generator'
3
-
4
- module Rails
5
- module Generators
6
- class ScaffoldControllerGenerator
7
- if Rails::VERSION::MAJOR >= 4
8
- source_root File.expand_path('../templates', __FILE__)
9
-
10
- hook_for :serializer, default: true
11
- end
12
- end
13
- end
14
- end
@@ -1,93 +0,0 @@
1
- <% if namespaced? -%>
2
- require_dependency "<%= namespaced_file_path %>/application_controller"
3
-
4
- <% end -%>
5
- <% module_namespacing do -%>
6
- class <%= controller_class_name %>Controller < ApplicationController
7
- before_action :set_<%= singular_table_name %>, only: [:show, :edit, :update, :destroy]
8
-
9
- # GET <%= route_url %>
10
- # GET <%= route_url %>.json
11
- def index
12
- @<%= plural_table_name %> = <%= orm_class.all(class_name) %>
13
-
14
- respond_to do |format|
15
- format.html # index.html.erb
16
- format.json { render json: <%= "@#{plural_table_name}" %> }
17
- end
18
- end
19
-
20
- # GET <%= route_url %>/1
21
- # GET <%= route_url %>/1.json
22
- def show
23
- respond_to do |format|
24
- format.html # show.html.erb
25
- format.json { render json: <%= "@#{singular_table_name}" %> }
26
- end
27
- end
28
-
29
- # GET <%= route_url %>/new
30
- def new
31
- @<%= singular_table_name %> = <%= orm_class.build(class_name) %>
32
- end
33
-
34
- # GET <%= route_url %>/1/edit
35
- def edit
36
- end
37
-
38
- # POST <%= route_url %>
39
- # POST <%= route_url %>.json
40
- def create
41
- @<%= singular_table_name %> = <%= orm_class.build(class_name, "#{singular_table_name}_params") %>
42
-
43
- respond_to do |format|
44
- if @<%= orm_instance.save %>
45
- format.html { redirect_to @<%= singular_table_name %>, notice: <%= "'#{human_name} was successfully created.'" %> }
46
- format.json { render json: <%= "@#{singular_table_name}" %>, status: :created }
47
- else
48
- format.html { render action: 'new' }
49
- format.json { render json: <%= "@#{orm_instance.errors}" %>, status: :unprocessable_entity }
50
- end
51
- end
52
- end
53
-
54
- # PATCH/PUT <%= route_url %>/1
55
- # PATCH/PUT <%= route_url %>/1.json
56
- def update
57
- respond_to do |format|
58
- if @<%= orm_instance.update("#{singular_table_name}_params") %>
59
- format.html { redirect_to @<%= singular_table_name %>, notice: <%= "'#{human_name} was successfully updated.'" %> }
60
- format.json { head :no_content }
61
- else
62
- format.html { render action: 'edit' }
63
- format.json { render json: <%= "@#{orm_instance.errors}" %>, status: :unprocessable_entity }
64
- end
65
- end
66
- end
67
-
68
- # DELETE <%= route_url %>/1
69
- # DELETE <%= route_url %>/1.json
70
- def destroy
71
- @<%= orm_instance.destroy %>
72
- respond_to do |format|
73
- format.html { redirect_to <%= index_helper %>_url }
74
- format.json { head :no_content }
75
- end
76
- end
77
-
78
- private
79
- # Use callbacks to share common setup or constraints between actions.
80
- def set_<%= singular_table_name %>
81
- @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
82
- end
83
-
84
- # Never trust parameters from the scary internet, only allow the white list through.
85
- def <%= "#{singular_table_name}_params" %>
86
- <%- if attributes_names.empty? -%>
87
- params[<%= ":#{singular_table_name}" %>]
88
- <%- else -%>
89
- params.require(<%= ":#{singular_table_name}" %>).permit(<%= attributes_names.map { |name| ":#{name}" }.join(', ') %>)
90
- <%- end -%>
91
- end
92
- end
93
- <% end -%>