tres 0.1.0

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