Class: CoffeescriptGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/coffeescript/coffeescript_generator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#namespaceObject (readonly)

Returns the value of attribute namespace.



11
12
13
# File 'lib/generators/coffeescript/coffeescript_generator.rb', line 11

def namespace
  @namespace
end

Instance Method Details

#copy_template_fileObject



13
14
15
16
17
18
# File 'lib/generators/coffeescript/coffeescript_generator.rb', line 13

def copy_template_file
  @namespace = class_name.split("::")
  @namespace.pop
  @namespace = @namespace.join("::")
  template "coffeescript.coffee.erb", file_path
end

#file_pathObject (private)



26
27
28
# File 'lib/generators/coffeescript/coffeescript_generator.rb', line 26

def file_path
  Rails.root.join("app/javascript/packs", namespace_path, "#{file_name}.coffee")
end

#function_nameObject (private)



22
23
24
# File 'lib/generators/coffeescript/coffeescript_generator.rb', line 22

def function_name
  file_name.camelize(:lower)
end

#namespace_pathObject (private)



30
31
32
33
34
35
36
# File 'lib/generators/coffeescript/coffeescript_generator.rb', line 30

def namespace_path
  if namespace.blank?
    return ""
  else
    namespace.split("::").map(&:underscore).join("/") + "/"
  end
end

#singular_nameObject (private)



38
39
40
# File 'lib/generators/coffeescript/coffeescript_generator.rb', line 38

def singular_name
  super.singularize
end