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 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.3
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 BuilderManager
3
- class << self
4
-
5
- def dispatch(name, *params)
6
- name = name.to_sym
7
- options = params.shift || {}
8
- case name
9
- when :setup
10
- setup(options)
11
- else
12
- begin
13
- Xmvc.asset_mgr(options).invoke(:build, [name])
14
- rescue Jammit::Error => e
15
- raise Xmvc::BuilderError.new(e.message)
16
- end
17
- end
18
- end
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
- def application_assets(type, assets)
53
- assets.map {|f| File.join(f)}
54
- end
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::BuilderManager.dispatch(name, *params)
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(:development)
67
+ Xmvc.environment = Xmvc::Environment.load(options[:environment])
59
68
 
60
69
  # Set the framework.
61
70
  Xmvc.host = options[:host]
@@ -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
@@ -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
- App.start(params, options.dup)
24
- boot = Boot.new([], options.dup)
25
- boot.invoke("generate")
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)
@@ -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
@@ -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
- @development = [
16
- 'http://extjs.cachefly.net/ext-3.1.1/adapter/ext/ext-base.js',
17
- 'http://extjs.cachefly.net/ext-3.1.1/ext-all-debug.js'
18
- ]
19
- @development << url_for(host, "js", Jammit::DEBUG_SUFFIX)
20
-
21
- @production = [
22
- 'http://extjs.cachefly.net/ext-3.1.1/adapter/ext/ext-base.js',
23
- 'http://extjs.cachefly.net/ext-3.1.1/ext-all.js'
24
- ]
25
- @production << url_for(host, "js", Jammit::SUFFIX)
26
-
27
- @test = @development.dup
28
- @test << url_for(host, "js", Jammit::DEBUG_SUFFIX)
29
- @test << File.join("/", Xmvc::PUBLIC_PATH, "vendor", "jspec", "lib", "jspec.js")
30
- @test << File.join("/", Xmvc::PUBLIC_PATH, "vendor", "spec", "TestHelper.js")
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
- #autoload :UI, 'xmvc/ui'
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
- @asset_mgr ||= Jammit::CLI.new([], options)
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 ||= Thor::Shell::Basic
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.3"
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
- - 3
9
- version: 0.1.3
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: &id007 !ruby/object:Gem::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: *id007
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