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 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