rpcoder 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +16 -0
- data/Gemfile.lock +35 -0
- data/LICENSE +21 -0
- data/README.rdoc +21 -0
- data/Rakefile +50 -0
- data/VERSION +1 -0
- data/lib/rpcoder.rb +92 -0
- data/lib/rpcoder/function.rb +41 -0
- data/lib/rpcoder/type.rb +49 -0
- data/lib/templates/API.erb +147 -0
- data/lib/templates/Type.erb +39 -0
- data/mock/build.xml +70 -0
- data/mock/lib/as3corelib.swc +0 -0
- data/mock/lib/flexUnitTasks-4.0.0.jar +0 -0
- data/mock/lib/flexunit-4.0.0.swc +0 -0
- data/mock/lib/flexunit-cilistener-4.0.0.swc +0 -0
- data/mock/lib/flexunit-flexcoverlistener-4.0.0.swc +0 -0
- data/mock/lib/flexunit-uilistener-4.0.0.swc +0 -0
- data/mock/lib/hamcrest-as3-1.1.1.swc +0 -0
- data/mock/lib/mockolate-0.9.3.swc +0 -0
- data/mock/mock_rpcoder.rb +46 -0
- data/mock/mock_server.rb +34 -0
- data/mock/src/Mock.mxml +62 -0
- data/mock/src_test/FlexUnitRunner.mxml +27 -0
- data/mock/src_test/TestSuite.as +10 -0
- data/mock/src_test/com/oneup/rpcoder/test/APITest.as +76 -0
- data/mock/src_test/com/oneup/rpcoder/test/TypeTest.as +25 -0
- data/rpcoder.gemspec +92 -0
- data/spec/fixtures/foo/bar/API.as +139 -0
- data/spec/fixtures/foo/bar/Mail.as +34 -0
- data/spec/rpcoder/function_spec.rb +52 -0
- data/spec/rpcoder_spec.rb +46 -0
- data/spec/spec_helper.rb +12 -0
- metadata +158 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
/* generated by rpcoder */
|
2
|
+
|
3
|
+
package <%= name_space %>
|
4
|
+
{
|
5
|
+
public class <%= type.name %>
|
6
|
+
{
|
7
|
+
<%- type.fields.each do |field| -%>
|
8
|
+
private var _<%= field.name %>:<%= field.type %>;
|
9
|
+
<%- end -%>
|
10
|
+
|
11
|
+
<%- type.fields.each do |field| -%>
|
12
|
+
public function get <%= field.name %>():<%= field.type %>
|
13
|
+
{
|
14
|
+
return _<%= field.name %>;
|
15
|
+
}
|
16
|
+
|
17
|
+
<%- end -%>
|
18
|
+
public function <%= type.name %>(object:Object = null)
|
19
|
+
{
|
20
|
+
if (object)
|
21
|
+
{
|
22
|
+
<%- type.fields.each do |field| -%>
|
23
|
+
<%- if field.array? -%>
|
24
|
+
_<%= field.name %> = new Array();
|
25
|
+
for each(var elem:Object in object['<%= field.name %>'])
|
26
|
+
_<%= field.name %>.push(<%= field.array_field.instance_creator(:elem, {:direct => true}) %>);
|
27
|
+
<%- else -%>
|
28
|
+
_<%= field.name %> = <%= field.instance_creator %>;
|
29
|
+
<%- end -%>
|
30
|
+
<%- end -%>
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
public function toString():String
|
35
|
+
{
|
36
|
+
return [<%= type.fields.map {|i| "_#{i.name}" }.join(', ') %>].join(', ');
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
data/mock/build.xml
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
<project name="Flex Ant Tasks Build Script" default="compile">
|
2
|
+
<!-- setup a prefix for all environment variables -->
|
3
|
+
<property environment="env" />
|
4
|
+
|
5
|
+
<!-- Setup paths for build -->
|
6
|
+
<property name="src.loc" location="${basedir}/src" />
|
7
|
+
<property name="src.test.loc" location="${basedir}/src_test" />
|
8
|
+
<property name="lib.loc" location="${basedir}/lib" />
|
9
|
+
<property name="output.loc" location="${basedir}" />
|
10
|
+
<property name="bin.loc" location="${output.loc}/bin" />
|
11
|
+
<property name="report.loc" location="${output.loc}/report" />
|
12
|
+
|
13
|
+
<!-- Setup Flex and FlexUnit ant tasks -->
|
14
|
+
<!-- You can set this directly so mxmlc will work correctly, or set FLEX_HOME as an environment variable and use as below -->
|
15
|
+
<property name="FLEX_HOME" location="${env.FLEX_HOME}" />
|
16
|
+
<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
|
17
|
+
<taskdef resource="flexUnitTasks.tasks" classpath="${lib.loc}/flexUnitTasks-4.0.0.jar" />
|
18
|
+
|
19
|
+
<target name="init">
|
20
|
+
<!-- Create directories needed for the build process -->
|
21
|
+
<mkdir dir="${bin.loc}" />
|
22
|
+
<mkdir dir="${report.loc}" />
|
23
|
+
</target>
|
24
|
+
|
25
|
+
<target name="mock_rpcoder">
|
26
|
+
<exec executable="ruby">
|
27
|
+
<arg line="mock_rpcoder.rb"/>
|
28
|
+
</exec>
|
29
|
+
</target>
|
30
|
+
|
31
|
+
<!-- Build and output the Main.swf-->
|
32
|
+
<target name="compile" depends="init,mock_rpcoder">
|
33
|
+
<mxmlc file="${src.loc}/Mock.mxml" output="${bin.loc}/Mock.swf">
|
34
|
+
<source-path path-element="${FLEX_HOME}/frameworks"/>
|
35
|
+
<library-path dir="${lib.loc}" append="true">
|
36
|
+
<include name="*.swc" />
|
37
|
+
</library-path>
|
38
|
+
<compiler.debug>false</compiler.debug>
|
39
|
+
</mxmlc>
|
40
|
+
</target>
|
41
|
+
|
42
|
+
<target name="compile_test_runner" depends="init,mock_rpcoder">
|
43
|
+
<mxmlc file="${src.test.loc}/FlexUnitRunner.mxml" output="${bin.loc}/FlexUnitRunner.swf">
|
44
|
+
<source-path path-element="${src.loc}" />
|
45
|
+
<source-path path-element="${src.test.loc}" />
|
46
|
+
<library-path dir="${lib.loc}" append="true">
|
47
|
+
<include name="*.swc" />
|
48
|
+
</library-path>
|
49
|
+
<compiler.verbose-stacktraces>true</compiler.verbose-stacktraces>
|
50
|
+
<compiler.headless-server>true</compiler.headless-server>
|
51
|
+
</mxmlc>
|
52
|
+
</target>
|
53
|
+
|
54
|
+
<target name="test" depends="compile_test_runner">
|
55
|
+
<!-- Execute FlexUnit tests and publish reports -->
|
56
|
+
<flexunit swf="${bin.loc}/FlexUnitRunner.swf"
|
57
|
+
toDir="${report.loc}"
|
58
|
+
haltonfailure="false"
|
59
|
+
verbose="true"
|
60
|
+
headless="true"
|
61
|
+
localTrusted="true" />
|
62
|
+
<!-- Generate readable JUnit-style reports -->
|
63
|
+
<junitreport todir="${report.loc}">
|
64
|
+
<fileset dir="${report.loc}">
|
65
|
+
<include name="TEST-*.xml" />
|
66
|
+
</fileset>
|
67
|
+
<report format="frames" todir="${report.loc}/html" />
|
68
|
+
</junitreport>
|
69
|
+
</target>
|
70
|
+
</project>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift(File.expand_path('../lib', File.dirname(__FILE__)))
|
5
|
+
require 'rpcoder'
|
6
|
+
require 'fileutils'
|
7
|
+
|
8
|
+
#######################################
|
9
|
+
# API definition
|
10
|
+
#######################################
|
11
|
+
|
12
|
+
RPCoder.name_space = 'com.oneup.rpcoder.mock'
|
13
|
+
RPCoder.api_class_name = 'API'
|
14
|
+
|
15
|
+
RPCoder.type "Mail" do |t|
|
16
|
+
t.add_field :subject, :String
|
17
|
+
t.add_field :body, :String
|
18
|
+
end
|
19
|
+
|
20
|
+
RPCoder.function "getMail" do |f|
|
21
|
+
f.path = "/mails/:id" # => ("/mails/" + id)
|
22
|
+
f.method = "GET"
|
23
|
+
f.return_type = "Mail"
|
24
|
+
f.add_param :id, "int"
|
25
|
+
f.description = 'メールを取得'
|
26
|
+
end
|
27
|
+
|
28
|
+
RPCoder.function "sendMail" do |f|
|
29
|
+
f.path = "/mails" # => ("/mails/" + id)
|
30
|
+
f.method = "POST"
|
31
|
+
f.return_type = "void"
|
32
|
+
f.add_param :subject, "String"
|
33
|
+
f.add_param :body, "String"
|
34
|
+
f.description = 'メールを送信'
|
35
|
+
end
|
36
|
+
|
37
|
+
RPCoder.function "getError" do |f|
|
38
|
+
f.path = "/error/:statusCode"
|
39
|
+
f.method = "GET"
|
40
|
+
f.return_type = "void"
|
41
|
+
f.add_param :statusCode, :int
|
42
|
+
f.description = 'Get Error'
|
43
|
+
end
|
44
|
+
|
45
|
+
dir = File.expand_path('src', File.dirname(__FILE__))
|
46
|
+
RPCoder.export(dir)
|
data/mock/mock_server.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
#
|
2
|
+
# == Usage
|
3
|
+
#
|
4
|
+
# $ ruby mock_server.rb
|
5
|
+
#
|
6
|
+
|
7
|
+
require 'sinatra'
|
8
|
+
require 'json'
|
9
|
+
|
10
|
+
get '/crossdomain.xml' do
|
11
|
+
<<XML
|
12
|
+
<?xml version="1.0"?>
|
13
|
+
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
|
14
|
+
<cross-domain-policy>
|
15
|
+
<allow-access-from domain="*" />
|
16
|
+
</cross-domain-policy>
|
17
|
+
XML
|
18
|
+
end
|
19
|
+
|
20
|
+
get '/mails/:id' do
|
21
|
+
puts "url: #{request.url}"
|
22
|
+
puts "params: #{params.inspect}"
|
23
|
+
{"id" => params[:id], "subject" => "hi", "body" => "hi, I'm ..."}.to_json
|
24
|
+
end
|
25
|
+
|
26
|
+
post '/mails' do
|
27
|
+
puts "url: #{request.url}"
|
28
|
+
puts "params: #{params.inspect}"
|
29
|
+
{}.to_json
|
30
|
+
end
|
31
|
+
|
32
|
+
get '/error/:status_code' do
|
33
|
+
halt params[:status_code].to_i, "Error[#{params[:status_code]}]"
|
34
|
+
end
|
data/mock/src/Mock.mxml
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
|
3
|
+
xmlns:s="library://ns.adobe.com/flex/spark"
|
4
|
+
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
|
5
|
+
|
6
|
+
<fx:Script>
|
7
|
+
<![CDATA[
|
8
|
+
import com.oneup.rpcoder.mock.API
|
9
|
+
import com.oneup.rpcoder.mock.Mail
|
10
|
+
import mx.rpc.events.FaultEvent;
|
11
|
+
|
12
|
+
protected function button1_clickHandler(event:MouseEvent):void
|
13
|
+
{
|
14
|
+
var api:API = new API("http://localhost:4567/");
|
15
|
+
api.getMail(
|
16
|
+
1,
|
17
|
+
function(result:Mail):void {
|
18
|
+
outputText.text += "getMail => " + result.toString() + "\n";
|
19
|
+
},
|
20
|
+
function(e:FaultEvent):void {
|
21
|
+
outputText.text += e.statusCode + ": " + e.fault.content + "\n"
|
22
|
+
}
|
23
|
+
);
|
24
|
+
}
|
25
|
+
|
26
|
+
protected function button2_clickHandler(event:MouseEvent):void
|
27
|
+
{
|
28
|
+
var api:API = new API("http://localhost:4567/");
|
29
|
+
api.sendMail('hello', 'hello, I\'m foo',
|
30
|
+
function():void {
|
31
|
+
outputText.text += "mail has been sent\n"
|
32
|
+
},
|
33
|
+
function(e:FaultEvent):void {
|
34
|
+
outputText.text += e.statusCode + ": " + e.fault.content + "\n"
|
35
|
+
}
|
36
|
+
);
|
37
|
+
}
|
38
|
+
|
39
|
+
protected function button3_clickHandler(event:MouseEvent):void
|
40
|
+
{
|
41
|
+
var api:API = new API("http://localhost:4567/");
|
42
|
+
api.errorHandler = function(e:FaultEvent, t:Object):void {
|
43
|
+
outputText.text += e.statusCode + ": " + e.fault.content + "\n"
|
44
|
+
}
|
45
|
+
api.getError(
|
46
|
+
500,
|
47
|
+
function():void {},
|
48
|
+
function(e:FaultEvent):void {}
|
49
|
+
);
|
50
|
+
}
|
51
|
+
]]>
|
52
|
+
</fx:Script>
|
53
|
+
|
54
|
+
<fx:Declarations>
|
55
|
+
<!-- Place non-visual elements (e.g., services, value objects) here -->
|
56
|
+
</fx:Declarations>
|
57
|
+
|
58
|
+
<s:Button x="10" y="10" label="getMail" click="button1_clickHandler(event)"/>
|
59
|
+
<s:Button x="100" y="10" label="sendMail" click="button2_clickHandler(event)"/>
|
60
|
+
<s:Button x="200" y="10" label="getError" click="button3_clickHandler(event)"/>
|
61
|
+
<s:TextArea x="10" y="39" width="300" height="300" editable="false" id="outputText"/>
|
62
|
+
</s:Application>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<s:Application
|
3
|
+
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
4
|
+
xmlns:s="library://ns.adobe.com/flex/spark"
|
5
|
+
xmlns:mx="library://ns.adobe.com/flex/mx"
|
6
|
+
xmlns:adobe="http://www.adobe.com/2009/flexUnitUIRunner"
|
7
|
+
creationComplete="runMe()">
|
8
|
+
|
9
|
+
<fx:Script>
|
10
|
+
<![CDATA[
|
11
|
+
import org.flexunit.listeners.CIListener;
|
12
|
+
import org.flexunit.listeners.UIListener;
|
13
|
+
import org.flexunit.runner.FlexUnitCore;
|
14
|
+
|
15
|
+
private var core:FlexUnitCore;
|
16
|
+
|
17
|
+
public function runMe():void {
|
18
|
+
core = new FlexUnitCore();
|
19
|
+
core.addListener(new UIListener(uiListener));
|
20
|
+
core.addListener(new CIListener());
|
21
|
+
core.run(TestSuite);
|
22
|
+
}
|
23
|
+
]]>
|
24
|
+
</fx:Script>
|
25
|
+
|
26
|
+
<adobe:TestRunnerBase id="uiListener" width="100%" height="100%" />
|
27
|
+
</s:Application>
|
@@ -0,0 +1,76 @@
|
|
1
|
+
package com.oneup.rpcoder.test {
|
2
|
+
import mx.rpc.AsyncToken;
|
3
|
+
import mx.rpc.http.HTTPService;
|
4
|
+
import flash.events.*;
|
5
|
+
import mockolate.*;
|
6
|
+
import mx.rpc.events.FaultEvent;
|
7
|
+
import org.flexunit.asserts.*;
|
8
|
+
import org.flexunit.async.Async;
|
9
|
+
import org.hamcrest.core.anything;
|
10
|
+
|
11
|
+
import com.oneup.rpcoder.mock.*;
|
12
|
+
|
13
|
+
public class APITest {
|
14
|
+
/*
|
15
|
+
* Preparing
|
16
|
+
*/
|
17
|
+
[Before(async, timeout=5000)]
|
18
|
+
public function prepareMockolates() : void {
|
19
|
+
Async.proceedOnEvent(this, prepare(API, HTTPService, AsyncToken), Event.COMPLETE);
|
20
|
+
}
|
21
|
+
|
22
|
+
[Test(description="API を new できる")]
|
23
|
+
public function newAPI() : void {
|
24
|
+
var api : API = new API('http://example.com/');
|
25
|
+
assertEquals('http://example.com/', api.baseUrl);
|
26
|
+
}
|
27
|
+
|
28
|
+
[Test(description="API#getMail を呼び出せる")]
|
29
|
+
public function callGetMail() : void {
|
30
|
+
var api : API = nice(API);
|
31
|
+
mock(api).method("request").args('GET', '/mails/1', anything(), anything(), anything());
|
32
|
+
stub(api).method("getMail").callsSuper();
|
33
|
+
api.getMail(
|
34
|
+
1,
|
35
|
+
function(mail : Mail) : void {},
|
36
|
+
function(e : FaultEvent) : void {}
|
37
|
+
);
|
38
|
+
verify(api);
|
39
|
+
}
|
40
|
+
|
41
|
+
[Test(description="API#sendMail を呼び出せる")]
|
42
|
+
public function callSendMail() : void {
|
43
|
+
var api : API = nice(API);
|
44
|
+
mock(api).method("request").args('POST', '/mails', anything(), anything(), anything());
|
45
|
+
stub(api).method("sendMail").callsSuper();
|
46
|
+
api.sendMail(
|
47
|
+
'hi',
|
48
|
+
'foo bar',
|
49
|
+
function(mail : Mail) : void {},
|
50
|
+
function(e : FaultEvent) : void {}
|
51
|
+
);
|
52
|
+
verify(api);
|
53
|
+
}
|
54
|
+
|
55
|
+
[Test(description="API#request を呼び出せる")]
|
56
|
+
public function callRequest() : void {
|
57
|
+
var api : API = nice(API);
|
58
|
+
var service : HTTPService = strict(HTTPService);
|
59
|
+
var token : AsyncToken = strict(AsyncToken);
|
60
|
+
var params : Object = {foo:'foo', bar:'bar'};
|
61
|
+
|
62
|
+
stub(api).method("createHttpService").anyArgs().returns(service);
|
63
|
+
mock(service).setter("method").arg("GET");
|
64
|
+
mock(service).setter("url").arg('/foo');
|
65
|
+
mock(service).setter("request").arg(params);
|
66
|
+
mock(service).setter("resultFormat").arg("text");
|
67
|
+
mock(service).method("send").returns(token);
|
68
|
+
mock(token).method("addResponder").anyArgs();
|
69
|
+
|
70
|
+
stub(api).method("request").callsSuper();
|
71
|
+
api.request('GET', '/foo', params, function():void{}, function():void{});
|
72
|
+
|
73
|
+
verify(service);
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
package com.oneup.rpcoder.test {
|
2
|
+
import org.flexunit.asserts.assertEquals;
|
3
|
+
import com.oneup.rpcoder.mock.*;
|
4
|
+
|
5
|
+
public class TypeTest
|
6
|
+
{
|
7
|
+
[Test(description="オブジェクトを作成できる")]
|
8
|
+
public function createObject():void
|
9
|
+
{
|
10
|
+
var data:Object = {subject:'hi', body: 'foo bar'};
|
11
|
+
var mail:Mail = new Mail(data);
|
12
|
+
assertEquals(data['subject'], mail.subject);
|
13
|
+
assertEquals(data['body'], mail.body);
|
14
|
+
}
|
15
|
+
|
16
|
+
[Test(description="少ないデータをもとにオブジェクトを作成できる")]
|
17
|
+
public function createObjectWithFewData():void
|
18
|
+
{
|
19
|
+
var data:Object = {subject:'hi'};
|
20
|
+
var mail:Mail = new Mail(data);
|
21
|
+
assertEquals(data['subject'], mail.subject);
|
22
|
+
assertEquals(null, mail.body);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
data/rpcoder.gemspec
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{rpcoder}
|
8
|
+
s.version = "0.0.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["jugyo", "Toshiyuki Hirooka"]
|
12
|
+
s.date = %q{2011-04-25}
|
13
|
+
s.description = %q{Simple RPC generator for as3}
|
14
|
+
s.email = %q{toshi.hirooka@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
"Gemfile",
|
21
|
+
"Gemfile.lock",
|
22
|
+
"LICENSE",
|
23
|
+
"README.rdoc",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"lib/rpcoder.rb",
|
27
|
+
"lib/rpcoder/function.rb",
|
28
|
+
"lib/rpcoder/type.rb",
|
29
|
+
"lib/templates/API.erb",
|
30
|
+
"lib/templates/Type.erb",
|
31
|
+
"mock/build.xml",
|
32
|
+
"mock/lib/as3corelib.swc",
|
33
|
+
"mock/lib/flexUnitTasks-4.0.0.jar",
|
34
|
+
"mock/lib/flexunit-4.0.0.swc",
|
35
|
+
"mock/lib/flexunit-cilistener-4.0.0.swc",
|
36
|
+
"mock/lib/flexunit-flexcoverlistener-4.0.0.swc",
|
37
|
+
"mock/lib/flexunit-uilistener-4.0.0.swc",
|
38
|
+
"mock/lib/hamcrest-as3-1.1.1.swc",
|
39
|
+
"mock/lib/mockolate-0.9.3.swc",
|
40
|
+
"mock/mock_rpcoder.rb",
|
41
|
+
"mock/mock_server.rb",
|
42
|
+
"mock/src/Mock.mxml",
|
43
|
+
"mock/src_test/FlexUnitRunner.mxml",
|
44
|
+
"mock/src_test/TestSuite.as",
|
45
|
+
"mock/src_test/com/oneup/rpcoder/test/APITest.as",
|
46
|
+
"mock/src_test/com/oneup/rpcoder/test/TypeTest.as",
|
47
|
+
"rpcoder.gemspec",
|
48
|
+
"spec/fixtures/foo/bar/API.as",
|
49
|
+
"spec/fixtures/foo/bar/Mail.as",
|
50
|
+
"spec/rpcoder/function_spec.rb",
|
51
|
+
"spec/rpcoder_spec.rb",
|
52
|
+
"spec/spec_helper.rb"
|
53
|
+
]
|
54
|
+
s.homepage = %q{http://github.com/one-up/rpcoder}
|
55
|
+
s.licenses = ["MIT"]
|
56
|
+
s.require_paths = ["lib"]
|
57
|
+
s.rubygems_version = %q{1.7.2}
|
58
|
+
s.summary = %q{Simple RPC generator for as3}
|
59
|
+
s.test_files = [
|
60
|
+
"spec/rpcoder/function_spec.rb",
|
61
|
+
"spec/rpcoder_spec.rb",
|
62
|
+
"spec/spec_helper.rb"
|
63
|
+
]
|
64
|
+
|
65
|
+
if s.respond_to? :specification_version then
|
66
|
+
s.specification_version = 3
|
67
|
+
|
68
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
69
|
+
s.add_runtime_dependency(%q<sinatra>, [">= 0"])
|
70
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
71
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
72
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
73
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
74
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
75
|
+
else
|
76
|
+
s.add_dependency(%q<sinatra>, [">= 0"])
|
77
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
78
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
79
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
80
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
81
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
82
|
+
end
|
83
|
+
else
|
84
|
+
s.add_dependency(%q<sinatra>, [">= 0"])
|
85
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
86
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
87
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
88
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
89
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|