spontaneous 0.2.0.alpha3 → 0.2.0.alpha4
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/lib/spontaneous/cli/base.rb +1 -1
- data/lib/spontaneous/cli/site.rb +1 -1
- data/lib/spontaneous/json.rb +1 -2
- data/lib/spontaneous/sequel.rb +1 -1
- data/lib/spontaneous/server.rb +0 -2
- data/lib/spontaneous/storage/cloud.rb +20 -1
- data/lib/spontaneous/version.rb +1 -1
- data/spontaneous.gemspec +7 -7
- data/test/unit/test_asset_bundler.rb +4 -4
- data/test/unit/test_assets.rb +2 -26
- metadata +13 -13
data/lib/spontaneous/cli/base.rb
CHANGED
data/lib/spontaneous/cli/site.rb
CHANGED
data/lib/spontaneous/json.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
require 'oj'
|
4
4
|
|
5
5
|
Oj.default_options = {
|
6
|
-
symbol_keys: true,
|
7
6
|
mode: :compat
|
8
7
|
} if defined?(Oj)
|
9
8
|
|
@@ -11,7 +10,7 @@ module Spontaneous
|
|
11
10
|
module JSON
|
12
11
|
module OjParser
|
13
12
|
def parse(json_string)
|
14
|
-
::Oj.load(json_string)
|
13
|
+
::Oj.load(json_string, symbol_keys: true)
|
15
14
|
rescue
|
16
15
|
nil
|
17
16
|
end
|
data/lib/spontaneous/sequel.rb
CHANGED
data/lib/spontaneous/server.rb
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
|
5
5
|
## thanks again to the stirling work of the Padrino guys & gals.
|
6
6
|
require 'rack'
|
7
|
-
require 'launchy'
|
8
7
|
|
9
8
|
module Spontaneous
|
10
9
|
|
@@ -41,7 +40,6 @@ module Spontaneous
|
|
41
40
|
end
|
42
41
|
trap(:INT, &term)
|
43
42
|
trap(:TERM, &term)
|
44
|
-
# ::Launchy::Browser.run("http://localhost:#{port}/@spontaneous") if Spontaneous.mode == :back
|
45
43
|
end
|
46
44
|
rescue RuntimeError => e
|
47
45
|
if e.message =~ /no acceptor/
|
@@ -5,6 +5,9 @@ require 'tempfile'
|
|
5
5
|
|
6
6
|
module Spontaneous::Storage
|
7
7
|
class Cloud < Backend
|
8
|
+
# Thanks thoughtbot (via paperclip)
|
9
|
+
# http://rdoc.info/github/thoughtbot/paperclip/Paperclip/Storage/Fog
|
10
|
+
AWS_BUCKET_SUBDOMAIN_RESTRICTON_REGEX = /^(?:[a-z]|\d(?!\d{0,2}(?:\.\d{1,3}){3}$))(?:[a-z0-9]|\.(?![\.\-])|\-(?![\.])){1,61}[a-z0-9]$/
|
8
11
|
# bucket_name = "media.kitmonsters.com"
|
9
12
|
# connection = Fog::Storage.new({
|
10
13
|
# :provider=>"AWS",
|
@@ -97,7 +100,23 @@ module Spontaneous::Storage
|
|
97
100
|
if @public_host
|
98
101
|
"#{@public_host}/#{join_path(path)}"
|
99
102
|
else
|
100
|
-
|
103
|
+
if @config[:provider] == "AWS"
|
104
|
+
public_url_aws(path)
|
105
|
+
else
|
106
|
+
bucket.files.new(:key => join_path(path)).public_url
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
# AWS Redirects to the bucketname.s3.amazonaws.com style of public URL
|
112
|
+
# if you use the s3.amazonaws.com/bucketname/ style so to avoid a lot of
|
113
|
+
# slow redirects when loading a page's media we use the fastest available
|
114
|
+
# version
|
115
|
+
def public_url_aws(path)
|
116
|
+
if bucket_name =~ AWS_BUCKET_SUBDOMAIN_RESTRICTON_REGEX
|
117
|
+
"https://#{bucket_name}.s3.amazonaws.com/#{join_path(path)}"
|
118
|
+
else
|
119
|
+
"https://s3.amazonaws.com/#{bucket_name}/#{join_path(path)}"
|
101
120
|
end
|
102
121
|
end
|
103
122
|
|
data/lib/spontaneous/version.rb
CHANGED
data/spontaneous.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
|
|
14
14
|
## If your rubyforge_project name is different, then edit it and comment out
|
15
15
|
## the sub! line in the Rakefile
|
16
16
|
s.name = 'spontaneous'
|
17
|
-
s.version = '0.2.0.
|
17
|
+
s.version = '0.2.0.alpha4'
|
18
18
|
s.date = '2012-10-15'
|
19
19
|
s.rubyforge_project = 'spontaneous'
|
20
20
|
|
@@ -54,10 +54,10 @@ Gem::Specification.new do |s|
|
|
54
54
|
s.add_dependency('coffee-script', ["~> 2.2.0"])
|
55
55
|
s.add_dependency('cutaneous', ["~> 0.1.3"])
|
56
56
|
s.add_dependency('erubis', ["~> 2.6"])
|
57
|
-
s.add_dependency('fog', ["~> 1.
|
57
|
+
s.add_dependency('fog', ["~> 1.6.0"])
|
58
58
|
s.add_dependency('foreman', ["~> 0.22.0"])
|
59
|
-
s.add_dependency('kramdown', ["~> 0.
|
60
|
-
s.add_dependency('launchy', ["~>
|
59
|
+
s.add_dependency('kramdown', ["~> 0.14.0"])
|
60
|
+
s.add_dependency('launchy', ["~> 2.1.2"])
|
61
61
|
s.add_dependency('mini_magick', ["~> 3.3"])
|
62
62
|
s.add_dependency('nokogiri', ["~> 1.5.0"])
|
63
63
|
s.add_dependency('public_suffix', ["~> 1.0"])
|
@@ -71,19 +71,19 @@ Gem::Specification.new do |s|
|
|
71
71
|
s.add_dependency('simultaneous', ["~> 0.4.1"])
|
72
72
|
s.add_dependency('sinatra', ["= 1.3.2"])
|
73
73
|
s.add_dependency('sinatra-contrib', ["~> 1.3.1"])
|
74
|
-
s.add_dependency('sprockets', ["~> 2.
|
74
|
+
s.add_dependency('sprockets', ["~> 2.7.0"])
|
75
75
|
s.add_dependency('stringex', ["= 1.3"])
|
76
76
|
s.add_dependency('therubyracer', ['~> 0.9.10'])
|
77
77
|
s.add_dependency('thin', ["~> 1.2"])
|
78
78
|
s.add_dependency('thor', ["~> 0.14.6"])
|
79
|
-
s.add_dependency('uglifier', ["~> 1.
|
79
|
+
s.add_dependency('uglifier', ["~> 1.3.0"])
|
80
80
|
s.add_dependency('oj', ["~> 1.4"])
|
81
81
|
|
82
82
|
## List your development dependencies here. Development dependencies are
|
83
83
|
## those that are only needed during development
|
84
84
|
s.add_development_dependency('minitest', ["~> 2.1.0"])
|
85
85
|
s.add_development_dependency('mysql2', ["~> 0.3.11"])
|
86
|
-
s.add_development_dependency('pg', ["~> 0.
|
86
|
+
s.add_development_dependency('pg', ["~> 0.14.1"])
|
87
87
|
s.add_development_dependency('jeweler', ["~> 1.5"])
|
88
88
|
s.add_development_dependency('jnunemaker-matchy', ["~> 0.4"])
|
89
89
|
s.add_development_dependency('shoulda', ["~> 2.11.3"])
|
@@ -42,9 +42,9 @@ class AssetBundler < MiniTest::Spec
|
|
42
42
|
compiled_js_path = Dir["#{@site.root}/public/@spontaneous/assets/spontaneous*.js"].first
|
43
43
|
js = File.read(compiled_js_path)
|
44
44
|
# hard to test because we don't know exactly what the uglifier is going to do
|
45
|
-
js.should =~ /var
|
46
|
-
js.should =~ /var
|
47
|
-
js.should =~ /var
|
45
|
+
js.should =~ /var (\w);\1="yes"/
|
46
|
+
js.should =~ /var (\w);\1="#{Date.today.day}"/
|
47
|
+
js.should =~ /var (\w);\1="subdir\/#{Date.today.day}"/
|
48
48
|
end
|
49
49
|
|
50
50
|
should "compile CSS into any destination directory" do
|
@@ -118,7 +118,7 @@ class AssetBundler < MiniTest::Spec
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
context "Production mode editing app
|
121
|
+
context "Production mode editing app" do
|
122
122
|
setup do
|
123
123
|
@compiler = Spontaneous::Asset::AppCompiler.new(fixture_dir, @site.root)
|
124
124
|
@compiler.compile
|
data/test/unit/test_assets.rb
CHANGED
@@ -108,18 +108,7 @@ class AssetTest < MiniTest::Spec
|
|
108
108
|
context "CoffeeScript assets" do
|
109
109
|
should "be compiled & compressed in live environment" do
|
110
110
|
files = [@fixture_root / "public1/js/m.js", @fixture_root / "public2/js/n.js"]
|
111
|
-
Shine.expects(:compress_string).with((
|
112
|
-
(function() {
|
113
|
-
var square;
|
114
|
-
|
115
|
-
square = function(x) {
|
116
|
-
return x * x;
|
117
|
-
};
|
118
|
-
|
119
|
-
if (typeof elvis !== "undefined" && elvis !== null) alert("I knew it!");
|
120
|
-
|
121
|
-
}).call(this);
|
122
|
-
COMPILED
|
111
|
+
Shine.expects(:compress_string).with(regexp_matches(/square = function/), :js, {}).once.returns("var A;\nvar B;\n")
|
123
112
|
context = new_context
|
124
113
|
result = context.scripts("/js/m", "/js/n")
|
125
114
|
result.should =~ /src="\/rev\/5dde6b3e04ce364ef23f51048006e5dd7e6f62ad\.js"/
|
@@ -129,20 +118,7 @@ class AssetTest < MiniTest::Spec
|
|
129
118
|
end
|
130
119
|
|
131
120
|
should "be correctly compiled when mixed with plain js" do
|
132
|
-
Shine.expects(:compress_string).with((
|
133
|
-
var A;
|
134
|
-
(function() {
|
135
|
-
var square;
|
136
|
-
|
137
|
-
square = function(x) {
|
138
|
-
return x * x;
|
139
|
-
};
|
140
|
-
|
141
|
-
if (typeof elvis !== "undefined" && elvis !== null) alert("I knew it!");
|
142
|
-
|
143
|
-
}).call(this);
|
144
|
-
var B;
|
145
|
-
COMPILED
|
121
|
+
Shine.expects(:compress_string).with(regexp_matches(/square = function/), :js, {}).once.returns("var A;\nvar B;\n")
|
146
122
|
context = new_context
|
147
123
|
result = context.scripts("/js/a", "/js/m", "/js/n", "/js/b")
|
148
124
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spontaneous
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.0.
|
4
|
+
version: 0.2.0.alpha4
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -114,7 +114,7 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
117
|
+
version: 1.6.0
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
requirements:
|
123
123
|
- - ~>
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 1.
|
125
|
+
version: 1.6.0
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: foreman
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,7 +146,7 @@ dependencies:
|
|
146
146
|
requirements:
|
147
147
|
- - ~>
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version: 0.
|
149
|
+
version: 0.14.0
|
150
150
|
type: :runtime
|
151
151
|
prerelease: false
|
152
152
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -154,7 +154,7 @@ dependencies:
|
|
154
154
|
requirements:
|
155
155
|
- - ~>
|
156
156
|
- !ruby/object:Gem::Version
|
157
|
-
version: 0.
|
157
|
+
version: 0.14.0
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: launchy
|
160
160
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,7 +162,7 @@ dependencies:
|
|
162
162
|
requirements:
|
163
163
|
- - ~>
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
165
|
+
version: 2.1.2
|
166
166
|
type: :runtime
|
167
167
|
prerelease: false
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -170,7 +170,7 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - ~>
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
173
|
+
version: 2.1.2
|
174
174
|
- !ruby/object:Gem::Dependency
|
175
175
|
name: mini_magick
|
176
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -386,7 +386,7 @@ dependencies:
|
|
386
386
|
requirements:
|
387
387
|
- - ~>
|
388
388
|
- !ruby/object:Gem::Version
|
389
|
-
version: 2.
|
389
|
+
version: 2.7.0
|
390
390
|
type: :runtime
|
391
391
|
prerelease: false
|
392
392
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -394,7 +394,7 @@ dependencies:
|
|
394
394
|
requirements:
|
395
395
|
- - ~>
|
396
396
|
- !ruby/object:Gem::Version
|
397
|
-
version: 2.
|
397
|
+
version: 2.7.0
|
398
398
|
- !ruby/object:Gem::Dependency
|
399
399
|
name: stringex
|
400
400
|
requirement: !ruby/object:Gem::Requirement
|
@@ -466,7 +466,7 @@ dependencies:
|
|
466
466
|
requirements:
|
467
467
|
- - ~>
|
468
468
|
- !ruby/object:Gem::Version
|
469
|
-
version: 1.
|
469
|
+
version: 1.3.0
|
470
470
|
type: :runtime
|
471
471
|
prerelease: false
|
472
472
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -474,7 +474,7 @@ dependencies:
|
|
474
474
|
requirements:
|
475
475
|
- - ~>
|
476
476
|
- !ruby/object:Gem::Version
|
477
|
-
version: 1.
|
477
|
+
version: 1.3.0
|
478
478
|
- !ruby/object:Gem::Dependency
|
479
479
|
name: oj
|
480
480
|
requirement: !ruby/object:Gem::Requirement
|
@@ -530,7 +530,7 @@ dependencies:
|
|
530
530
|
requirements:
|
531
531
|
- - ~>
|
532
532
|
- !ruby/object:Gem::Version
|
533
|
-
version: 0.
|
533
|
+
version: 0.14.1
|
534
534
|
type: :development
|
535
535
|
prerelease: false
|
536
536
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -538,7 +538,7 @@ dependencies:
|
|
538
538
|
requirements:
|
539
539
|
- - ~>
|
540
540
|
- !ruby/object:Gem::Version
|
541
|
-
version: 0.
|
541
|
+
version: 0.14.1
|
542
542
|
- !ruby/object:Gem::Dependency
|
543
543
|
name: jeweler
|
544
544
|
requirement: !ruby/object:Gem::Requirement
|