soca 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,7 @@
1
1
  {
2
2
  "id": "<%= appname %>",
3
- "mapDirectories": <%= JSON.pretty_generate(@dir_mappings) %>
3
+ "mapDirectories": <%= JSON.pretty_generate(@dir_mappings) %>,
4
+ "plugins": [
5
+ //['jim', { // jim options }], ...
6
+ ]
4
7
  }
@@ -4,15 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{soca}
8
- s.version = "0.2.0"
7
+ s.name = "soca"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Aaron Quint"]
12
- s.date = %q{2011-03-21}
13
- s.default_executable = %q{soca}
14
- s.description = %q{soca is a different way of writing apps for CouchDB. The structure is up to you.}
15
- s.email = %q{aaron@quirkey.com}
12
+ s.date = "2012-01-21"
13
+ s.description = "soca is a different way of writing apps for CouchDB. The structure is up to you."
14
+ s.email = "aaron@quirkey.com"
16
15
  s.executables = ["soca"]
17
16
  s.extra_rdoc_files = [
18
17
  "LICENSE",
@@ -32,6 +31,7 @@ Gem::Specification.new do |s|
32
31
  "lib/soca/plugin.rb",
33
32
  "lib/soca/plugins/coffeescript.rb",
34
33
  "lib/soca/plugins/compass.rb",
34
+ "lib/soca/plugins/haml.rb",
35
35
  "lib/soca/plugins/jim.rb",
36
36
  "lib/soca/plugins/macro.rb",
37
37
  "lib/soca/plugins/mustache.rb",
@@ -52,7 +52,8 @@ Gem::Specification.new do |s|
52
52
  "lib/soca/templates/rewrites.js.erb",
53
53
  "soca.gemspec",
54
54
  "test/helper.rb",
55
- "test/test_plugins.rb",
55
+ "test/test_compass_plugin.rb",
56
+ "test/test_macro_plugin.rb",
56
57
  "test/test_soca_cli.rb",
57
58
  "test/test_soca_pusher.rb",
58
59
  "test/testapp/.couchapprc",
@@ -74,91 +75,76 @@ Gem::Specification.new do |s|
74
75
  "test/testapp/rewrites.js",
75
76
  "test/testapp/templates/index.mustache"
76
77
  ]
