Skip to content

Commit ed93270

Browse files
authored
Merge pull request #98 from alsemyonov/master
Teach generator to respect namespaces
2 parents 14a9421 + 23b4354 commit ed93270

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

lib/generators/jsonapi/serializable/serializable_generator.rb

+10-2
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,26 @@ class SerializableGenerator < ::Rails::Generators::NamedBase
88
def copy_serializable_file
99
template 'serializable.rb.erb',
1010
File.join('app/serializable', class_path,
11-
"serializable_#{file_name}.rb")
11+
"#{serializable_file_name}.rb")
1212
end
1313

1414
private
1515

16+
def serializable_file_name
17+
"serializable_#{file_name}"
18+
end
19+
20+
def serializable_class_name
21+
(class_path + [serializable_file_name]).map!(&:camelize).join("::")
22+
end
23+
1624
def model_klass
1725
# TODO(beauby): Ensure the model class exists.
1826
class_name.safe_constantize
1927
end
2028

2129
def type
22-
model_klass.name.underscore.pluralize
30+
model_klass.model_name.plural
2331
end
2432

2533
def attr_names

lib/generators/jsonapi/serializable/templates/serializable.rb.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<% module_namespacing do -%>
2-
class Serializable<%= class_name %> < JSONAPI::Serializable::Resource
2+
class <%= serializable_class_name %> < JSONAPI::Serializable::Resource
33
type '<%= type %>'
44
<% attr_names.each do |attr| -%>
55
attribute :<%= attr %>

0 commit comments

Comments
 (0)