Top Level Namespace

Defined Under Namespace

Modules: Kernel, Waves Classes: Cassy, Float, Hash, Integer, Module, Object, String, Symbol, Tempfile, Time

Instance Method Summary collapse

Methods included from Waves::Foundations::REST::ConvenienceMethods

#application, #resource

Instance Method Details

#app_nameObject

Helper methods



37
38
39
# File 'lib/waves/tasks/generate.rb', line 37

def app_name
  ( ENV['app'] || Dir.pwd.split('/').last ).camel_case
end

#basetask(str) ⇒ Object

Rake only pretends to namespace tasks, so to get what we think of as the task name, you must split and grab.



58
59
60
# File 'lib/waves/tasks/generate.rb', line 58

def basetask(str)
  str.split(":").last
end

#class_template(app_name, place, class_name) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
# File 'lib/waves/tasks/generate.rb', line 62

def class_template(app_name, place, class_name)
  str = <<TEXT
module #{app_name}
  module #{place}
    class #{class_name} < Default

    end
  end
end
TEXT
end

#constant_nameObject



41
42
43
44
45
# File 'lib/waves/tasks/generate.rb', line 41

def constant_name
  str = ENV['name'].camel_case
  raise "Cannot generate Default yet" if str == 'Default'
  str
end

#filename(kind) ⇒ Object



47
48
49
50
51
52
53
54
# File 'lib/waves/tasks/generate.rb', line 47

def filename( kind )
  path = File.expand_path "#{kind}/#{ENV['name'].snake_case}.rb"
  if File.exist?(path)
    $stderr.puts "  Problem encountered:\n  #{path} already exists"
    exit
  end
  path
end

#module_template(app_name, place, module_name, &block) ⇒ Object

This method expects its block to return something usable as a string.



75
76
77
78
79
80
81
82
83
84
85
# File 'lib/waves/tasks/generate.rb', line 75

def module_template(app_name, place, module_name, &block)
  str = <<TEXT
module #{app_name}
  module #{place}
    module #{module_name}
      #{block.call if block}
    end
  end
end
TEXT
end