77
- s.homepage = %q{http://github.com/quirkey/soca}
78
+ s.homepage = "http://github.com/quirkey/soca"
78
79
  s.require_paths = ["lib"]
79
- s.rubygems_version = %q{1.3.7}
80
- s.summary = %q{Sammy on CouchApp}
81
- s.test_files = [
82
- "test/helper.rb",
83
- "test/test_plugins.rb",
84
- "test/test_soca_cli.rb",
85
- "test/test_soca_pusher.rb",
86
- "test/testapp/hooks/before_build.rb",
87
- "test/testapp/hooks/before_push.rb"
88
- ]
80
+ s.rubygems_version = "1.8.10"
81
+ s.summary = "Sammy on CouchApp"
89
82
 
90
83
  if s.respond_to? :specification_version then
91
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
92
84
  s.specification_version = 3
93
85
 
94
86
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
95
87
  s.add_runtime_dependency(%q<json>, ["~> 1.4.6"])
96
88
  s.add_runtime_dependency(%q<mime-types>, ["~> 1.16"])
97
- s.add_runtime_dependency(%q<typhoeus>, ["~> 0.2"])
89
+ s.add_runtime_dependency(%q<typhoeus>, ["~> 0.2.4"])
98
90
  s.add_runtime_dependency(%q<thor>, ["~> 0.14.0"])
99
91
  s.add_runtime_dependency(%q<jim>, ["~> 0.3.1"])
100
- s.add_runtime_dependency(%q<compass>, ["~> 0.10.5"])
101
- s.add_runtime_dependency(%q<mustache>, ["~> 0.11.2"])
102
- s.add_runtime_dependency(%q<coffee-script>, ["~> 2.1.2"])
92
+ s.add_runtime_dependency(%q<compass>, ["~> 0.11"])
93
+ s.add_runtime_dependency(%q<mustache>, ["~> 0.99"])
94
+ s.add_runtime_dependency(%q<coffee-script>, ["~> 2.2"])
103
95
  s.add_development_dependency(%q<rake>, [">= 0"])
104
96
  s.add_development_dependency(%q<jeweler>, [">= 0"])
105
- s.add_development_dependency(%q<shoulda>, [">= 0"])
106
- s.add_development_dependency(%q<yard>, [">= 0"])
107
97
  s.add_runtime_dependency(%q<json>, ["~> 1.4.6"])
108
98
  s.add_runtime_dependency(%q<mime-types>, ["~> 1.16"])
109
- s.add_runtime_dependency(%q<typhoeus>, ["~> 0.2"])
99
+ s.add_runtime_dependency(%q<typhoeus>, ["~> 0.2.4"])
110
100
  s.add_runtime_dependency(%q<thor>, ["~> 0.14.0"])
111
101
  s.add_runtime_dependency(%q<jim>, ["~> 0.3.1"])
112
- s.add_runtime_dependency(%q<compass>, ["~> 0.10.5"])
113
- s.add_runtime_dependency(%q<mustache>, ["~> 0.11.2"])
114
- s.add_runtime_dependency(%q<coffee-script>, ["~> 2.1.2"])
102
+ s.add_runtime_dependency(%q<compass>, ["~> 0.12"])
103
+ s.add_runtime_dependency(%q<mustache>, ["~> 0.99"])
104
+ s.add_runtime_dependency(%q<coffee-script>, ["~> 2.2"])
115
105
  s.add_development_dependency(%q<shoulda>, [">= 0"])
116
106
  s.add_development_dependency(%q<yard>, [">= 0"])
117
107
  else
118
108
  s.add_dependency(%q<json>, ["~> 1.4.6"])
119
109
  s.add_dependency(%q<mime-types>, ["~> 1.16"])
120
- s.add_dependency(%q<typhoeus>, ["~> 0.2"])
110
+ s.add_dependency(%q<typhoeus>, ["~> 0.2.4"])
121
111
  s.add_dependency(%q<thor>, ["~> 0.14.0"])
122
112
  s.add_dependency(%q<jim>, ["~> 0.3.1"])
123
- s.add_dependency(%q<compass>, ["~> 0.10.5"])
124
- s.add_dependency(%q<mustache>, ["~> 0.11.2"])
125
- s.add_dependency(%q<coffee-script>, ["~> 2.1.2"])
113
+ s.add_dependency(%q<compass>, ["~> 0.11"])
114
+ s.add_dependency(%q<mustache>, ["~> 0.99"])
115
+ s.add_dependency(%q<coffee-script>, ["~> 2.2"])
126
116
  s.add_dependency(%q<rake>, [">= 0"])
127
117
  s.add_dependency(%q<jeweler>, [">= 0"])
128
- s.add_dependency(%q<shoulda>, [">= 0"])
129
- s.add_dependency(%q<yard>, [">= 0"])
130
118
  s.add_dependency(%q<json>, ["~> 1.4.6"])
131
119
  s.add_dependency(%q<mime-types>, ["~> 1.16"])
132
- s.add_dependency(%q<typhoeus>, ["~> 0.2"])
120
+ s.add_dependency(%q<typhoeus>, ["~> 0.2.4"])
133
121
  s.add_dependency(%q<thor>, ["~> 0.14.0"])
134
122
  s.add_dependency(%q<jim>, ["~> 0.3.1"])
135
- s.add_dependency(%q<compass>, ["~> 0.10.5"])
136
- s.add_dependency(%q<mustache>, ["~> 0.11.2"])
137
- s.add_dependency(%q<coffee-script>, ["~> 2.1.2"])
123
+ s.add_dependency(%q<compass>, ["~> 0.12"])
124
+ s.add_dependency(%q<mustache>, ["~> 0.99"])
125
+ s.add_dependency(%q<coffee-script>, ["~> 2.2"])
138
126
  s.add_dependency(%q<shoulda>, [">= 0"])
139
127
  s.add_dependency(%q<yard>, [">= 0"])
140
128
  end
141
129
  else
142
130
  s.add_dependency(%q<json>, ["~> 1.4.6"])
143
131
  s.add_dependency(%q<mime-types>, ["~> 1.16"])
144
- s.add_dependency(%q<typhoeus>, ["~> 0.2"])
132
+ s.add_dependency(%q<typhoeus>, ["~> 0.2.4"])
145
133
  s.add_dependency(%q<thor>, ["~> 0.14.0"])
146
134
  s.add_dependency(%q<jim>, ["~> 0.3.1"])
147
- s.add_dependency(%q<compass>, ["~> 0.10.5"])
148
- s.add_dependency(%q<mustache>, ["~> 0.11.2"])
149
- s.add_dependency(%q<coffee-script>, ["~> 2.1.2"])
135
+ s.add_dependency(%q<compass>, ["~> 0.11"])
136
+ s.add_dependency(%q<mustache>, ["~> 0.99"])
137
+ s.add_dependency(%q<coffee-script>, ["~> 2.2"])
150
138
  s.add_dependency(%q<rake>, [">= 0"])
151
139
  s.add_dependency(%q<jeweler>, [">= 0"])
152
- s.add_dependency(%q<shoulda>, [">= 0"])
153
- s.add_dependency(%q<yard>, [">= 0"])
154
140
  s.add_dependency(%q<json>, ["~> 1.4.6"])
155
141
  s.add_dependency(%q<mime-types>, ["~> 1.16"])
156
- s.add_dependency(%q<typhoeus>, ["~> 0.2"])
142
+ s.add_dependency(%q<typhoeus>, ["~> 0.2.4"])
157
143
  s.add_dependency(%q<thor>, ["~> 0.14.0"])
158
144
  s.add_dependency(%q<jim>, ["~> 0.3.1"])
159
- s.add_dependency(%q<compass>, ["~> 0.10.5"])
160
- s.add_dependency(%q<mustache>, ["~> 0.11.2"])
161
- s.add_dependency(%q<coffee-script>, ["~> 2.1.2"])
145
+ s.add_dependency(%q<compass>, ["~> 0.12"])
146
+ s.add_dependency(%q<mustache>, ["~> 0.99"])
147
+ s.add_dependency(%q<coffee-script>, ["~> 2.2"])
162
148
  s.add_dependency(%q<shoulda>, [">= 0"])
163
149
  s.add_dependency(%q<yard>, [">= 0"])
164
150
  end
@@ -2,10 +2,12 @@ require 'rubygems'
2
2
  require 'test/unit'
3
3
  require 'shoulda'
4
4
  require 'mocha'
5
+ require 'compass'
5
6
 
6
7
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
8
  $LOAD_PATH.unshift(File.dirname(__FILE__))
8
9
  require 'soca'
10
+ require 'soca/plugins/compass'
9
11
 
10
12
  class Test::Unit::TestCase
11
13
 
@@ -0,0 +1,57 @@
1
+ require 'helper'
2
+
3
+ class TestCompassPlugin < Test::Unit::TestCase
4
+ def app_path(relative='')
5
+ File.expand_path(@test_app_dir + '/' + relative)
6
+ end
7
+
8
+ context 'compass plugin' do
9
+ setup do
10
+ @pusher = Soca::Pusher.new(app_path)
11
+ end
12
+
13
+ context 'given no options' do
14
+ should 'invoke compass compiler with default options' do
15
+ Compass::Compiler.expects(:new).
16
+ with(@test_app_dir, app_path('sass'), app_path('css'), anything).
17
+ returns(mock(:run => true))
18
+
19
+ @plugin = Soca::Plugins::Compass.new(@pusher)
20
+ @plugin.before_build
21
+ end
22
+ end
23
+
24
+ context 'given a from option' do
25
+ should 'invoke compass compiler with provided from option' do
26
+ Compass::Compiler.expects(:new).
27
+ with(@test_app_dir, app_path('app/sass'), app_path('css'), anything).
28
+ returns(mock(:run => true))
29
+
30
+ @plugin = Soca::Plugins::Compass.new(@pusher, :from => 'app/sass')
31
+ @plugin.before_build
32
+ end
33
+ end
34
+
35
+ context 'given a to option' do
36
+ should 'invoke compass compiler with provided to option' do
37
+ Compass::Compiler.expects(:new).
38
+ with(@test_app_dir, app_path('sass'), app_path('snoop_dogg/css'), anything).
39
+ returns(mock(:run => true))
40
+
41
+ @plugin = Soca::Plugins::Compass.new(@pusher, :to => 'snoop_dogg/css')
42
+ @plugin.before_build
43
+ end
44
+ end
45
+
46
+ context 'given a from option and a to option' do
47
+ should 'invoke compas compiler with provided from and to options' do
48
+ Compass::Compiler.expects(:new).
49
+ with(@test_app_dir, app_path('app/sass'), app_path('app/css'), anything).
50
+ returns(mock(:run => true))
51
+
52
+ @plugin = Soca::Plugins::Compass.new(@pusher, :from => 'app/sass', :to => 'app/css')
53
+ @plugin.before_build
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,35 @@
1
+ require 'helper'
2
+
3
+ class TestSocaPusher < Test::Unit::TestCase
4
+
5
+ context "macro plugin" do
6
+ setup do
7
+ @pusher = Soca::Pusher.new(@test_app_dir)
8
+ @sammy = File.read("#{@test_app_dir}/js/vendor/sammy-0.5.4.js")
9
+ @views = "#{@test_app_dir}/db/views/"
10
+ @pusher.push!
11
+ end
12
+
13
+ should "replace !code macros with file contents" do
14
+ assert @pusher.document['views']['recent'].all?{|part| part[1].include?(@sammy)}
15
+ end
16
+
17
+ should "keep the original code" do
18
+ parts = ['map','reduce'].inject({}){|res,part| res[part] = File.read("#{@views}/recent/#{part}.js").split("\n");res}
19
+ parts.each do |part,lines|
20
+ assert contain_lines(part,lines)
21
+ end
22
+ end
23
+
24
+ should "be able to process views with map only" do
25
+ lines = File.read("#{@views}/only_map/map.js").split("\n")
26
+ assert contain_lines('map',lines)
27
+ end
28
+ end
29
+
30
+ def contain_lines(part,lines)
31
+ lines.delete(' // !code js/vendor/sammy-0.5.4.js')
32
+ lines.all? { |line| @pusher.document['views']['recent'][part].include?(line)}
33
+ end
34
+
35
+ end
@@ -21,6 +21,8 @@ class TestSocaPusher < Test::Unit::TestCase
21
21
 
22
22
  context "build" do
23
23
  setup do
24
+ js_path = File.join(@test_app_dir, 'js', 'default.js')
25
+ File.unlink(js_path) if File.readable?(js_path)
24
26
  @app_file = @push.build
25
27
  end
26
28
 
@@ -55,6 +57,11 @@ class TestSocaPusher < Test::Unit::TestCase
55
57
  assert @app_file['rewrites']
56
58
  assert @app_file['rewrites'][0]['from']
57
59
  end
60
+
61
+ should "run hooks with arbitrary info" do
62
+ assert_equal "test", @push.config["arbitrary_setting"]
63
+ end
64
+
58
65
  end
59
66
 
60
67
  context "push_url" do
@@ -69,12 +76,19 @@ class TestSocaPusher < Test::Unit::TestCase
69
76
  end
70
77
 
71
78
  context "push" do
72
- should "create the db and push" do
79
+ setup do
80
+ @push.push!
81
+ end
82
+
83
+ before_should "create the db and push" do
73
84
  put_response = Typhoeus::Response.new(:code => 201, :headers => "", :body => '{"ok":"true"}')
74
85
  Typhoeus::Request.expects(:put).twice.returns(put_response)
75
86
  get_response = Typhoeus::Response.new(:code => 200, :headers => "", :body => '{"_id":"_design/test_app", "_rev": "2"}')
76
87
  Typhoeus::Request.expects(:get).returns(get_response)
77
- @push.push!
88
+ end
89
+
90
+ should "run hooks" do
91
+ assert_equal "test", @push.config["before_push_setting"]
78
92
  end
79
93
 
80
94
  end
@@ -8,5 +8,9 @@
8
8
  "templates": "_attachments/templates",
9
9
  "db": "",
10
10
  "config.js": ""
11
- }
11
+ },
12
+ "plugins": [
13
+ "macro",
14
+ "jim"
15
+ ]
12
16
  }
