tres 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +67 -0
  4. data/README.md +50 -0
  5. data/Rakefile +16 -0
  6. data/VERSION +1 -0
  7. data/bin/tres +103 -0
  8. data/examples/anagen/anagen.coffee +61 -0
  9. data/examples/anagen/anagen.css +1413 -0
  10. data/examples/anagen/anagen.js +182 -0
  11. data/examples/anagen/anagen.scss +20 -0
  12. data/examples/anagen/backbone-min.js +38 -0
  13. data/examples/anagen/index.html +50 -0
  14. data/examples/anagen/jquery-1.8.0.min.js +2 -0
  15. data/examples/anagen/templates.coffee +6 -0
  16. data/examples/anagen/templates.js +13 -0
  17. data/examples/anagen/tres.js +375 -0
  18. data/examples/anagen/underscore-min.js +32 -0
  19. data/font/fontawesome-webfont.eot +0 -0
  20. data/font/fontawesome-webfont.svg +255 -0
  21. data/font/fontawesome-webfont.ttf +0 -0
  22. data/font/fontawesome-webfont.woff +0 -0
  23. data/javascripts/backbone-min.js +38 -0
  24. data/javascripts/jquery-1.8.0.min.js +2 -0
  25. data/javascripts/tres.coffee +210 -0
  26. data/javascripts/underscore-min.js +32 -0
  27. data/lib/ext/.filemethods.rb.swp +0 -0
  28. data/lib/ext/filemethods.rb +109 -0
  29. data/lib/ext/string.rb +33 -0
  30. data/lib/tres/app.rb +92 -0
  31. data/lib/tres/asset_packager.rb +45 -0
  32. data/lib/tres/errors.rb +6 -0
  33. data/lib/tres/logger.rb +9 -0
  34. data/lib/tres/rack_logger.rb +37 -0
  35. data/lib/tres/server.rb +50 -0
  36. data/lib/tres/template_compiler.rb +113 -0
  37. data/lib/tres.rb +64 -0
  38. data/sass/font-awesome.scss +329 -0
  39. data/sass/tres/base.scss +131 -0
  40. data/sass/tres/themes/default.scss +71 -0
  41. data/spec/app_spec.rb +44 -0
  42. data/spec/asset_packager_spec.rb +74 -0
  43. data/spec/filemethods_spec.rb +84 -0
  44. data/spec/fixtures/index.haml +41 -0
  45. data/spec/fixtures/index.html +50 -0
  46. data/spec/sample/assets/javascripts/all.coffee +12 -0
  47. data/spec/sample/assets/javascripts/anagen.coffee +7 -0
  48. data/spec/sample/assets/javascripts/backbone-min.js +38 -0
  49. data/spec/sample/assets/javascripts/jquery-1.8.0.min.js +2 -0
  50. data/spec/sample/assets/javascripts/underscore-min.js +32 -0
  51. data/spec/sample/assets/stylesheets/app.scss +7 -0
  52. data/spec/sample/assets/stylesheets/with_imports.scss +10 -0
  53. data/spec/sample/templates/article.html +0 -0
  54. data/spec/sample/templates/book.haml +4 -0
  55. data/spec/sample/templates/books/li.haml +2 -0
  56. data/spec/sample/templates/index.html +50 -0
  57. data/spec/server_spec.rb +35 -0
  58. data/spec/spec_helper.rb +69 -0
  59. data/spec/template_compiler_spec.rb +96 -0
  60. data/templates/all.coffee +21 -0
  61. data/templates/all.scss +11 -0
  62. data/templates/app.coffee +10 -0
  63. data/templates/collection_script.coffee.erb +6 -0
  64. data/templates/config.ru +3 -0
  65. data/templates/home.coffee +7 -0
  66. data/templates/home.haml +17 -0
  67. data/templates/index.html +15 -0
  68. data/templates/model_script.coffee.erb +3 -0
  69. data/templates/screen_script.coffee.erb +5 -0
  70. data/templates/templates.js +2 -0
  71. data/tres.gemspec +29 -0
  72. metadata +257 -0
