easy_gen 1.5.1 → 1.6.0
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.
- checksums.yaml +4 -4
- data/lib/easy_gen/null/null_generator.rb +0 -2
- data/lib/easy_gen/serializer/USAGE +14 -0
- data/lib/easy_gen/serializer/serializer_generator.rb +25 -0
- data/lib/easy_gen/serializer/templates/application_serializer.rb.tt +22 -0
- data/lib/easy_gen/serializer/templates/serializer.rb.tt +3 -0
- data/lib/easy_gen/serializer/templates/serializer_test.rb.tt +32 -0
- data/lib/easy_gen/version.rb +1 -1
- metadata +6 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 704dd52bb44c930196671167649dcaad74f1db4a643a15b37089de0ed6c063c1
|
4
|
+
data.tar.gz: cbb167f75520b3572f09b58e57f37728edb058cca74e05ac2c215078e714d6f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2b522d66b5b4a5f3b3f62d213ee104e20a433818986e55f3fdf856a444bea52fe7473ad26ee8b188c6fc2a3ca09116151204b9aa1986d941d6128dc26aee25d
|
7
|
+
data.tar.gz: 210b48f4eeda121cec5d6adecb1035183643c14cfa13a9187f3182da5ffe1bc7bb74850b2ea424661a4129543bc06717152f28651939777864b9f613ef1ee91c
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Description:
|
2
|
+
Lays out a new serializers object under /app/serializers, with a test file under /test/serializers.
|
3
|
+
The null value class will inherit from /app/serializers/application_serializer.rb class which will be created.
|
4
|
+
if you use the generator to delete null classes, these will be removed together with directories once
|
5
|
+
the count of non abstract classes == 0.
|
6
|
+
|
7
|
+
Example:
|
8
|
+
`rails generate serializer MySerializer`
|
9
|
+
|
10
|
+
This will create:
|
11
|
+
app/serializers/application_serializer.rb
|
12
|
+
app/serializers/my_serializer.rb
|
13
|
+
test/serializers/my_serializer_test.rb
|
14
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rails/all'
|
2
|
+
require 'rails/generators'
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
template_dir = File.expand_path('templates', __dir__)
|
6
|
+
|
7
|
+
class SerializerGenerator < Rails::Generators::NamedBase
|
8
|
+
include EasyGenGenerator
|
9
|
+
# bundle exec rails g null MyModel
|
10
|
+
# bundle exec rails d null MyModel
|
11
|
+
|
12
|
+
LOCATION = "serializers"
|
13
|
+
TYPE = "serializer"
|
14
|
+
|
15
|
+
source_root File.expand_path("templates", __dir__)
|
16
|
+
|
17
|
+
class_option :module, type: :string
|
18
|
+
|
19
|
+
def main
|
20
|
+
copy_templates
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Or consider this..
|
2
|
+
# $ bundle add jserializer
|
3
|
+
#
|
4
|
+
#class ApplicationSerializer < Jserializer::Base
|
5
|
+
# attributes :data
|
6
|
+
#
|
7
|
+
# def some_value
|
8
|
+
# object.some_value.somewhere
|
9
|
+
# end
|
10
|
+
#end
|
11
|
+
|
12
|
+
# dumb coder..
|
13
|
+
class ApplicationSerializer
|
14
|
+
|
15
|
+
def load(data)
|
16
|
+
@data = data || {}
|
17
|
+
end
|
18
|
+
|
19
|
+
def dump
|
20
|
+
@data || {}
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class <%= module_prefix %><%= class_name %>SerlializerTest < ActiveSupport::TestCase
|
4
|
+
setup do
|
5
|
+
@serializer = <%= module_prefix %><%= class_name %>Serializer.new
|
6
|
+
@data = "The data"
|
7
|
+
end
|
8
|
+
|
9
|
+
test 'it is empty on initialization' do
|
10
|
+
assert <%= module_prefix %><%= class_name %>Serializer.new.dump == {}
|
11
|
+
end
|
12
|
+
|
13
|
+
test 'it loads data' do
|
14
|
+
assert @serializer.load(@data)
|
15
|
+
end
|
16
|
+
|
17
|
+
test 'it dumps data' do
|
18
|
+
assert_not_nil @serializer.dump
|
19
|
+
end
|
20
|
+
|
21
|
+
test 'it maintains original data' do
|
22
|
+
@serializer.load(@data)
|
23
|
+
assert_equal @serializer.dump, @data
|
24
|
+
end
|
25
|
+
|
26
|
+
test 'it replaces data' do
|
27
|
+
assert @serializer.load("Rubbish")
|
28
|
+
assert_equal @serializer.dump, "Rubbish"
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
data/lib/easy_gen/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easy_gen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Stearn
|
@@ -32,6 +32,11 @@ files:
|
|
32
32
|
- lib/easy_gen/null/templates/null.rb.tt
|
33
33
|
- lib/easy_gen/null/templates/null_test.rb.tt
|
34
34
|
- lib/easy_gen/railtie.rb
|
35
|
+
- lib/easy_gen/serializer/USAGE
|
36
|
+
- lib/easy_gen/serializer/serializer_generator.rb
|
37
|
+
- lib/easy_gen/serializer/templates/application_serializer.rb.tt
|
38
|
+
- lib/easy_gen/serializer/templates/serializer.rb.tt
|
39
|
+
- lib/easy_gen/serializer/templates/serializer_test.rb.tt
|
35
40
|
- lib/easy_gen/service/USAGE
|
36
41
|
- lib/easy_gen/service/service_generator.rb
|
37
42
|
- lib/easy_gen/service/templates/application_service.rb.tt
|