@@ -1 +1 @@
1
- plugin 'jim'
1
+ config["arbitrary_setting"] = "test"
@@ -1 +1 @@
1
- plugin 'macro'
1
+ config["before_push_setting"] = "test"
metadata CHANGED
@@ -1,346 +1,246 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: soca
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 2
8
- - 0
9
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Aaron Quint
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2011-03-21 00:00:00 -07:00
18
- default_executable: soca
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-01-21 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: json
22
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70297764672820 !ruby/object:Gem::Requirement
23
17
  none: false
24
- requirements:
18
+ requirements:
25
19
  - - ~>
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 1
29
- - 4
30
- - 6
20
+ - !ruby/object:Gem::Version
31
21
  version: 1.4.6
32
22
  type: :runtime
33
23
  prerelease: false
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *70297764672820
25
+ - !ruby/object:Gem::Dependency
36
26
  name: mime-types
37
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &70297764655440 !ruby/object:Gem::Requirement
38
28
  none: false
39
- requirements:
29
+ requirements:
40
30
  - - ~>
41
- - !ruby/object:Gem::Version
42
- segments:
43
- - 1
44
- - 16
45
- version: "1.16"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.16'
46
33
  type: :runtime
47
34
  prerelease: false
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *70297764655440
36
+ - !ruby/object:Gem::Dependency
50
37
  name: typhoeus
