Sha256: 316f0a5bf162e2cb3934ba820d8088ee757210744dda3842eff2115d7e540687
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
module Rails module Generators class SerializerGenerator < NamedBase source_root File.expand_path("../templates", __FILE__) check_class_collision :suffix => "Serializer" argument :attributes, :type => :array, :default => [], :banner => "field:type field:type" class_option :parent, :type => :string, :desc => "The parent class for the generated serializer" def create_serializer_file template 'serializer.rb', File.join('app/serializers', class_path, "#{file_name}_serializer.rb") end # hook_for :test_framework private def attributes_names attributes.select { |attr| !attr.reference? }.map { |a| a.name.to_sym } end def association_names attributes.select { |attr| attr.reference? }.map { |a| a.name.to_sym } end def parent_class_name if options[:parent] options[:parent] # Only works on 3.2 # elsif (n = Rails::Generators.namespace) && n.const_defined?(:ApplicationSerializer) # "ApplicationSerializer" elsif Object.const_defined?(:ApplicationSerializer) "ApplicationSerializer" else "ActiveModel::Serializer" end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_model_serializers-0.1.0 | lib/generators/serializer/serializer_generator.rb |