xmvc 0.1.3 → 0.1.4
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/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
|