@@ -0,0 +1,2 @@
1
+ %li
2
+ <%= get('title') %>
@@ -0,0 +1,50 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>(Anagen)</title>
5
+ <meta charset="utf-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
7
+ <meta name="apple-mobile-web-app-capable" content="yes" />
8
+ <meta name="apple-mobile-web-app-status-bar-style" content="red" />
9
+ <link href="http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700" rel="stylesheet">
10
+ <link rel="stylesheet" href="/css/anagen.css">
11
+ </head>
12
+ <body>
13
+ <script type="text/template" id="home-template">
14
+ <h1 id="logo">
15
+ <span>(</span>Anagen<span>)</span>
16
+ </h1>
17
+ <form action="#" method="post">
18
+ <input type="text" capitalize="off" id="query" name="query" placeholder="Wikipedia search">
19
+ </form>
20
+ <p>
21
+ This app was built using <a href="http://tres.io" class="outlink">Tres</a>
22
+ </p>
23
+ </script>
24
+ <script type="text/template" id="search-template">
25
+ <header class="fixed">
26
+ <a href="" class="icon-search left"></a>
27
+ <h1></h1>
28
+ </header>
29
+ <ul class="common"></ul>
30
+ </script>
31
+ <script type="text/template" id="article-template">
32
+ <header class="fixed">
33
+ <a class="back"></a>
34
+ <h1><%= get('displaytitle') %></h1>
35
+ </header>
36
+ <section>
37
+ <%= get('text') %>
38
+ </section>
39
+ </script>
40
+ <script type="text/template" id="result-template">
41
+ <%= get('title') %>
42
+ </script>
43
+ <script src="/assets/jquery-1.7.2.min.js"></script>
44
+ <script src="/assets/underscore.js"></script>
45
+ <script src="/assets/backbone.js"></script>
46
+ <script src="/assets/tres.js"></script>
47
+ <script src="/assets/templates.js"></script>
48
+ <script src="/assets/anagen.js"></script>
49
+ </body>
50
+ </html>
@@ -0,0 +1,35 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe Tres::Server do
4
+ before do
5
+ stub_listener!
6
+ @app = Tres::App.open Anagen.root
7
+ @server = Tres::Server.new @app
8
+ @mock = Rack::MockRequest.new(@server.to_rack_app)
9
+ clean_build!
10
+ end
11
+
12
+ it "serves straight from the app's sprockets environment" do
13
+ @server.should_receive(:serve_asset).and_return(ok_response)
14
+ @server.should_not_receive :serve_index
15
+ @mock.get('/stylesheets/app.css')
16
+ end
17
+
18
+ it "accepts either absolute or relative paths for assets" do
19
+ @mock.get('/stylesheets/app.css').status.should == 200
20
+ @mock.get('stylesheets/app.css').status.should == 200
21
+ end
22
+
23
+ it "serves <APP ROOT>/index.html for requests that don't match an asset of a file in <APP ROOT>/build" do
24
+ @app.template_compiler.compile_to_build 'index.html'
25
+ @server.should_receive(:serve_index).twice.and_return(ok_response)
26
+ @mock.get('/')
27
+ @mock.get('/foobar')
28
+ end
29
+
30
+ it "serves static files it finds in <APP ROOT>/build" do
31
+ @app.asset_packager.compile_to_build 'stylesheets/app.css'
32
+ @server.should_not_receive :serve_asset
33
+ @mock.get('/stylesheets/app.css')
34
+ end
35
+ end
@@ -0,0 +1,69 @@
1
+ require 'tmpdir'
2
+ require File.join(File.dirname(__FILE__), *%w(.. lib tres))
3
+ require 'rspec'
4
+ require 'rake'
5
+ require 'ostruct'
6
+
7
+ Tres.quiet!
8
+
9
+ TMP = Dir.tmpdir/'tres-tmp'
10
+ FIXTURES = File.dirname(__FILE__)/'fixtures'
11
+ MEMLOGGER = Logger.new(StringIO.new)
12
+
13
+ FileUtils.rm_rf TMP
14
+ FileUtils.mkdir_p TMP
15
+
16
+ Anagen = OpenStruct.new
17
+ Anagen.root = File.dirname(__FILE__)/'sample'
18
+ Anagen.assets = Anagen.root/'assets'
19
+ Anagen.build = Anagen.root/'build'
20
+ Anagen.build_templates = Anagen.build/'templates'
21
+ Anagen.build_js = Anagen.build/'javascripts'
22
+ Anagen.build_css = Anagen.build/'stylesheets'
23
+ Anagen.build_index = Anagen.build/'index.html'
24
+ Anagen.templates = Anagen.root/'templates'
25
+ Anagen.templates_js = Anagen.assets/'javascripts'/'templates.js'
26
+
27
+ class String
28
+ def contents
29
+ File.read self
30
+ end
31
+
32
+ def compile
33
+ Tilt.new(self).render
34
+ end
35
+
36
+ def escaped_compile
37
+ compiler = Tres::TemplateCompiler.new :root => Anagen.root
38
+ compiler.send :escape_js, Tilt.new(self).render
39
+ end
40
+ end
41
+
42
+ def stub_listener!
43
+ Listen.stub :to => mock(Listen::Listener, :change => 'true', :start => true)
44
+ end
45
+
46
+ def ok_response
47
+ [ 200, {'Content-Type' => 'text/plain'}, ['Ok'] ]
48
+ end
49
+
50
+ def clean_build!
51
+ FileUtils.rm_f Anagen.build_index
52
+ FileUtils.rm_f Anagen.templates_js
53
+ FileUtils.rm_rf Anagen.build_templates
54
+ FileUtils.rm_rf Anagen.build_js
55
+ FileUtils.rm_rf Anagen.build_css
56
+ end
57
+
58
+ def restore_anagen!
59
+ `git checkout #{Anagen.root}`
60
+ `git clean -fd #{Anagen.root}`
61
+ end
62
+
63
+ RSpec.configure do |config|
64
+ config.color_enabled = true
65
+
66
+ config.after :all do
67
+ clean_build!
68
+ end
69
+ end
@@ -0,0 +1,96 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe Tres::TemplateCompiler do
4
+ before do
5
+ FileUtils.rm_rf TMP/'temp'
6
+ @compiler = Tres::TemplateCompiler.new :root => Anagen.root
7
+ clean_build!
8
+ end
9
+
10
+ context 'removing templates' do
11
+ after { restore_anagen! }
12
+
13
+ it "removes a template from templates.js if removed from <APP ROOT>/templates" do
14
+ @compiler.compile_to_templates_js 'book.haml'
15
+ @compiler.remove_template 'book.haml'
16
+ Anagen.templates_js.contents.should_not include "JST[\"book\"]"
17
+ end
18
+
19
+ it "removes a template from build/templates if removed from <APP ROOT>/templates" do
20
+ @compiler.remove_template 'book.haml'
21
+ File.exists?(Anagen.templates/'book.haml').should be_false
22
+ end
23
+
24
+ it "leaves build/index.html alone no matter what" do
25
+ @compiler.compile_to_build 'index.html'
26
+ @compiler.remove_template 'index.html'
27
+ File.exists?(Anagen.build/'index.html').should be_true
28
+ end
29
+
30
+ it "removes more than one template if you pass an array to #remove_template" do
31
+ @compiler.remove_template ['book.haml', 'books/li.haml']
32
+ File.exists?(Anagen.templates/'book.haml').should be_false
33
+ File.exists?(Anagen.templates/'books/'/'li.haml').should be_false
34
+ end
35
+ end
36
+
37
+ context 'compiling' do
38
+ describe '#compile_to_build' do
39
+ it "with a template not index.*, it simply copies it over to build/<path> if the extension is .html" do
40
+ @compiler.compile_to_build 'books/li.haml'
41
+ (Anagen.build_templates/'books'/'li.html').contents.should == (Anagen.templates/'books'/'li.haml').compile
42
+ end
43
+
44
+ it "with templates/index.*, compiles to build/index.html" do
45
+ @compiler.compile_to_build 'index.html'
46
+ (Anagen.build/'index.html').contents.should == (Anagen.templates/'index.html').contents
47
+ end
48
+ end
49
+
50
+ context '#compile_to_templates_js' do
51
+ it "adds a template to a global JST object in templates.js" do
52
+ @compiler.compile_to_templates_js 'book.haml'
53
+ Anagen.templates_js.contents.should include (Anagen.templates/'book.haml').escaped_compile
54
+ end
55
+ end
56
+
57
+ context '#compile_all' do
58
+ it 'compiles index.* to build/' do
59
+ @compiler.stub :compile_to_templates_js => false
60
+ @compiler.compile_all
61
+ (Anagen.build/'index.html').contents.should == (Anagen.templates/'index.html').contents
62
+ end
63
+
64
+ it 'compiles everything else to build/js/templates.js' do
65
+ @compiler.stub :compile_to_build => false
66
+ @compiler.compile_all
67
+ Anagen.templates_js.contents.should include (Anagen.templates/'book.haml').escaped_compile
68
+ Anagen.templates_js.contents.should include (Anagen.templates/'books'/'li.haml').escaped_compile
69
+ end
70
+ end
71
+ end
72
+
73
+ context 'creating templates' do
74
+ after { restore_anagen! }
75
+
76
+ it "creates a new template with #new_template" do
77
+ @compiler.new_template 'fridges.haml'
78
+ File.exists?(Anagen.templates/'fridges.haml').should be_true
79
+ end
80
+
81
+ it "defaults to haml if no extension is provided" do
82
+ @compiler.new_template 'cups'
83
+ File.exists?(Anagen.templates/'cups.haml').should be_true
84
+ end
85
+
86
+ it "creates the directories to a path if necessary" do
87
+ @compiler.new_template 'zomg/fridges.haml'
88
+ File.directory?(Anagen.templates/'zomg').should be_true
89
+ end
90
+
91
+ it "raises TemplateExistsError if a template in the same path exists" do
92
+ @compiler.new_template 'forks.haml'
93
+ lambda { @compiler.new_template 'forks.haml' }.should raise_error(Tres::TemplateExistsError)
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,21 @@
1
+ ## Manifest generated by Tres.
2
+ ##
3
+ ## Add your libraries below, as per Sprockets rules -> https://github.com/sstephenson/sprockets
4
+
5
+ ## Core dependencies
6
+ #= require jquery-1.8.0.min
7
+ #= require underscore-min
8
+ #= require backbone-min
9
+ #= require tres
10
+
11
+ ## This automagically makes all templates available in a window.JST object
12
+ #= require templates
13
+
14
+ ## Automatically require all scripts in assets/javascripts/screens,
15
+ ## so generators "just work"
16
+ #= require_tree ./models
17
+ #= require_tree ./collections
18
+ #= require_tree ./screens
19
+
20
+ ## Sample app file that includes a home screen. Change this at your leisure
21
+ #= require app
@@ -0,0 +1,11 @@
1
+ // Manifest generated by Tres.
2
+ //
3
+ // Add your libraries below, as per Sprockets rules -> https://github.com/sstephenson/sprockets
4
+
5
+ @import 'tres/base';
6
+ @import 'tres/themes/default';
7
+
8
+ // Sample home page help section. Remove this once you customise the page
9
+ #help {
10
+ margin-top : 3rem;
11
+ }
@@ -0,0 +1,10 @@
1
+ $ ->
2
+ window.App = new Tres.App
3
+ App.Collections = {}
4
+ App.Models = {}
5
+ App.Screens = {}
6
+
7
+ App.on
8
+ '' : new HomeScreen
9
+
10
+ App.boot()
@@ -0,0 +1,6 @@
1
+ class <%= name.classify %> extends Backbone.Collection
2
+ <% if model_name %>
3
+ model : <%= model_name.classify %>
4
+ <% end %>
5
+
6
+ window.<%= name.classify %> = <%= name.classify %>
@@ -0,0 +1,3 @@
1
+ require '../lib/tres'
2
+
3
+ run Tres::Server.new(Tres::App.open(Dir.pwd)).to_rack_app
@@ -0,0 +1,7 @@
1
+ class HomeScreen extends Tres.Screen
2
+ id : 'home'
3
+ className : 't-padded-top t-centered'
4
+ template : _.template(JST['home'])
5
+
6
+
7
+ window.HomeScreen = HomeScreen
@@ -0,0 +1,17 @@
1
+ %h1.t-bigger
2
+ %svg(version="1.1" x="0px" y="0px" width="36px" height="36px" viewBox="0 0 101 144" overflow="visible" enable-background="new 0 0 101 144" fill="#d5253e")
3
+ %path(d="M0.008,78.385c0.045,1.765,0.584,3.452,1.52,4.886c0.102,0.154,0.533,0.824,0.643,0.99l6.264,9.611c1.262,1.935,3.238,3.375,5.669,3.887c0.629,0.132,1.255,0.195,1.872,0.195c1.77,0,3.462-0.524,4.899-1.46l0.597-0.385c2.018-1.322,3.522-3.392,4.06-5.925c0.139-0.66,0.205-1.313,0.205-1.953c0-1.849-0.549-3.62-1.524-5.116l-6.906-10.599h0.002c-1.262-1.935-3.239-3.376-5.678-3.892c-0.627-0.134-1.246-0.194-1.861-0.194c-1.771,0-3.465,0.525-4.898,1.459l-0.602,0.389c-2.02,1.321-3.523,3.388-4.062,5.934C0.066,76.858,0,77.51,0,78.153c0,0.009,0.002,0.018,0.002,0.025c0,0.026,0.006,0.051,0.006,0.077V78.385z")
4
+ %path(d="M99.025,7.561c-1.383-2.072-3.457-3.376-5.715-3.833l-0.705-0.141c-0.611-0.124-1.234-0.185-1.855-0.185c-1.793,0-3.59,0.506-5.193,1.575c-2.162,1.439-3.525,3.608-4,5.97L69.855,69.31c-0.221,1.097-1.287,1.807-2.385,1.588c-0.965-0.192-1.627-1.04-1.625-1.986c0-0.001,0-0.001,0-0.001V8.988c-0.004-2.306-0.875-4.595-2.635-6.356C61.447,0.871,59.16,0.002,56.853,0h-0.717c-2.41,0.002-4.799,0.911-6.638,2.747c-1.835,1.84-2.746,4.23-2.749,6.644l-0.001,59.521l0.001,0.003c0,0.002-0.001,0.005-0.001,0.007c-0.004,0.943-0.666,1.784-1.627,1.977c-1.097,0.22-2.162-0.491-2.382-1.588L31.034,10.95c-0.475-2.364-1.838-4.534-3.996-5.972c-1.607-1.068-3.406-1.574-5.197-1.576c-0.624,0-1.249,0.063-1.858,0.186l-0.699,0.141c-2.258,0.456-4.333,1.76-5.718,3.832c-1.022,1.539-1.506,3.257-1.506,4.97c0,0.599,0.059,1.192,0.176,1.779l10.048,50.122l2.421,12.022l2.898,4.452c1.395,2.136,2.18,4.672,2.18,7.326c0,0.918-0.094,1.848-0.289,2.782c-0.762,3.625-2.934,6.612-5.817,8.49l-0.594,0.386c-2.075,1.351-4.531,2.116-7.107,2.114c-0.012,0-0.023,0-0.035,0c-0.882,0-1.774-0.092-2.669-0.281c-3.515-0.739-6.415-2.848-8.229-5.637l-5.033-7.722v21.247c0.004,8.795,3.354,17.574,10.061,24.286c6.714,6.708,15.489,10.059,24.286,10.059h19.84c8.793,0,17.572-3.351,24.281-10.059c6.711-6.712,10.062-15.491,10.064-24.286v-7.517L57.382,80.669c-1.471-1.013-3.229-1.587-5.079-1.587c-0.54,0-1.089,0.05-1.647,0.155c-2.45,0.454-4.463,1.846-5.771,3.744l-0.408,0.592c-1.056,1.533-1.653,3.372-1.653,5.304c0,0.564,0.052,1.141,0.16,1.726c0.473,2.552,1.928,4.656,3.911,6.026l15.049,10.351h0.002c0.922,0.633,1.154,1.894,0.52,2.815c-0.391,0.57-1.025,0.877-1.668,0.877c-0.396,0-0.795-0.116-1.146-0.356L44.601,99.965c-2.829-1.944-4.928-4.985-5.6-8.626c-0.154-0.824-0.229-1.65-0.229-2.461c0-2.773,0.861-5.412,2.369-7.594l0.403-0.595c1.887-2.744,4.838-4.781,8.373-5.432c0.799-0.148,1.599-0.223,2.386-0.223c2.69,0,5.25,0.837,7.375,2.297l28.861,19.849V73.46c0-0.146,0.016-0.288,0.045-0.425l11.77-58.72c0.117-0.593,0.174-1.188,0.174-1.785C100.529,10.817,100.046,9.098,99.025,7.561z")
5
+ Great!
6
+ %p Your Tres app seems to be working fine today!
7
+
8
+ %section#help.t-left-align
9
+ %h2.icon-bolt Need help?
10
+ %p
11
+ Check out the
12
+ <a href="http://tres.io#cookbook">online cookbook</a>. It's a work
13
+ in progress, so baby don't hurt me.
14
+ %p
15
+ For feedback or bug reports, please refer to the
16
+ <a href="http://github.com/juliocesar/tres">GitHub project page</a>.
17
+ %p Make apps, not war.
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>Your App</title>
5
+ <meta charset="utf-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
7
+ <meta name="apple-mobile-web-app-capable" content="yes" />
8
+ <meta name="apple-mobile-web-app-status-bar-style" content="red" />
9
+ <link href="http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700" rel="stylesheet">
10
+ <link rel="stylesheet" href="/stylesheets/all.css">
11
+ </head>
12
+ <body>
13
+ <script src="/javascripts/all.js"></script>
14
+ </body>
15
+ </html>
@@ -0,0 +1,3 @@
1
+ class <%= name.classify %> extends Backbone.Model
2
+
3
+ window.<%= name.classify %> = <%= name.classify %>
@@ -0,0 +1,5 @@
1
+ class <%= name.to_screen_name %> extends Tres.Screen
2
+ id : "<%= name.downcase.dasherize %>"
3
+ template : _.template(JST['<%= name.downcase %>'])
4
+
5
+ window.<%= name.to_screen_name %> = <%= name.to_screen_name %>
@@ -0,0 +1,2 @@
1
+ // Generated by Tres
2
+ window.JST = {};
data/tres.gemspec ADDED
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.name = 'tres'
5
+ gem.version = File.read('VERSION')
6
+ gem.authors = ["Julio Cesar Ody"]
7
+ gem.email = ["julioody@gmail.com"]
8
+ gem.description = %q{An ice cold mobile web development framework}
9
+ gem.summary = %q{An ice cold mobile web development framework}
10
+ gem.homepage = "http://tres.io"
11
+
12
+ gem.files = `git ls-files`.split($\)
13
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
14
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
+ gem.require_paths = ["lib"]
16
+
17
+ gem.add_runtime_dependency "listen"
18
+ gem.add_runtime_dependency "tilt"
19
+ gem.add_runtime_dependency "compass"
20
+ gem.add_runtime_dependency "coffee-script"
21
+ gem.add_runtime_dependency "sprockets"
22
+ gem.add_runtime_dependency "json_pure"
23
+ gem.add_runtime_dependency "haml"
24
+ gem.add_runtime_dependency "colorize"
25
+
26
+ gem.add_development_dependency "rake"
27
+ gem.add_development_dependency "rspec"
28
+ gem.add_development_dependency "rspec-nc"
29
+ end
metadata ADDED
@@ -0,0 +1,257 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tres
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Julio Cesar Ody
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-08-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: listen
16
+ requirement: &70197033885240 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70197033885240
25
+ - !ruby/object:Gem::Dependency
26
+ name: tilt
27
+ requirement: &70197033884640 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70197033884640
36
+ - !ruby/object:Gem::Dependency
37
+ name: compass
38
+ requirement: &70197033884020 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70197033884020
47
+ - !ruby/object:Gem::Dependency
48
+ name: coffee-script
49
+ requirement: &70197033883340 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70197033883340
58
+ - !ruby/object:Gem::Dependency
59
+ name: sprockets
60
+ requirement: &70197033882500 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *70197033882500
69
+ - !ruby/object:Gem::Dependency
70
+ name: json_pure
71
+ requirement: &70197033882020 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *70197033882020
80
+ - !ruby/object:Gem::Dependency
81
+ name: haml
82
+ requirement: &70197033881340 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *70197033881340
91
+ - !ruby/object:Gem::Dependency
92
+ name: colorize
93
+ requirement: &70197033880560 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: *70197033880560
102
+ - !ruby/object:Gem::Dependency
103
+ name: rake
104
+ requirement: &70197033879220 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70197033879220
113
+ - !ruby/object:Gem::Dependency
114
+ name: rspec
115
+ requirement: &70197033878180 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *70197033878180
124
+ - !ruby/object:Gem::Dependency
125
+ name: rspec-nc
126
+ requirement: &70197033876680 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *70197033876680
135
+ description: An ice cold mobile web development framework
136
+ email:
137
+ - julioody@gmail.com
138
+ executables:
139
+ - tres
140
+ extensions: []
141
+ extra_rdoc_files: []
142
+ files:
143
+ - .gitignore
144
+ - Gemfile
145
+ - Gemfile.lock
146
+ - README.md
147
+ - Rakefile
148
+ - VERSION
149
+ - bin/tres
150
+ - examples/anagen/anagen.coffee
151
+ - examples/anagen/anagen.css
152
+ - examples/anagen/anagen.js
153
+ - examples/anagen/anagen.scss
154
+ - examples/anagen/backbone-min.js
155
+ - examples/anagen/index.html
156
+ - examples/anagen/jquery-1.8.0.min.js
157
+ - examples/anagen/templates.coffee
158
+ - examples/anagen/templates.js
159
+ - examples/anagen/tres.js
160
+ - examples/anagen/underscore-min.js
161
+ - font/fontawesome-webfont.eot
162
+ - font/fontawesome-webfont.svg
163
+ - font/fontawesome-webfont.ttf
164
+ - font/fontawesome-webfont.woff
165
+ - javascripts/backbone-min.js
166
+ - javascripts/jquery-1.8.0.min.js
167
+ - javascripts/tres.coffee
168
+ - javascripts/underscore-min.js
169
+ - lib/ext/.filemethods.rb.swp
170
+ - lib/ext/filemethods.rb
171
+ - lib/ext/string.rb
172
+ - lib/tres.rb
173
+ - lib/tres/app.rb
174
+ - lib/tres/asset_packager.rb
175
+ - lib/tres/errors.rb
176
+ - lib/tres/logger.rb
177
+ - lib/tres/rack_logger.rb
178
+ - lib/tres/server.rb
179
+ - lib/tres/template_compiler.rb
180
+ - sass/font-awesome.scss
181
+ - sass/tres/base.scss
182
+ - sass/tres/themes/default.scss
183
+ - spec/app_spec.rb
184
+ - spec/asset_packager_spec.rb
185
+ - spec/filemethods_spec.rb
186
+ - spec/fixtures/index.haml
187
+ - spec/fixtures/index.html
188
+ - spec/sample/assets/javascripts/all.coffee
189
+ - spec/sample/assets/javascripts/anagen.coffee
190
+ - spec/sample/assets/javascripts/backbone-min.js
191
+ - spec/sample/assets/javascripts/jquery-1.8.0.min.js
192
+ - spec/sample/assets/javascripts/underscore-min.js
193
+ - spec/sample/assets/stylesheets/app.scss
194
+ - spec/sample/assets/stylesheets/with_imports.scss
195
+ - spec/sample/templates/article.html
196
+ - spec/sample/templates/book.haml
197
+ - spec/sample/templates/books/li.haml
198
+ - spec/sample/templates/index.html
199
+ - spec/server_spec.rb
200
+ - spec/spec_helper.rb
201
+ - spec/template_compiler_spec.rb
202
+ - templates/all.coffee
203
+ - templates/all.scss
204
+ - templates/app.coffee
205
+ - templates/collection_script.coffee.erb
206
+ - templates/config.ru
207
+ - templates/home.coffee
208
+ - templates/home.haml
209
+ - templates/index.html
210
+ - templates/model_script.coffee.erb
211
+ - templates/screen_script.coffee.erb
212
+ - templates/templates.js
213
+ - tres.gemspec
214
+ homepage: http://tres.io
215
+ licenses: []
216
+ post_install_message:
217
+ rdoc_options: []
218
+ require_paths:
219
+ - lib
220
+ required_ruby_version: !ruby/object:Gem::Requirement
221
+ none: false
222
+ requirements:
223
+ - - ! '>='
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ required_rubygems_version: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
+ requirements: []
233
+ rubyforge_project:
234
+ rubygems_version: 1.8.15
235
+ signing_key:
236
+ specification_version: 3
237
+ summary: An ice cold mobile web development framework
238
+ test_files:
239
+ - spec/app_spec.rb
240
+ - spec/asset_packager_spec.rb
241
+ - spec/filemethods_spec.rb
242
+ - spec/fixtures/index.haml
243
+ - spec/fixtures/index.html
244
+ - spec/sample/assets/javascripts/all.coffee
245
+ - spec/sample/assets/javascripts/anagen.coffee
246
+ - spec/sample/assets/javascripts/backbone-min.js
247
+ - spec/sample/assets/javascripts/jquery-1.8.0.min.js
248
+ - spec/sample/assets/javascripts/underscore-min.js
249
+ - spec/sample/assets/stylesheets/app.scss
250
+ - spec/sample/assets/stylesheets/with_imports.scss
251
+ - spec/sample/templates/article.html
252
+ - spec/sample/templates/book.haml
253
+ - spec/sample/templates/books/li.haml
254
+ - spec/sample/templates/index.html
255
+ - spec/server_spec.rb
256
+ - spec/spec_helper.rb
257
+ - spec/template_compiler_spec.rb