51
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &70297764649260 !ruby/object:Gem::Requirement
52
39
  none: false
53
- requirements:
40
+ requirements:
54
41
  - - ~>
55
- - !ruby/object:Gem::Version
56
- segments:
57
- - 0
58
- - 2
59
- version: "0.2"
42
+ - !ruby/object:Gem::Version
43
+ version: 0.2.4
60
44
  type: :runtime
61
45
  prerelease: false
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *70297764649260
47
+ - !ruby/object:Gem::Dependency
64
48
  name: thor
65
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &70297764646120 !ruby/object:Gem::Requirement
66
50
  none: false
67
- requirements:
51
+ requirements:
68
52
  - - ~>
69
- - !ruby/object:Gem::Version
70
- segments:
71
- - 0
72
- - 14
73
- - 0
53
+ - !ruby/object:Gem::Version
74
54
  version: 0.14.0
75
55
  type: :runtime
76
56
  prerelease: false
77
- version_requirements: *id004
78
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *70297764646120
58
+ - !ruby/object:Gem::Dependency
79
59
  name: jim
80
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ requirement: &70297764644560 !ruby/object:Gem::Requirement
81
61
  none: false
82
- requirements:
62
+ requirements:
83
63
  - - ~>
84
- - !ruby/object:Gem::Version
85
- segments:
86
- - 0
87
- - 3
88
- - 1
64
+ - !ruby/object:Gem::Version
89
65
  version: 0.3.1
