xmvc 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +0 -1
- data/VERSION +1 -1
- data/lib/xmvc/builder.rb +29 -52
- data/lib/xmvc/builders/vendor.rb +89 -0
- data/lib/xmvc/cli.rb +13 -4
- data/lib/xmvc/environment.rb +4 -4
- data/lib/xmvc/generator.rb +12 -3
- data/lib/xmvc/generators/app.rb +1 -24
- data/lib/xmvc/generators/boot.rb +41 -17
- data/lib/xmvc/generators/templates/app/public/config/environment.yml +12 -0
- data/lib/xmvc/generators/templates/app/public/vendor/screw-unit/vendor.yml +12 -0
- data/lib/xmvc/ui.rb +55 -0
- data/lib/xmvc.rb +55 -3
- data/xmvc.gemspec +4 -4
- metadata +7 -19
data/Rakefile
CHANGED
@@ -16,7 +16,6 @@ begin
|
|
16
16
|
gem.add_dependency "jammit-core", ">=0.1.0"
|
17
17
|
gem.add_dependency "whorm", ">=0.1.0"
|
18
18
|
gem.add_dependency "hpricot", ">=0.8.2"
|
19
|
-
gem.add_dependency "extjs-mvc", ">=0.4.0.a"
|
20
19
|
|
21
20
|
gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
|
22
21
|
# gem.files = FileList["[A-Z]*", "{bin,generators,lib,test}/**/*", 'lib/jeweler/templates/.gitignore']
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/lib/xmvc/builder.rb
CHANGED
@@ -1,57 +1,34 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
1
2
|
module Xmvc
|
2
|
-
class
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def setup(options)
|
23
|
-
begin
|
24
|
-
##
|
25
|
-
# Invoke jammit init app-name so that Jammit creates it's config/assets.yml
|
26
|
-
# Note that we must pass-in the name of the newly created app @name so that
|
27
|
-
# Jammit appends that to its config_path, otherwise it would create its config file
|
28
|
-
# in the pwd.
|
29
|
-
@asset_root = options[:asset_root] || File.expand_path('.')
|
30
|
-
|
31
|
-
javascripts = {
|
32
|
-
"application" => application_assets("javascripts", options[:application])
|
33
|
-
}
|
34
|
-
options[:vendors].each do |vendor|
|
35
|
-
javascripts.update(vendor["name"] => vendor_assets("javascripts", vendor))
|
36
|
-
end
|
37
|
-
|
38
|
-
jammit = Xmvc.asset_mgr(options)
|
39
|
-
jammit.invoke(:init)
|
40
|
-
jammit.invoke(:config, ["set", "javascripts", javascripts])
|
41
|
-
jammit.invoke(:build)
|
42
|
-
|
43
|
-
rescue Jammit::Error => e
|
44
|
-
raise Xmvc::BuilderError.new(e.message)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
def vendor_assets(type, vendor)
|
49
|
-
vendor[type].map {|f| File.join("vendor", vendor["name"], f) }
|
50
|
-
end
|
3
|
+
class Builder < Thor
|
4
|
+
|
5
|
+
autoload :Vendor, 'builders/vendor'
|
6
|
+
|
7
|
+
include Thor::Actions
|
8
|
+
|
9
|
+
desc "all", "Build all assets"
|
10
|
+
def all(*params)
|
11
|
+
Xmvc.ui.warn('build all assets with sprcokets')
|
12
|
+
sec = Sprockets::Secretary.new({
|
13
|
+
:source_files => Xmvc.environment.get("javascripts")
|
14
|
+
})
|
15
|
+
create_file("public/javascripts/app/app-all-debug.js", sec.concatenation)
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "setup", "Initialize config file"
|
19
|
+
def setup
|
20
|
+
Xmvc.ui.warn("Builder setup")
|
51
21
|
|
52
|
-
|
53
|
-
|
54
|
-
|
22
|
+
Xmvc.secretary = Sprockets::Secretary.new({})
|
23
|
+
Xmvc.public_path = File.expand_path("public")
|
24
|
+
host = Vendor.new([], {
|
25
|
+
:debug => true
|
26
|
+
})
|
27
|
+
host.invoke("app", [Xmvc.environment])
|
55
28
|
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
|
56
33
|
end
|
57
34
|
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
module Xmvc
|
2
|
+
class Builder
|
3
|
+
class Vendor < Thor
|
4
|
+
include Thor::Actions
|
5
|
+
|
6
|
+
def self.source_root
|
7
|
+
Xmvc.public_path
|
8
|
+
end
|
9
|
+
|
10
|
+
desc "app", "Build application-host's assets"
|
11
|
+
def app(environment)
|
12
|
+
pkgs = []
|
13
|
+
each_vendor do |vendor|
|
14
|
+
builder = Vendor.new([], {})
|
15
|
+
builder.invoke("build", [vendor, pkgs])
|
16
|
+
end
|
17
|
+
|
18
|
+
Xmvc.secretary.reset!({
|
19
|
+
:source_files => environment.get("javascripts")
|
20
|
+
})
|
21
|
+
|
22
|
+
filename = Xmvc.public_build_path(:js, "app", nil, "debug")
|
23
|
+
create_file(filename, Xmvc.secretary.concatenation)
|
24
|
+
|
25
|
+
pkgs << {
|
26
|
+
:vendor => :host,
|
27
|
+
:filename => filename,
|
28
|
+
:source_files => Xmvc.secretary.preprocessor.source_files
|
29
|
+
}
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "build", "Build a vendor's assets"
|
34
|
+
def build(spec, pkgs=[])
|
35
|
+
if spec["dependencies"]
|
36
|
+
spec["dependencies"].each do |vendor|
|
37
|
+
each_vendor do |vspec|
|
38
|
+
builder = Vendor.new([], {})
|
39
|
+
builder.invoke("build", [vspec, pkgs])
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
Xmvc.secretary.reset!({
|
45
|
+
:source_files => spec["javascripts"]
|
46
|
+
})
|
47
|
+
|
48
|
+
filename = Xmvc.public_build_path(:js, spec["name"], spec["version"], "debug")
|
49
|
+
|
50
|
+
create_file(filename, Xmvc.secretary.concatenation)
|
51
|
+
pkgs << {
|
52
|
+
:vendor => spec,
|
53
|
+
:filename => filename,
|
54
|
+
:source_files => Xmvc.secretary.preprocessor.source_files
|
55
|
+
}
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
private
|
60
|
+
|
61
|
+
def each_vendor
|
62
|
+
vendors = []
|
63
|
+
Dir["vendor/*"].map {|vendor|
|
64
|
+
inside(vendor) do
|
65
|
+
if File.exists?("vendor.yml")
|
66
|
+
yield YAML.load_file("vendor.yml")
|
67
|
+
end
|
68
|
+
end
|
69
|
+
}
|
70
|
+
end
|
71
|
+
|
72
|
+
def vendor_assets(type, spec)
|
73
|
+
path = (spec["host"]) ? "#{spec['host']}/#{spec['name']}" : vendor_name(spec)
|
74
|
+
spec[type].map {|file|
|
75
|
+
File.join(path, file)
|
76
|
+
}
|
77
|
+
end
|
78
|
+
|
79
|
+
def vendor_name(spec)
|
80
|
+
(spec["version"]) ? "#{spec['name']}-#{spec['version']}" : spec['name']
|
81
|
+
end
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
data/lib/xmvc/cli.rb
CHANGED
@@ -9,6 +9,8 @@ module Xmvc
|
|
9
9
|
class CLI < Thor
|
10
10
|
ARGV = ::ARGV.dup
|
11
11
|
|
12
|
+
class_option :environment, :default => :development
|
13
|
+
|
12
14
|
desc "install", "Install a framework"
|
13
15
|
def install(path)
|
14
16
|
Xmvc.ui.confirm('Xmvc install')
|
@@ -16,15 +18,22 @@ module Xmvc
|
|
16
18
|
|
17
19
|
desc "generate", "Generate model, controller, view or app"
|
18
20
|
def generate(*params)
|
21
|
+
|
19
22
|
which = params.shift
|
20
23
|
Xmvc.ensure_in_app unless which == 'app'
|
21
|
-
Xmvc::Generator.dispatch(which, options, *params)
|
24
|
+
Xmvc::Generator.dispatch(which, options, *params)
|
25
|
+
|
26
|
+
puts "generate: #{options.to_yaml}"
|
27
|
+
Xmvc.environment.render
|
28
|
+
|
22
29
|
end
|
23
30
|
|
24
31
|
desc "build", "Build stuff"
|
25
32
|
def build(name = :all, *params)
|
26
33
|
Xmvc.ensure_in_app
|
27
|
-
Xmvc::
|
34
|
+
builder = Xmvc::Builder.new([], options.dup)
|
35
|
+
builder.invoke(name.to_sym, params)
|
36
|
+
#Xmvc::BuilderManager.dispatch(name, *params)
|
28
37
|
end
|
29
38
|
|
30
39
|
desc "plugin", "Manage plugins"
|
@@ -48,14 +57,14 @@ module Xmvc
|
|
48
57
|
def initialize(args=ARGV, config={}, options={})
|
49
58
|
|
50
59
|
# Boot UI
|
51
|
-
Xmvc.ui = shell
|
60
|
+
Xmvc.ui = UI::Shell.new(shell)
|
52
61
|
|
53
62
|
unless options[:host]
|
54
63
|
raise Xmvc::NoFramework.new("Xmvc is meant to be supplied with a framework extension, eg extjs-mvc, via Xmvc::CLI.start(ARGV, {:framework => Your::Framework})")
|
55
64
|
end
|
56
65
|
|
57
66
|
# Boot environment
|
58
|
-
Xmvc.environment = Xmvc::Environment.load(:
|
67
|
+
Xmvc.environment = Xmvc::Environment.load(options[:environment])
|
59
68
|
|
60
69
|
# Set the framework.
|
61
70
|
Xmvc.host = options[:host]
|
data/lib/xmvc/environment.rb
CHANGED
@@ -58,6 +58,10 @@ module Xmvc
|
|
58
58
|
}
|
59
59
|
end
|
60
60
|
|
61
|
+
def config
|
62
|
+
@config ||= load_environment(:development)
|
63
|
+
end
|
64
|
+
|
61
65
|
private
|
62
66
|
|
63
67
|
##
|
@@ -74,10 +78,6 @@ module Xmvc
|
|
74
78
|
end
|
75
79
|
end
|
76
80
|
|
77
|
-
def config
|
78
|
-
@config ||= load_environment(:development)
|
79
|
-
end
|
80
|
-
|
81
81
|
def save
|
82
82
|
File.open("#{DEFAULT_ENVIRONMENT}.yml", "w") {|file|
|
83
83
|
file << config.to_yaml
|
data/lib/xmvc/generator.rb
CHANGED
@@ -13,6 +13,7 @@ module Xmvc
|
|
13
13
|
GENERATORS = %w(app model controller scaffold view namespace)
|
14
14
|
|
15
15
|
def self.dispatch(generator, options, *params)
|
16
|
+
Xmvc.public_path = File.expand_path("./public")
|
16
17
|
|
17
18
|
unless GENERATORS.include?(generator)
|
18
19
|
raise MVC::ArgumentError.new("Must use one of the following: " + GENERATORS.join(", ").downcase)
|
@@ -20,9 +21,17 @@ module Xmvc
|
|
20
21
|
|
21
22
|
case generator
|
22
23
|
when "app"
|
23
|
-
|
24
|
-
|
25
|
-
|
24
|
+
options = options.dup
|
25
|
+
|
26
|
+
App.start(params, options)
|
27
|
+
|
28
|
+
Xmvc.public_path = File.expand_path("./public")
|
29
|
+
|
30
|
+
builder = Xmvc::Builder.new([], {})
|
31
|
+
packages = builder.invoke(:setup, [])
|
32
|
+
|
33
|
+
boot = Boot.new([], {})
|
34
|
+
boot.invoke(:generate, [packages])
|
26
35
|
|
27
36
|
when "model"
|
28
37
|
model = Model.new([], options.dup)
|
data/lib/xmvc/generators/app.rb
CHANGED
@@ -4,17 +4,6 @@ module Xmvc
|
|
4
4
|
|
5
5
|
include Thor::Actions
|
6
6
|
|
7
|
-
FRAMEWORK_ASSETS = [
|
8
|
-
'app/App.js',
|
9
|
-
'config/application.js',
|
10
|
-
'config/routes.js',
|
11
|
-
'vendor/plugins/*/**.js',
|
12
|
-
'overrides/*.js',
|
13
|
-
'app/models/*.js',
|
14
|
-
'app/controllers/*.js',
|
15
|
-
'app/views/*/**.js'
|
16
|
-
]
|
17
|
-
|
18
7
|
def self.source_root
|
19
8
|
File.join(Xmvc::TEMPLATE_PATH, "app", "public")
|
20
9
|
end
|
@@ -25,6 +14,7 @@ module Xmvc
|
|
25
14
|
def create_root
|
26
15
|
empty_directory(name)
|
27
16
|
self.destination_root = name
|
17
|
+
FileUtils.chdir(name)
|
28
18
|
end
|
29
19
|
|
30
20
|
def create_app
|
@@ -82,19 +72,6 @@ module Xmvc
|
|
82
72
|
# install vendor/plugins here
|
83
73
|
end
|
84
74
|
end
|
85
|
-
|
86
|
-
def build_assets
|
87
|
-
# Build assets.
|
88
|
-
Xmvc::BuilderManager.dispatch(:setup, {
|
89
|
-
:asset_root => destination_root,
|
90
|
-
:vendors => [
|
91
|
-
Xmvc.host.config
|
92
|
-
],
|
93
|
-
:application => FRAMEWORK_ASSETS
|
94
|
-
})
|
95
|
-
FileUtils.chdir(destination_root)
|
96
|
-
Xmvc.environment.render
|
97
|
-
end
|
98
75
|
end
|
99
76
|
end
|
100
77
|
end
|
data/lib/xmvc/generators/boot.rb
CHANGED
@@ -3,37 +3,61 @@ module Xmvc
|
|
3
3
|
class Boot < Thor
|
4
4
|
include Thor::Actions
|
5
5
|
|
6
|
+
class PathError < Xmvc::Error; status_code(10) ; end
|
7
|
+
|
6
8
|
def self.source_root
|
7
9
|
File.join(Xmvc::TEMPLATE_PATH)
|
8
10
|
end
|
9
11
|
|
10
12
|
desc "generate", "Generate the config/boot.js file"
|
11
|
-
def generate
|
13
|
+
def generate(packages)
|
12
14
|
|
13
15
|
host = Xmvc.host.config["name"]
|
16
|
+
@development = []
|
17
|
+
@production = []
|
18
|
+
@test = []
|
14
19
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
20
|
+
packages.each do |pkg|
|
21
|
+
if pkg[:vendor] == :host
|
22
|
+
pkg[:source_files].each do |file|
|
23
|
+
#@development << url_for_path(file.pathname.to_s)
|
24
|
+
end
|
25
|
+
@production << Xmvc.public_build_url(:js, "app")
|
26
|
+
else
|
27
|
+
spec = pkg[:vendor]
|
28
|
+
# No source-files generated but host defined? cachefly resources (ie: ext)?
|
29
|
+
if pkg[:source_files].empty? and spec["host"]
|
30
|
+
package = spec["name"].to_s
|
31
|
+
version = spec["version"].to_s
|
32
|
+
package += "-#{version}" unless version.empty?
|
33
|
+
spec["javascripts"].each do |file|
|
34
|
+
debug = file.gsub(/(\.js)/, "-debug.js")
|
35
|
+
#TODO Fix this hard-coded "-debug" hack for Ext cachefly resources.
|
36
|
+
@development << File.join(spec["host"], package, debug)
|
37
|
+
@production << File.join(spec["host"], package, file)
|
38
|
+
end
|
39
|
+
elsif pkg[:source_files].length
|
40
|
+
@development << Xmvc.public_build_url(:js, spec["name"], spec["version"], "debug")
|
41
|
+
@production << Xmvc.public_build_url(:js, spec["name"], spec["version"])
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
@test = @development
|
31
46
|
|
32
47
|
template("boot.js", "config/boot.js")
|
33
48
|
end
|
34
49
|
|
35
50
|
private
|
36
51
|
|
52
|
+
def url_for_path(path)
|
53
|
+
@re ||= Regexp.new("^#{FileUtils.pwd}(.*)$")
|
54
|
+
begin
|
55
|
+
path.match(@re)[1]
|
56
|
+
rescue StandardError
|
57
|
+
raise PathError.new("Xmvc::Generator::Boot failed to determine the relative filename for the path #{path}")
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
37
61
|
def url_for(name, ext, suffix)
|
38
62
|
File.join("/", Xmvc::PUBLIC_PATH, name, Jammit.filename(name, ext, suffix))
|
39
63
|
end
|
@@ -13,6 +13,18 @@ vendor:
|
|
13
13
|
- extjs-mvc
|
14
14
|
mvcFilename: extjs-mvc-all-min
|
15
15
|
|
16
|
+
name: app
|
17
|
+
|
18
|
+
javascripts:
|
19
|
+
- app/App.js
|
20
|
+
- config/application.js
|
21
|
+
- config/routes.js
|
22
|
+
- vendor/plugins/*/**.js
|
23
|
+
- overrides/*.js
|
24
|
+
- app/models/*.js
|
25
|
+
- app/controllers/*.js
|
26
|
+
- app/views/*/**.js
|
27
|
+
|
16
28
|
# Use config/application for general framework configuration
|
17
29
|
config:
|
18
30
|
- app/App
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# Defines the build order of Ext MVC. Comments indicated with a hash.
|
2
|
+
# Each line denotes either a single file, or a directory glob. If a glob, all matching files are included
|
3
|
+
# (unless they have already been defined)
|
4
|
+
name: screw-unit
|
5
|
+
|
6
|
+
version:
|
7
|
+
|
8
|
+
dependencies:
|
9
|
+
|
10
|
+
javascripts: []
|
11
|
+
|
12
|
+
stylesheets: []
|
data/lib/xmvc/ui.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
module Xmvc
|
2
|
+
class UI
|
3
|
+
def warn(message)
|
4
|
+
end
|
5
|
+
|
6
|
+
def error(message)
|
7
|
+
end
|
8
|
+
|
9
|
+
def info(message)
|
10
|
+
end
|
11
|
+
|
12
|
+
def confirm(message)
|
13
|
+
end
|
14
|
+
|
15
|
+
class Shell < UI
|
16
|
+
def initialize(shell)
|
17
|
+
@shell = shell
|
18
|
+
end
|
19
|
+
|
20
|
+
# TODO: Add debug mode
|
21
|
+
def debug(msg)
|
22
|
+
end
|
23
|
+
|
24
|
+
def info(msg)
|
25
|
+
@shell.say(msg)
|
26
|
+
end
|
27
|
+
|
28
|
+
def confirm(msg)
|
29
|
+
@shell.say(msg, :green)
|
30
|
+
end
|
31
|
+
|
32
|
+
def warn(msg)
|
33
|
+
@shell.say(msg, :yellow)
|
34
|
+
end
|
35
|
+
|
36
|
+
def error(msg)
|
37
|
+
@shell.say(msg, :red)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class RGProxy < Gem::SilentUI
|
42
|
+
def initialize(ui)
|
43
|
+
@ui = ui
|
44
|
+
end
|
45
|
+
|
46
|
+
def say(message)
|
47
|
+
if message =~ /native extensions/
|
48
|
+
@ui.info "with native extensions "
|
49
|
+
else
|
50
|
+
@ui.debug(message)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/xmvc.rb
CHANGED
@@ -4,6 +4,12 @@ require 'yaml'
|
|
4
4
|
require 'json'
|
5
5
|
require 'extlib'
|
6
6
|
require 'whorm'
|
7
|
+
#require 'thor-cheese/ui'
|
8
|
+
|
9
|
+
require 'jammit-core'
|
10
|
+
require 'jammit-core/cli'
|
11
|
+
|
12
|
+
require 'sprockets'
|
7
13
|
|
8
14
|
module Xmvc
|
9
15
|
|
@@ -22,7 +28,7 @@ module Xmvc
|
|
22
28
|
#
|
23
29
|
require 'xmvc/builder'
|
24
30
|
|
25
|
-
|
31
|
+
autoload :UI, 'xmvc/ui'
|
26
32
|
autoload :Generator, 'xmvc/generator'
|
27
33
|
autoload :Environment, 'xmvc/environment'
|
28
34
|
autoload :Plugin, 'xmvc/plugin'
|
@@ -66,6 +72,12 @@ module Xmvc
|
|
66
72
|
# An instance of supplied framework plugin, eg ExtJS::MVC::CLI
|
67
73
|
#
|
68
74
|
attr_accessor :host
|
75
|
+
##
|
76
|
+
# An instance of the sprockets secretary
|
77
|
+
#
|
78
|
+
attr_accessor :secretary
|
79
|
+
|
80
|
+
attr_accessor :public_path
|
69
81
|
|
70
82
|
def configure
|
71
83
|
@configured ||= begin
|
@@ -77,6 +89,40 @@ module Xmvc
|
|
77
89
|
end
|
78
90
|
end
|
79
91
|
|
92
|
+
##
|
93
|
+
# @param {Symbol} type :js, :css, :image
|
94
|
+
# @param {String} name
|
95
|
+
# @param {String} version
|
96
|
+
#
|
97
|
+
def public_build_path(type, name, version=nil, suffix=nil)
|
98
|
+
File.join(public_path, asset_dir(type), build_name(type, name, version, suffix))
|
99
|
+
end
|
100
|
+
|
101
|
+
def public_build_url(type, name, version=nil, suffix=nil)
|
102
|
+
File.join("/#{PUBLIC_PATH}", asset_dir(type), build_name(type, name, version, suffix))
|
103
|
+
end
|
104
|
+
|
105
|
+
def build_name(type, name, version=nil, suffix=nil)
|
106
|
+
version = "" if version.nil?
|
107
|
+
suffix = "" if suffix.nil?
|
108
|
+
package = name
|
109
|
+
package += "-#{version}" unless version.empty?
|
110
|
+
name += "-all"
|
111
|
+
name += "-#{suffix}" unless suffix.empty?
|
112
|
+
File.join(package, "#{name}.#{type.to_s}")
|
113
|
+
end
|
114
|
+
|
115
|
+
def asset_dir(type)
|
116
|
+
case type
|
117
|
+
when :js
|
118
|
+
"javascripts"
|
119
|
+
when :css
|
120
|
+
"stylesheets"
|
121
|
+
when :images
|
122
|
+
"images"
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
80
126
|
##
|
81
127
|
# Ensure we're running within a rails app unless generating a new app ($ xmvc generate app foo)
|
82
128
|
#
|
@@ -90,12 +136,18 @@ module Xmvc
|
|
90
136
|
end
|
91
137
|
|
92
138
|
def asset_mgr(options={})
|
93
|
-
|
139
|
+
warn("Xmvc.asset_mgr is disabled")
|
140
|
+
#@asset_mgr ||= Jammit::CLI.new([], options)
|
94
141
|
end
|
95
142
|
|
96
143
|
def ui
|
97
|
-
@ui ||=
|
144
|
+
@ui ||= UI.new
|
98
145
|
end
|
146
|
+
|
147
|
+
private
|
148
|
+
|
149
|
+
|
150
|
+
|
99
151
|
end
|
100
152
|
end
|
101
153
|
|
data/xmvc.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{xmvc}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ed Spencer and Chris Scott"]
|
@@ -36,6 +36,7 @@ Gem::Specification.new do |s|
|
|
36
36
|
"lib/xmvc/builders/docs_builder.rb",
|
37
37
|
"lib/xmvc/builders/mvc_builder.rb",
|
38
38
|
"lib/xmvc/builders/plugin_builder.rb",
|
39
|
+
"lib/xmvc/builders/vendor.rb",
|
39
40
|
"lib/xmvc/cli.rb",
|
40
41
|
"lib/xmvc/environment.rb",
|
41
42
|
"lib/xmvc/generator.rb",
|
@@ -84,6 +85,7 @@ Gem::Specification.new do |s|
|
|
84
85
|
"lib/xmvc/generators/templates/app/public/vendor/screw-unit/spec/print_spec.js",
|
85
86
|
"lib/xmvc/generators/templates/app/public/vendor/screw-unit/spec/spec_helper.js",
|
86
87
|
"lib/xmvc/generators/templates/app/public/vendor/screw-unit/spec/suite.html",
|
88
|
+
"lib/xmvc/generators/templates/app/public/vendor/screw-unit/vendor.yml",
|
87
89
|
"lib/xmvc/generators/templates/boot.js",
|
88
90
|
"lib/xmvc/generators/templates/layout.html.erb",
|
89
91
|
"lib/xmvc/generators/templates/scaffold/ScaffoldController.js",
|
@@ -92,6 +94,7 @@ Gem::Specification.new do |s|
|
|
92
94
|
"lib/xmvc/stats.rb",
|
93
95
|
"lib/xmvc/test.rb",
|
94
96
|
"lib/xmvc/testserver.ru",
|
97
|
+
"lib/xmvc/ui.rb",
|
95
98
|
"lib/xmvc/update.rb",
|
96
99
|
"test/helper.rb",
|
97
100
|
"test/test_extjs-core.rb",
|
@@ -117,7 +120,6 @@ Gem::Specification.new do |s|
|
|
117
120
|
s.add_runtime_dependency(%q<jammit-core>, [">= 0.1.0"])
|
118
121
|
s.add_runtime_dependency(%q<whorm>, [">= 0.1.0"])
|
119
122
|
s.add_runtime_dependency(%q<hpricot>, [">= 0.8.2"])
|
120
|
-
s.add_runtime_dependency(%q<extjs-mvc>, [">= 0.4.0.a"])
|
121
123
|
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
122
124
|
else
|
123
125
|
s.add_dependency(%q<extlib>, [">= 0.9.14"])
|
@@ -125,7 +127,6 @@ Gem::Specification.new do |s|
|
|
125
127
|
s.add_dependency(%q<jammit-core>, [">= 0.1.0"])
|
126
128
|
s.add_dependency(%q<whorm>, [">= 0.1.0"])
|
127
129
|
s.add_dependency(%q<hpricot>, [">= 0.8.2"])
|
128
|
-
s.add_dependency(%q<extjs-mvc>, [">= 0.4.0.a"])
|
129
130
|
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
130
131
|
end
|
131
132
|
else
|
@@ -134,7 +135,6 @@ Gem::Specification.new do |s|
|
|
134
135
|
s.add_dependency(%q<jammit-core>, [">= 0.1.0"])
|
135
136
|
s.add_dependency(%q<whorm>, [">= 0.1.0"])
|
136
137
|
s.add_dependency(%q<hpricot>, [">= 0.8.2"])
|
137
|
-
s.add_dependency(%q<extjs-mvc>, [">= 0.4.0.a"])
|
138
138
|
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
139
139
|
end
|
140
140
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 4
|
9
|
+
version: 0.1.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Ed Spencer and Chris Scott
|
@@ -87,25 +87,10 @@ dependencies:
|
|
87
87
|
version: 0.8.2
|
88
88
|
type: :runtime
|
89
89
|
version_requirements: *id005
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
|
-
name: extjs-mvc
|
92
|
-
prerelease: false
|
93
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
94
|
-
requirements:
|
95
|
-
- - ">="
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
segments:
|
98
|
-
- 0
|
99
|
-
- 4
|
100
|
-
- 0
|
101
|
-
- a
|
102
|
-
version: 0.4.0.a
|
103
|
-
type: :runtime
|
104
|
-
version_requirements: *id006
|
105
90
|
- !ruby/object:Gem::Dependency
|
106
91
|
name: thoughtbot-shoulda
|
107
92
|
prerelease: false
|
108
|
-
requirement: &
|
93
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
109
94
|
requirements:
|
110
95
|
- - ">="
|
111
96
|
- !ruby/object:Gem::Version
|
@@ -113,7 +98,7 @@ dependencies:
|
|
113
98
|
- 0
|
114
99
|
version: "0"
|
115
100
|
type: :development
|
116
|
-
version_requirements: *
|
101
|
+
version_requirements: *id006
|
117
102
|
description: A full-stack, full-stack MVC framework generator geared towards generating towards the Ext JS framework. The actual javascript framework implementation is provided by the Gem extjs-mvc. This gem contains a series of builders and erb-templates for auto-generating javascript model, view and controller class-files.
|
118
103
|
email: christocracy@gmail.com
|
119
104
|
executables:
|
@@ -141,6 +126,7 @@ files:
|
|
141
126
|
- lib/xmvc/builders/docs_builder.rb
|
142
127
|
- lib/xmvc/builders/mvc_builder.rb
|
143
128
|
- lib/xmvc/builders/plugin_builder.rb
|
129
|
+
- lib/xmvc/builders/vendor.rb
|
144
130
|
- lib/xmvc/cli.rb
|
145
131
|
- lib/xmvc/environment.rb
|
146
132
|
- lib/xmvc/generator.rb
|
@@ -189,6 +175,7 @@ files:
|
|
189
175
|
- lib/xmvc/generators/templates/app/public/vendor/screw-unit/spec/print_spec.js
|
190
176
|
- lib/xmvc/generators/templates/app/public/vendor/screw-unit/spec/spec_helper.js
|
191
177
|
- lib/xmvc/generators/templates/app/public/vendor/screw-unit/spec/suite.html
|
178
|
+
- lib/xmvc/generators/templates/app/public/vendor/screw-unit/vendor.yml
|
192
179
|
- lib/xmvc/generators/templates/boot.js
|
193
180
|
- lib/xmvc/generators/templates/layout.html.erb
|
194
181
|
- lib/xmvc/generators/templates/scaffold/ScaffoldController.js
|
@@ -197,6 +184,7 @@ files:
|
|
197
184
|
- lib/xmvc/stats.rb
|
198
185
|
- lib/xmvc/test.rb
|
199
186
|
- lib/xmvc/testserver.ru
|
187
|
+
- lib/xmvc/ui.rb
|
200
188
|
- lib/xmvc/update.rb
|
201
189
|
- test/helper.rb
|
202
190
|
- test/test_extjs-core.rb
|