Class: Securial::Generators::JbuilderGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/securial/jbuilder/jbuilder_generator.rb

Instance Method Summary collapse

Instance Method Details

#attributes_namesObject (private)



18
19
20
# File 'lib/generators/securial/jbuilder/jbuilder_generator.rb', line 18

def attributes_names
  attributes.map(&:name)
end

#create_index_fileObject (private)



28
29
30
31
32
# File 'lib/generators/securial/jbuilder/jbuilder_generator.rb', line 28

def create_index_file
  @index_path_name = File.join(view_path, "index.json.jbuilder")
  say_status(status_behavior, "  #{@index_path_name}", status_color) unless Rails.env.test?
  template "index.json.erb", @index_path_name, verbose: false
end

#create_resource_fileObject (private)



22
23
24
25
26
# File 'lib/generators/securial/jbuilder/jbuilder_generator.rb', line 22

def create_resource_file
  @resource_path_name = File.join(view_path, "_#{singular_table_name}.json.jbuilder")
  say_status(status_behavior, "  #{@resource_path_name}", status_color) unless Rails.env.test?
  template "_resource.json.erb", @resource_path_name, verbose: false
end

#create_show_fileObject (private)



34
35
36
37
38
# File 'lib/generators/securial/jbuilder/jbuilder_generator.rb', line 34

def create_show_file
  @show_path_name = File.join(view_path, "show.json.jbuilder")
  say_status(status_behavior, "  #{@show_path_name}", status_color) unless Rails.env.test?
  template "show.json.erb", @show_path_name, verbose: false
end

#create_view_filesObject



10
11
12
13
14
# File 'lib/generators/securial/jbuilder/jbuilder_generator.rb', line 10

def create_view_files
  create_resource_file
  create_index_file
  create_show_file
end

#status_behaviorObject (private)



45
46
47
# File 'lib/generators/securial/jbuilder/jbuilder_generator.rb', line 45

def status_behavior
  behavior == :invoke ? :create : :remove
end

#status_colorObject (private)



49
50
51
# File 'lib/generators/securial/jbuilder/jbuilder_generator.rb', line 49

def status_color
  behavior == :invoke ? :green : :red
end

#view_pathObject (private)



40
41
42
43
# File 'lib/generators/securial/jbuilder/jbuilder_generator.rb', line 40

def view_path
  base_path = Rails.env.test? ? Rails.root.join("tmp/app/views/securial").to_s : "app/views/securial"
  @view_path ||= File.join(base_path, name.pluralize.downcase)
end