90
66
  type: :runtime
91
67
  prerelease: false
92
- version_requirements: *id005
93
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *70297764644560
69
+ - !ruby/object:Gem::Dependency
94
70
  name: compass
95
- requirement: &id006 !ruby/object:Gem::Requirement
71
+ requirement: &70297764642180 !ruby/object:Gem::Requirement
96
72
  none: false
97
- requirements:
73
+ requirements:
98
74
  - - ~>
99
- - !ruby/object:Gem::Version
100
- segments:
101
- - 0
102
- - 10
103
- - 5
104
- version: 0.10.5
75
+ - !ruby/object:Gem::Version
76
+ version: '0.11'
105
77
  type: :runtime
106
78
  prerelease: false
107
- version_requirements: *id006
108
- - !ruby/object:Gem::Dependency
79
+ version_requirements: *70297764642180
80
+ - !ruby/object:Gem::Dependency
109
81
  name: mustache
110
- requirement: &id007 !ruby/object:Gem::Requirement
82
+ requirement: &70297764639060 !ruby/object:Gem::Requirement
111
83
  none: false
112
- requirements:
84
+ requirements:
113
85
  - - ~>
114
- - !ruby/object:Gem::Version
115
- segments:
116
- - 0
117
- - 11
118
- - 2
119
- version: 0.11.2
86
+ - !ruby/object:Gem::Version
87
+ version: '0.99'
120
88
  type: :runtime
121
89
  prerelease: false
122
- version_requirements: *id007
123
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *70297764639060
91
+ - !ruby/object:Gem::Dependency
124
92
  name: coffee-script
