soca 0.2.0 → 0.3.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.
@@ -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: []