Sha256: 258e32286f5a063304f5b0682e004e921944f74c9f966d1edf38bdef6c3b6a4a
Contents?: true
Size: 1.88 KB
Versions: 1
Compression:
Stored size: 1.88 KB
Contents
# encoding: utf-8 require 'rails/generators' require 'find' module Backbone class NamespaceGenerator < Rails::Generators::Base source_root File.expand_path('../templates', __FILE__) desc "Setup a Backbone namespace" argument :raw_namespace, :type => :string, :required => true def setup_dir_structure Dir.glob(File.join(source_paths, "**/.gitkeep")) do |keep_path| template keep_path, keep_path.gsub(/^.*backbone\/templates\//, "") end # build and require a namespace initializer template "app/assets/javascripts/%namespace%.coffee.tt", "app/assets/javascripts/%namespace%.coffee" path = File.join(destination_root, 'app/assets/javascripts/application.js') content =( if behavior == :revoke # destroy File.read(path).sub(/\/\/= require \.\/#{namespace}\n/, '') else File.read(path).sub(/(^\/\/[\S| ]*\n)([^\/])/) do |match| "#{match.strip}\n//= require ./#{namespace}\n\n" end end ) File.open(path, 'wb') { |file| file.write(content) } say_status :gsub, 'app/assets/javascripts/application.js' end def print_tree tree = <<-TREE app/assets/javascripts/dashboard │ ├── collections │ ├── models │ ├── routes │ ├── templates │ └── views └── dashboard.coffee spec/javascripts/dashboard/ ├── collections ├── factories ├── models └── views TREE say tree.gsub(/dashboard/, namespace).gsub(/widget/, model_name) end def namespace(classify=false) style = classify ? :camelize : :underscore raw_namespace.send(style) end def model_name(classify=false); '__delte__' ;end def collection_name(classify=false); '__delte__' ;end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails-backbone-generator-0.0.3 | lib/generators/backbone/namespace_generator.rb |