125
- requirement: &id008 !ruby/object:Gem::Requirement
93
+ requirement: &70297764636960 !ruby/object:Gem::Requirement
126
94
  none: false
127
- requirements:
95
+ requirements:
128
96
  - - ~>
129
- - !ruby/object:Gem::Version
130
- segments:
131
- - 2
132
- - 1
133
- - 2
134
- version: 2.1.2
97
+ - !ruby/object:Gem::Version
98
+ version: '2.2'
135
99
  type: :runtime
136
100
  prerelease: false
137
- version_requirements: *id008
138
- - !ruby/object:Gem::Dependency
101
+ version_requirements: *70297764636960
102
+ - !ruby/object:Gem::Dependency
139
103
  name: rake
140
- requirement: &id009 !ruby/object:Gem::Requirement
104
+ requirement: &70297764634380 !ruby/object:Gem::Requirement
141
105
  none: false
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- segments:
146
- - 0
147
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
148
110
  type: :development
149
111
  prerelease: false
150
- version_requirements: *id009
151
- - !ruby/object:Gem::Dependency
112
+ version_requirements: *70297764634380
113
+ - !ruby/object:Gem::Dependency
152
114
  name: jeweler
153
- requirement: &id010 !ruby/object:Gem::Requirement
154
- none: false
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- segments:
159
- - 0
160
- version: "0"
161
- type: :development
162
- prerelease: false
163
- version_requirements: *id010
164
- - !ruby/object:Gem::Dependency
165
- name: shoulda
166
- requirement: &id011 !ruby/object:Gem::Requirement
115
+ requirement: &70297764632200 !ruby/object:Gem::Requirement
167
116
  none: false
168
- requirements:
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- segments:
172
- - 0
173
- version: "0"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
174
121
  type: :development
175
122
  prerelease: false
176
- version_requirements: *id011
177
- - !ruby/object:Gem::Dependency
178
- name: yard
179
- requirement: &id012 !ruby/object:Gem::Requirement
180
- none: false
181
- requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- segments:
185
- - 0
186
- version: "0"
187
- type: :development
188
- prerelease: false
189
- version_requirements: *id012
190
- - !ruby/object:Gem::Dependency
123
+ version_requirements: *70297764632200
124
+ - !ruby/object:Gem::Dependency
191
125
  name: json
192
- requirement: &id013 !ruby/object:Gem::Requirement
126
+ requirement: &70297764626940 !ruby/object:Gem::Requirement
193
127
  none: false
194
- requirements:
128
+ requirements:
195
129
  - - ~>
196
- - !ruby/object:Gem::Version
197
- segments:
198
- - 1
199
- - 4
200
- - 6
130
+ - !ruby/object:Gem::Version
201
131
  version: 1.4.6
202
132
  type: :runtime
203
133
  prerelease: false
204
- version_requirements: *id013
205
- - !ruby/object:Gem::Dependency
134
+ version_requirements: *70297764626940
135
+ - !ruby/object:Gem::Dependency
206
136
  name: mime-types
207
- requirement: &id014 !ruby/object:Gem::Requirement
137
+ requirement: &70297764624820 !ruby/object:Gem::Requirement
208
138
  none: false
209
- requirements:
139
+ requirements:
210
140
  - - ~>
211
- - !ruby/object:Gem::Version
212
- segments:
213
- - 1
214
- - 16
215
- version: "1.16"
141
+ - !ruby/object:Gem::Version
142
+ version: '1.16'
216
143
  type: :runtime
217
144
  prerelease: false
218
- version_requirements: *id014
219
- - !ruby/object:Gem::Dependency
145
+ version_requirements: *70297764624820
146
+ - !ruby/object:Gem::Dependency
220
147
  name: typhoeus
221
- requirement: &id015 !ruby/object:Gem::Requirement
148
+ requirement: &70297764622940 !ruby/object:Gem::Requirement
222
149
  none: false
223
- requirements:
150
+ requirements:
224
151
  - - ~>
225
- - !ruby/object:Gem::Version
226
- segments:
227
- - 0
228
- - 2
229
- version: "0.2"
152
+ - !ruby/object:Gem::Version
153
+ version: 0.2.4
230
154
  type: :runtime
