backbone-generators 0.01
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/assets/javascripts/backbone.js +1011 -0
- data/assets/javascripts/json2.js +483 -0
- data/assets/javascripts/underscore.js +807 -0
- data/bin/backbone +9 -0
- data/lib/generators.rb +88 -0
- metadata +70 -0
data/bin/backbone
ADDED
data/lib/generators.rb
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
require 'active_support/inflector'
|
|
2
|
+
|
|
3
|
+
module Backbone
|
|
4
|
+
|
|
5
|
+
class << self
|
|
6
|
+
@root
|
|
7
|
+
|
|
8
|
+
def root=(val)
|
|
9
|
+
@root = val
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def root
|
|
13
|
+
@root
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Generators
|
|
18
|
+
|
|
19
|
+
def initialize(*args)
|
|
20
|
+
|
|
21
|
+
if args[0][0] == 'init'
|
|
22
|
+
copy_core_js
|
|
23
|
+
create_mvc_dirs
|
|
24
|
+
elsif args[0][0] == 'generate' || args[0][0] == 'g'
|
|
25
|
+
parse_backbone_string(args[0][1], args[0][2])
|
|
26
|
+
else
|
|
27
|
+
puts "Usage:"
|
|
28
|
+
puts "\tbackbone init"
|
|
29
|
+
puts "\tbackbone g controller my_controller"
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def parse_backbone_string(_folder, _file)
|
|
34
|
+
folder = _folder.pluralize
|
|
35
|
+
file = _file+("_#{folder.singularize}")
|
|
36
|
+
|
|
37
|
+
file.concat('.coffee') unless file =~ /.coffee$/
|
|
38
|
+
create_file("app/coffeescripts/#{folder}/#{file}", true)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def copy_core_js
|
|
42
|
+
|
|
43
|
+
copy_file_and_log([['assets/javascripts/backbone.js', 'public/javascripts/'],
|
|
44
|
+
['assets/javascripts/underscore.js', 'public/javascripts/'],
|
|
45
|
+
['assets/javascripts/json2.js', 'public/javascripts/']])
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def create_mvc_dirs
|
|
49
|
+
create_dir([
|
|
50
|
+
"public/javascripts/controllers",
|
|
51
|
+
"public/javascripts/models",
|
|
52
|
+
"public/javascripts/views",
|
|
53
|
+
"public/javascripts/collections"], true)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
protected
|
|
57
|
+
|
|
58
|
+
def copy_file_and_log(file, dest=nil)
|
|
59
|
+
if file.is_a?(Array)
|
|
60
|
+
file.each {|val| copy_file_and_log(val[0], val[1])}
|
|
61
|
+
else
|
|
62
|
+
FileUtils.cp(File.join(Backbone.root, file), dest)
|
|
63
|
+
puts "\t copied file #{file} to #{dest}"
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def create_file(file, log)
|
|
68
|
+
if file.is_a?(Array)
|
|
69
|
+
file.each {|val|create_file(file, log)}
|
|
70
|
+
else
|
|
71
|
+
create_dir(File.dirname(file), false)
|
|
72
|
+
FileUtils.touch(file)
|
|
73
|
+
puts "\t created file #{file}" if !!log
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def create_dir(url, log)
|
|
78
|
+
if url.is_a?(Array)
|
|
79
|
+
url.each {|val| create_dir(val)}
|
|
80
|
+
else
|
|
81
|
+
FileUtils.mkdir_p(url)
|
|
82
|
+
puts "\t created directory #{url}" if !!log
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: backbone-generators
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
prerelease:
|
|
5
|
+
version: "0.01"
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Hamish Evans
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
|
|
13
|
+
date: 2011-05-25 00:00:00 +12:00
|
|
14
|
+
default_executable:
|
|
15
|
+
dependencies:
|
|
16
|
+
- !ruby/object:Gem::Dependency
|
|
17
|
+
name: jammit
|
|
18
|
+
prerelease: false
|
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
20
|
+
none: false
|
|
21
|
+
requirements:
|
|
22
|
+
- - ">="
|
|
23
|
+
- !ruby/object:Gem::Version
|
|
24
|
+
version: "0"
|
|
25
|
+
type: :runtime
|
|
26
|
+
version_requirements: *id001
|
|
27
|
+
description: A collection of handy generators for backbone js. Currently the generators only support the rails file system.
|
|
28
|
+
email: hamish@gizbo.net
|
|
29
|
+
executables:
|
|
30
|
+
- backbone
|
|
31
|
+
extensions: []
|
|
32
|
+
|
|
33
|
+
extra_rdoc_files: []
|
|
34
|
+
|
|
35
|
+
files:
|
|
36
|
+
- lib/generators.rb
|
|
37
|
+
- assets/javascripts/backbone.js
|
|
38
|
+
- assets/javascripts/json2.js
|
|
39
|
+
- assets/javascripts/underscore.js
|
|
40
|
+
- bin/backbone
|
|
41
|
+
has_rdoc: true
|
|
42
|
+
homepage: https://github.com/ruby-fu-ninja/backbone-generators
|
|
43
|
+
licenses: []
|
|
44
|
+
|
|
45
|
+
post_install_message:
|
|
46
|
+
rdoc_options: []
|
|
47
|
+
|
|
48
|
+
require_paths:
|
|
49
|
+
- lib
|
|
50
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
51
|
+
none: false
|
|
52
|
+
requirements:
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: "0"
|
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: "0"
|
|
62
|
+
requirements: []
|
|
63
|
+
|
|
64
|
+
rubyforge_project:
|
|
65
|
+
rubygems_version: 1.5.2
|
|
66
|
+
signing_key:
|
|
67
|
+
specification_version: 3
|
|
68
|
+
summary: A collection of handy generators for backbone js. Currently the generators only support the rails file system.
|
|
69
|
+
test_files: []
|
|
70
|
+
|