spinebox 0.0.13 → 0.0.14

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/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ -f d
data/README.textile CHANGED
@@ -14,6 +14,12 @@ bc.. $ gem install spinebox
14
14
 
15
15
  h3. Usage
16
16
 
17
+ Create your javascript app or HTML files just as you're used to it.
18
+
19
+ In the HTML files you can use partials just like in rails:
20
+
21
+ bc.. render :partial => "navigation.html"
22
+
17
23
  h4. Create new project
18
24
 
19
25
  bc.. # Create new project an start developing
@@ -29,6 +29,7 @@ module Spinebox
29
29
 
30
30
  def self.compile_views
31
31
  Spinebox.views.each_logical_path do |logical_path|
32
+ next if logical_path.start_with?("_")
32
33
  asset = Spinebox.views[logical_path]
33
34
  asset.write_to(File.join("public", asset.logical_path))
34
35
  end
@@ -1,4 +1,6 @@
1
1
  module Spinebox
2
+ class RenderError < StandardError; end
3
+
2
4
  module ERBContext
3
5
 
4
6
  # Includes javascript tags in the erb. If concatenation is disabled it returns multiple tags,
@@ -21,6 +23,17 @@ module Spinebox
21
23
  end
22
24
  end
23
25
 
26
+ # Renders, e.g. a partial into another view
27
+ def render params = {}
28
+ raise RenderError, "Render without :partial called" if params[:partial].nil?
29
+ raise RenderError, "Partial needs a file extension" if params[:partial].split(".").size == 0
30
+
31
+ partial = Spinebox.views["_#{params[:partial]}"]
32
+ raise RenderError, "Partial not found" if partial.nil?
33
+
34
+ partial.to_s
35
+ end
36
+
24
37
  private
25
38
 
26
39
  # Access an asset from the assets
@@ -0,0 +1 @@
1
+ <p>This is a partial</p>
@@ -1,3 +1,3 @@
1
1
  module Spinebox
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.14"
3
3
  end
data/lib/spinebox.rb CHANGED
@@ -6,7 +6,7 @@ require 'eco'
6
6
  require 'sass'
7
7
  require "colorize"
8
8
  require "ostruct"
9
- require 'active_support/all'
9
+ require 'active_support/core_ext'
10
10
  require 'erb'
11
11
 
12
12
  require "spinebox/version"
@@ -24,6 +24,8 @@ describe Spinebox::Compiler do
24
24
  "public/assets/test.png",
25
25
  "public/index.html"
26
26
  ].each{ |file| File.exists?(file).should be_true }
27
+
28
+ File.exists?("public/_partial.html").should be_false
27
29
  end
28
30
 
29
31
  end
@@ -8,7 +8,6 @@ describe Spinebox::ERBContext do
8
8
  end
9
9
 
10
10
  context "javascript" do
11
-
12
11
  it "should offer asset tags concatenated" do
13
12
  Spinebox.config.concatenate = true
14
13
  javascript_include_tag("application").split("\n").should have(1).tag
@@ -18,11 +17,9 @@ describe Spinebox::ERBContext do
18
17
  Spinebox.config.concatenate = false
19
18
  javascript_include_tag("application").split("\n").should have_at_least(5).tags
20
19
  end
21
-
22
20
  end
23
21
 
24
22
  context "css" do
25
-
26
23
  it "should offer asset tags concatenated" do
27
24
  Spinebox.config.concatenate = true
28
25
  stylesheet_link_tag("application").split("\n").should have(1).tag
@@ -32,7 +29,24 @@ describe Spinebox::ERBContext do
32
29
  Spinebox.config.concatenate = false
33
30
  stylesheet_link_tag("application").split("\n").should have_at_least(1).tag
34
31
  end
32
+ end
33
+
34
+ context "render", :render do
35
+ it "returns a rendered partial" do
36
+ render(:partial => "partial.html").should == "<p>This is a partial</p>"
37
+ end
35
38
 
39
+ it "raises an error on missing params" do
40
+ proc{ render }.should raise_error
41
+ end
42
+
43
+ it "raises an error on missing partial extensions" do
44
+ proc{ render(:partial => "partial") }.should raise_error
45
+ end
46
+
47
+ it "raises an error on unexistant partial" do
48
+ proc{ render(:partial => "notthere.html") }.should raise_error
49
+ end
36
50
  end
37
51
 
38
52
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spinebox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-08-13 00:00:00.000000000 Z
13
+ date: 2012-11-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sprockets
17
- requirement: &70150538119000 !ruby/object:Gem::Requirement
17
+ requirement: &70228460900940 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 2.1.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70150538119000
25
+ version_requirements: *70228460900940
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rack
28
- requirement: &70150538118500 !ruby/object:Gem::Requirement
28
+ requirement: &70228460900440 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.4.1
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70150538118500
36
+ version_requirements: *70228460900440
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: coffee-script
39
- requirement: &70150538118040 !ruby/object:Gem::Requirement
39
+ requirement: &70228460899980 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.2.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70150538118040
47
+ version_requirements: *70228460899980
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: eco
50
- requirement: &70150538117580 !ruby/object:Gem::Requirement
50
+ requirement: &70228460899520 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 1.0.0
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70150538117580
58
+ version_requirements: *70228460899520
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: sass
61
- requirement: &70150538117120 !ruby/object:Gem::Requirement
61
+ requirement: &70228460899020 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 3.1.15
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *70150538117120
69
+ version_requirements: *70228460899020
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: colorize
72
- requirement: &70150538116660 !ruby/object:Gem::Requirement
72
+ requirement: &70228460898540 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 0.5.8
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *70150538116660
80
+ version_requirements: *70228460898540
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: activesupport
83
- requirement: &70150538116200 !ruby/object:Gem::Requirement
83
+ requirement: &70228460897940 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 3.2.2
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *70150538116200
91
+ version_requirements: *70228460897940
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: thin
94
- requirement: &70150538115740 !ruby/object:Gem::Requirement
94
+ requirement: &70228460920140 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,7 +99,7 @@ dependencies:
99
99
  version: 1.3.1
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *70150538115740
102
+ version_requirements: *70228460920140
103
103
  description: A ready to use spine.js rack skeleton builder with development server,
104
104
  routes, config and precompile support
105
105
  email:
@@ -111,6 +111,7 @@ extensions: []
111
111
  extra_rdoc_files: []
112
112
  files:
113
113
  - .gitignore
114
+ - .rspec
114
115
  - Gemfile
115
116
  - LICENSE
116
117
  - README.textile
@@ -148,6 +149,7 @@ files:
148
149
  - lib/spinebox/templates/app/app/assets/javascripts/lib/spine/route.coffee
149
150
  - lib/spinebox/templates/app/app/assets/javascripts/lib/spine/spine.coffee
150
151
  - lib/spinebox/templates/app/app/assets/stylesheets/application.css.scss
152
+ - lib/spinebox/templates/app/app/views/_partial.html.erb
151
153
  - lib/spinebox/templates/app/app/views/index.html.erb
152
154
  - lib/spinebox/templates/app/config.ru
153
155
  - lib/spinebox/templates/app/config/config.rb