231
155
  prerelease: false
232
- version_requirements: *id015
233
- - !ruby/object:Gem::Dependency
156
+ version_requirements: *70297764622940
157
+ - !ruby/object:Gem::Dependency
234
158
  name: thor
235
- requirement: &id016 !ruby/object:Gem::Requirement
159
+ requirement: &70297764621240 !ruby/object:Gem::Requirement
236
160
  none: false
237
- requirements:
161
+ requirements:
238
162
  - - ~>
239
- - !ruby/object:Gem::Version
240
- segments:
241
- - 0
242
- - 14
243
- - 0
163
+ - !ruby/object:Gem::Version
244
164
  version: 0.14.0
245
165
  type: :runtime
246
166
  prerelease: false
247
- version_requirements: *id016
248
- - !ruby/object:Gem::Dependency
167
+ version_requirements: *70297764621240
168
+ - !ruby/object:Gem::Dependency
249
169
  name: jim
250
- requirement: &id017 !ruby/object:Gem::Requirement
170
+ requirement: &70297764610120 !ruby/object:Gem::Requirement
251
171
  none: false
252
- requirements:
172
+ requirements:
253
173
  - - ~>
254
- - !ruby/object:Gem::Version
255
- segments:
256
- - 0
257
- - 3
258
- - 1
174
+ - !ruby/object:Gem::Version
259
175
  version: 0.3.1
260
176
  type: :runtime
261
177
  prerelease: false
262
- version_requirements: *id017
263
- - !ruby/object:Gem::Dependency
178
+ version_requirements: *70297764610120
179
+ - !ruby/object:Gem::Dependency
264
180
  name: compass
265
- requirement: &id018 !ruby/object:Gem::Requirement
181
+ requirement: &70297764607940 !ruby/object:Gem::Requirement
266
182
  none: false
267
- requirements:
183
+ requirements:
268
184
  - - ~>
269
- - !ruby/object:Gem::Version
270
- segments:
271
- - 0
272
- - 10
273
- - 5
274
- version: 0.10.5
185
+ - !ruby/object:Gem::Version
186
+ version: '0.12'
275
187
  type: :runtime
276
188
  prerelease: false
277
- version_requirements: *id018
278
- - !ruby/object:Gem::Dependency
189
+ version_requirements: *70297764607940
190
+ - !ruby/object:Gem::Dependency
279
191
  name: mustache
280
- requirement: &id019 !ruby/object:Gem::Requirement
192
+ requirement: &70297764606120 !ruby/object:Gem::Requirement
281
193
  none: false
282
- requirements:
194
+ requirements:
283
195
  - - ~>
284
- - !ruby/object:Gem::Version
285
- segments:
286
- - 0
287
- - 11
288
- - 2
289
- version: 0.11.2
196
+ - !ruby/object:Gem::Version
197
+ version: '0.99'
290
198
  type: :runtime
291
199
  prerelease: false
292
- version_requirements: *id019
293
- - !ruby/object:Gem::Dependency
200
+ version_requirements: *70297764606120
201
+ - !ruby/object:Gem::Dependency
294
202
  name: coffee-script
295
- requirement: &id020 !ruby/object:Gem::Requirement
203
+ requirement: &70297764604680 !ruby/object:Gem::Requirement
296
204
  none: false
297
- requirements:
205
+ requirements:
298
206
  - - ~>
299
- - !ruby/object:Gem::Version
300
- segments:
301
- - 2
302
- - 1
303
- - 2
304
- version: 2.1.2
207
+ - !ruby/object:Gem::Version
208
+ version: '2.2'
305
209
  type: :runtime
306
210
  prerelease: false
307
- version_requirements: *id020
308
- - !ruby/object:Gem::Dependency
211
+ version_requirements: *70297764604680
212
+ - !ruby/object:Gem::Dependency
309
213
  name: shoulda
310
- requirement: &id021 !ruby/object:Gem::Requirement
214
+ requirement: &70297764593400 !ruby/object:Gem::Requirement
311
215
  none: false
312
- requirements:
313
- - - ">="
314
- - !ruby/object:Gem::Version
315
- segments:
316
- - 0
317
- version: "0"
216
+ requirements:
217
+ - - ! '>='
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
318
220
  type: :development
319
221
  prerelease: false
320
- version_requirements: *id021
321
- - !ruby/object:Gem::Dependency
222
+ version_requirements: *70297764593400
223
+ - !ruby/object:Gem::Dependency
322
224
  name: yard
323
- requirement: &id022 !ruby/object:Gem::Requirement
225
+ requirement: &70297764591240 !ruby/object:Gem::Requirement
324
226
  none: false
325
- requirements:
326
- - - ">="
327
- - !ruby/object:Gem::Version
328
- segments:
329
- - 0
330
- version: "0"
227
+ requirements:
228
+ - - ! '>='
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
331
231
  type: :development
332
232
  prerelease: false
333
- version_requirements: *id022
334
- description: soca is a different way of writing apps for CouchDB. The structure is up to you.
233
+ version_requirements: *70297764591240
234
+ description: soca is a different way of writing apps for CouchDB. The structure is
235
+ up to you.
335
236
  email: aaron@quirkey.com
336
- executables:
237
+ executables:
337
238
  - soca
338
239
  extensions: []
339
-
340
- extra_rdoc_files:
240
+ extra_rdoc_files:
341
241
  - LICENSE
342
242
  - README.md
343
- files:
243
+ files:
344
244
  - .document
345
245
  - Gemfile
346
246
  - Gemfile.lock
@@ -354,6 +254,7 @@ files:
354
254
  - lib/soca/plugin.rb
355
255
  - lib/soca/plugins/coffeescript.rb
356
256
  - lib/soca/plugins/compass.rb
257
+ - lib/soca/plugins/haml.rb
357
258
  - lib/soca/plugins/jim.rb
358
259
  - lib/soca/plugins/macro.rb
359
260
  - lib/soca/plugins/mustache.rb
@@ -374,7 +275,8 @@ files:
374
275
  - lib/soca/templates/rewrites.js.erb
375
276
  - soca.gemspec
376
277
  - test/helper.rb
377
- - test/test_plugins.rb
278
+ - test/test_compass_plugin.rb
279
+ - test/test_macro_plugin.rb
378
280
  - test/test_soca_cli.rb
379
281
  - test/test_soca_pusher.rb
380
282
  - test/testapp/.couchapprc
@@ -395,43 +297,31 @@ files:
395
297
  - test/testapp/js/vendor/sammy.mustache-0.5.4.js
396
298
  - test/testapp/rewrites.js
397
299
  - test/testapp/templates/index.mustache
398
- has_rdoc: true
399
300
  homepage: http://github.com/quirkey/soca
400
301
  licenses: []
401
-
402
302
  post_install_message:
403
303
  rdoc_options: []
404
-
405
- require_paths:
304
+ require_paths:
406
305
  - lib
407
- required_ruby_version: !ruby/object:Gem::Requirement
306
+ required_ruby_version: !ruby/object:Gem::Requirement
408
307
  none: false
409
- requirements:
410
- - - ">="
411
- - !ruby/object:Gem::Version
412
- hash: 3066963087799799412
413
- segments:
308
+ requirements:
309
+ - - ! '>='
310
+ - !ruby/object:Gem::Version
311
+ version: '0'
312
+ segments:
414
313
  - 0
415
- version: "0"
416
- required_rubygems_version: !ruby/object:Gem::Requirement
314
+ hash: -3405440957749981210
315
+ required_rubygems_version: !ruby/object:Gem::Requirement
417
316
  none: false
418
- requirements:
419
- - - ">="
420
- - !ruby/object:Gem::Version
421
- segments:
422
- - 0
423
- version: "0"
317
+ requirements:
318
+ - - ! '>='
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
424
321
  requirements: []
425
-
426
322
  rubyforge_project:
427
- rubygems_version: 1.3.7
323
+ rubygems_version: 1.8.10
428
324
  signing_key:
429
325
  specification_version: 3
430
326
  summary: Sammy on CouchApp
431
- test_files:
432
- - test/helper.rb
433
- - test/test_plugins.rb
434
- - test/test_soca_cli.rb
435
- - test/test_soca_pusher.rb
436
- - test/testapp/hooks/before_build.rb
437
- - test/testapp/hooks/before_push.rb
327
+ test_files: []