swfmill 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/.document +5 -0
  2. data/.gitignore +23 -0
  3. data/.swfmill +240 -0
  4. data/LICENSE +340 -0
  5. data/README.rdoc +37 -0
  6. data/Rakefile +59 -0
  7. data/VERSION +1 -0
  8. data/ext/.gitignore +5 -0
  9. data/ext/extconf.rb +86 -0
  10. data/ext/swfmill/.gitignore +27 -0
  11. data/ext/swfmill/AUTHORS +9 -0
  12. data/ext/swfmill/COPYING +340 -0
  13. data/ext/swfmill/Makefile.am +14 -0
  14. data/ext/swfmill/Makefile.in +635 -0
  15. data/ext/swfmill/NEWS +189 -0
  16. data/ext/swfmill/README +170 -0
  17. data/ext/swfmill/TODO +33 -0
  18. data/ext/swfmill/aclocal.m4 +7712 -0
  19. data/ext/swfmill/autogen.sh +7 -0
  20. data/ext/swfmill/compile +142 -0
  21. data/ext/swfmill/config.guess +1516 -0
  22. data/ext/swfmill/config.sub +1626 -0
  23. data/ext/swfmill/configure +21868 -0
  24. data/ext/swfmill/configure.ac +55 -0
  25. data/ext/swfmill/depcomp +589 -0
  26. data/ext/swfmill/install-sh +519 -0
  27. data/ext/swfmill/ltmain.sh +6964 -0
  28. data/ext/swfmill/missing +367 -0
  29. data/ext/swfmill/src/Geom.cpp +107 -0
  30. data/ext/swfmill/src/Geom.h +100 -0
  31. data/ext/swfmill/src/Makefile.am +86 -0
  32. data/ext/swfmill/src/Makefile.in +1025 -0
  33. data/ext/swfmill/src/SWF.h +11941 -0
  34. data/ext/swfmill/src/SWFAction.cpp +41 -0
  35. data/ext/swfmill/src/SWFAction.h +19 -0
  36. data/ext/swfmill/src/SWFBasic.h +7 -0
  37. data/ext/swfmill/src/SWFFile.cpp +406 -0
  38. data/ext/swfmill/src/SWFFile.h +34 -0
  39. data/ext/swfmill/src/SWFFilter.cpp +25 -0
  40. data/ext/swfmill/src/SWFFilter.h +15 -0
  41. data/ext/swfmill/src/SWFGlyphList.cpp +262 -0
  42. data/ext/swfmill/src/SWFGlyphList.h +34 -0
  43. data/ext/swfmill/src/SWFIdItem.h +85 -0
  44. data/ext/swfmill/src/SWFIdItems.h +16 -0
  45. data/ext/swfmill/src/SWFItem.cpp +235 -0
  46. data/ext/swfmill/src/SWFItem.h +60 -0
  47. data/ext/swfmill/src/SWFList.h +179 -0
  48. data/ext/swfmill/src/SWFReader.cpp +352 -0
  49. data/ext/swfmill/src/SWFReader.h +73 -0
  50. data/ext/swfmill/src/SWFShapeItem.cpp +220 -0
  51. data/ext/swfmill/src/SWFShapeItem.h +45 -0
  52. data/ext/swfmill/src/SWFShapeMaker.cpp +401 -0
  53. data/ext/swfmill/src/SWFShapeMaker.h +128 -0
  54. data/ext/swfmill/src/SWFTag.cpp +49 -0
  55. data/ext/swfmill/src/SWFTag.h +20 -0
  56. data/ext/swfmill/src/SWFTrait.cpp +35 -0
  57. data/ext/swfmill/src/SWFTrait.h +22 -0
  58. data/ext/swfmill/src/SWFWriter.cpp +312 -0
  59. data/ext/swfmill/src/SWFWriter.h +84 -0
  60. data/ext/swfmill/src/base64.c +110 -0
  61. data/ext/swfmill/src/base64.h +15 -0
  62. data/ext/swfmill/src/codegen/Makefile.am +15 -0
  63. data/ext/swfmill/src/codegen/Makefile.in +346 -0
  64. data/ext/swfmill/src/codegen/basic.xsl +45 -0
  65. data/ext/swfmill/src/codegen/basics.xsl +235 -0
  66. data/ext/swfmill/src/codegen/dumper.xsl +109 -0
  67. data/ext/swfmill/src/codegen/header.xsl +131 -0
  68. data/ext/swfmill/src/codegen/mk.xsl +26 -0
  69. data/ext/swfmill/src/codegen/parser.xsl +196 -0
  70. data/ext/swfmill/src/codegen/parsexml.xsl +312 -0
  71. data/ext/swfmill/src/codegen/size.xsl +189 -0
  72. data/ext/swfmill/src/codegen/source.xml +2197 -0
  73. data/ext/swfmill/src/codegen/writer.xsl +190 -0
  74. data/ext/swfmill/src/codegen/writexml.xsl +138 -0
  75. data/ext/swfmill/src/swfmill.cpp +482 -0
  76. data/ext/swfmill/src/swft/Makefile.am +55 -0
  77. data/ext/swfmill/src/swft/Makefile.in +717 -0
  78. data/ext/swfmill/src/swft/Parser.cpp +76 -0
  79. data/ext/swfmill/src/swft/Parser.h +37 -0
  80. data/ext/swfmill/src/swft/SVGAttributeParser.cpp +78 -0
  81. data/ext/swfmill/src/swft/SVGAttributeParser.h +35 -0
  82. data/ext/swfmill/src/swft/SVGColor.cpp +116 -0
  83. data/ext/swfmill/src/swft/SVGColor.h +37 -0
  84. data/ext/swfmill/src/swft/SVGColors.h +167 -0
  85. data/ext/swfmill/src/swft/SVGGradient.cpp +258 -0
  86. data/ext/swfmill/src/swft/SVGGradient.h +81 -0
  87. data/ext/swfmill/src/swft/SVGPathParser.cpp +155 -0
  88. data/ext/swfmill/src/swft/SVGPathParser.h +126 -0
  89. data/ext/swfmill/src/swft/SVGPointsParser.cpp +51 -0
  90. data/ext/swfmill/src/swft/SVGPointsParser.h +25 -0
  91. data/ext/swfmill/src/swft/SVGStyle.cpp +181 -0
  92. data/ext/swfmill/src/swft/SVGStyle.h +80 -0
  93. data/ext/swfmill/src/swft/SVGTransformParser.cpp +72 -0
  94. data/ext/swfmill/src/swft/SVGTransformParser.h +32 -0
  95. data/ext/swfmill/src/swft/readpng.c +305 -0
  96. data/ext/swfmill/src/swft/readpng.h +92 -0
  97. data/ext/swfmill/src/swft/swft.cpp +251 -0
  98. data/ext/swfmill/src/swft/swft.h +64 -0
  99. data/ext/swfmill/src/swft/swft_document.cpp +57 -0
  100. data/ext/swfmill/src/swft/swft_import.cpp +38 -0
  101. data/ext/swfmill/src/swft/swft_import_binary.cpp +82 -0
  102. data/ext/swfmill/src/swft/swft_import_jpeg.cpp +255 -0
  103. data/ext/swfmill/src/swft/swft_import_mp3.cpp +268 -0
  104. data/ext/swfmill/src/swft/swft_import_png.cpp +231 -0
  105. data/ext/swfmill/src/swft/swft_import_ttf.cpp +519 -0
  106. data/ext/swfmill/src/swft/swft_import_wav.cpp +255 -0
  107. data/ext/swfmill/src/swft/swft_path.cpp +178 -0
  108. data/ext/swfmill/src/xslt/Makefile.am +51 -0
  109. data/ext/swfmill/src/xslt/Makefile.in +536 -0
  110. data/ext/swfmill/src/xslt/README +19 -0
  111. data/ext/swfmill/src/xslt/assemble.xsl +38 -0
  112. data/ext/swfmill/src/xslt/simple-deprecated.xslt +62 -0
  113. data/ext/swfmill/src/xslt/simple-elements.xslt +627 -0
  114. data/ext/swfmill/src/xslt/simple-import.xslt +565 -0
  115. data/ext/swfmill/src/xslt/simple-svg.xslt +383 -0
  116. data/ext/swfmill/src/xslt/simple-tools.xslt +255 -0
  117. data/ext/swfmill/src/xslt/simple.cpp +1686 -0
  118. data/ext/swfmill/src/xslt/simple.xml +7 -0
  119. data/ext/swfmill/src/xslt/xslt.h +7 -0
  120. data/ext/swfmill/test/Makefile.am +1 -0
  121. data/ext/swfmill/test/Makefile.in +490 -0
  122. data/ext/swfmill/test/xml/Makefile.am +20 -0
  123. data/ext/swfmill/test/xml/Makefile.in +353 -0
  124. data/ext/swfmill/test/xml/test-xml +21 -0
  125. data/ext/swfmill_ext.cc +375 -0
  126. data/lib/swfmill.rb +30 -0
  127. data/spec/data/swfmill-banner1.swf +0 -0
  128. data/spec/spec.opts +1 -0
  129. data/spec/spec_helper.rb +14 -0
  130. data/spec/swfmill_spec.rb +125 -0
  131. metadata +206 -0
@@ -0,0 +1,30 @@
1
+ require "swfmill_ext"
2
+ require "zlib"
3
+
4
+ module Swfmill
5
+ def self.parse(str)
6
+ str = str.to_s
7
+
8
+ signature = str[0, 3]
9
+ raise Error unless signature == "CWS" || signature == "FWS"
10
+
11
+ version = str[3, 1].unpack("C").first
12
+
13
+ data = str[8 .. -1]
14
+ data = Zlib::Inflate.inflate(data) if signature == "CWS"
15
+
16
+ to_xmlstr(data, :version => version, :compressed => (signature == "CWS"))
17
+ end
18
+
19
+ def self.load_file(fn)
20
+ open(fn, "rb"){ |f| load_stream(f) }
21
+ end
22
+
23
+ def self.load_stream(st)
24
+ parse(st.read)
25
+ end
26
+
27
+ def self.publish(xmlstr)
28
+ to_swf(xmlstr)
29
+ end
30
+ end
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,14 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'swfmill'
4
+ require 'spec'
5
+ require 'spec/autorun'
6
+
7
+ Spec::Runner.configure do |config|
8
+
9
+ end
10
+
11
+ def dummy_data
12
+ fn = File.expand_path(File.dirname(__FILE__) + '/data/swfmill-banner1.swf')
13
+ File.open(fn, 'rb'){ |f| f.read }
14
+ end
@@ -0,0 +1,125 @@
1
+ # -*- coding: utf-8 -*-
2
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
+ require "tempfile"
4
+
5
+ context Swfmill, ".load_file" do
6
+ it "openできなければ例外が発生すること" do
7
+ lambda{ Swfmill.load_file(nil) }.should raise_exception
8
+ end
9
+
10
+ it "load_streamをコールすること" do
11
+ Swfmill.should_receive(:load_stream)
12
+ Swfmill.load_file(Tempfile.new(File.basename(__FILE__)).path)
13
+ end
14
+ end
15
+
16
+ context Swfmill, ".load_stream" do
17
+ it "readできなければ例外が発生すること" do
18
+ lambda{ Swfmill.load_stream(Object.new) }.should raise_exception
19
+ end
20
+
21
+ it "parseをコールすること" do
22
+ Swfmill.should_receive(:parse).with(true)
23
+ Swfmill.load_stream(stub("readable", :read => true))
24
+ end
25
+ end
26
+
27
+ context Swfmill, ".parse" do
28
+ it "引数をto_sすること" do
29
+ Swfmill.should_receive(:to_xmlstr)
30
+ Swfmill.parse(mock("to_s", :to_s => dummy_data))
31
+ end
32
+
33
+ it "不正なデータを受け取ったらSwfmill::Errorを返すこと" do
34
+ lambda{ Swfmill.parse("invalid_swf_data") }.should raise_exception Swfmill::Error
35
+ end
36
+
37
+ it "FWSで始まっていないデータを受け取ったらSwfmill::Errorを返すこと" do
38
+ lambda{ Swfmill.parse("fws") }.should raise_exception Swfmill::Error
39
+ lambda{ Swfmill.parse("fWS") }.should raise_exception Swfmill::Error
40
+ lambda{ Swfmill.parse("FWS") }.should_not raise_exception Swfmill::Error
41
+ end
42
+
43
+ it "CWSで始まっていないデータを受け取ったらSwfmill::Errorを返すこと" do
44
+ lambda{ Swfmill.parse("cws") }.should raise_exception Swfmill::Error
45
+ lambda{ Swfmill.parse("cWS") }.should raise_exception Swfmill::Error
46
+ lambda{ Swfmill.parse("CWS") }.should_not raise_exception Swfmill::Error
47
+ end
48
+ end
49
+
50
+ context Swfmill, ".parseにCWSを渡した場合" do
51
+ it "Zlib::Inflate.inflateがコールされること" do
52
+ Zlib::Inflate.should_receive(:inflate)
53
+
54
+ Swfmill.should_receive(:to_xmlstr)
55
+ Swfmill.parse("CWS")
56
+ end
57
+
58
+ it "Zlib::Inflate.inflateに8バイト以降のデータが渡されること" do
59
+ Zlib::Inflate.should_receive(:inflate).with("12345").and_return("12345")
60
+
61
+ Swfmill.should_receive(:to_xmlstr).with("12345", anything)
62
+ Swfmill.parse("CWSxxxxx12345")
63
+ end
64
+
65
+ it "第2引数に{ :version => 9, :compressed => false }を受け取ること" do
66
+ Swfmill.should_receive(:to_xmlstr).with("abc", { :version => 9, :compressed => false })
67
+ Swfmill.parse("FWS\x09xxxxabc")
68
+ end
69
+
70
+ it "第2引数に{ :version => 1, :compressed => true }を受け取ること" do
71
+ Swfmill.should_receive(:to_xmlstr).with("abc", { :version => 1, :compressed => true })
72
+ Swfmill.parse("CWS\x01xxxx" + Zlib::Deflate.deflate("abc"))
73
+ end
74
+ end
75
+
76
+ context Swfmill, ".to_xmlstr" do
77
+ it { lambda{ Swfmill.to_xmlstr }.should raise_exception }
78
+ it { lambda{ Swfmill.to_xmlstr(:non_string_object) }.should raise_exception }
79
+ it { lambda{ Swfmill.to_xmlstr("", :non_hash_object) }.should raise_exception }
80
+
81
+ it "XML文字列を返すこと" do
82
+ Swfmill.parse(dummy_data).should include '<?xml version="1.0"?>'
83
+ end
84
+ end
85
+
86
+ context Swfmill, ".to_swf" do
87
+ it do
88
+ lambda { Swfmill.to_swf("") }.should raise_exception
89
+ end
90
+
91
+ it do
92
+ xml = <<XML
93
+ <?xml version="1.0"?>
94
+ <fla version="7" compressed="0">
95
+ </fla>
96
+ XML
97
+ lambda { Swfmill.to_swf(xml) }.should raise_exception
98
+ end
99
+
100
+ it do
101
+ xml = <<XML
102
+ <?xml version="1.0"?>
103
+ <swf version="7" compressed="0">
104
+ </swf>
105
+ XML
106
+ lambda { Swfmill.to_swf(xml) }.should raise_exception
107
+ end
108
+
109
+ it do
110
+ xml = <<XML
111
+ <?xml version="1.0"?>
112
+ <swf version="7" compressed="0">
113
+ <Header framerate="0">
114
+ </Header>
115
+ </swf>
116
+ XML
117
+ lambda { Swfmill.to_swf(xml) }.should_not raise_exception
118
+ end
119
+ end
120
+
121
+ context Swfmill, ".publish" do
122
+ it "Swfmill.parseしたデータを元に戻せること" do
123
+ Swfmill.publish(Swfmill.parse(dummy_data)).should == dummy_data
124
+ end
125
+ end
metadata ADDED
@@ -0,0 +1,206 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: swfmill
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - fistfvck
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-03-25 00:00:00 +09:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rspec
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 2
30
+ - 9
31
+ version: 1.2.9
32
+ type: :development
33
+ version_requirements: *id001
34
+ description: Ruby bindings for swfmill
35
+ email: fistfvck@gmail.com
36
+ executables: []
37
+
38
+ extensions:
39
+ - ext/extconf.rb
40
+ extra_rdoc_files:
41
+ - LICENSE
42
+ - README.rdoc
43
+ files:
44
+ - .document
45
+ - .gitignore
46
+ - .swfmill
47
+ - LICENSE
48
+ - README.rdoc
49
+ - Rakefile
50
+ - VERSION
51
+ - ext/.gitignore
52
+ - ext/extconf.rb
53
+ - ext/swfmill/.gitignore
54
+ - ext/swfmill/AUTHORS
55
+ - ext/swfmill/COPYING
56
+ - ext/swfmill/Makefile.am
57
+ - ext/swfmill/Makefile.in
58
+ - ext/swfmill/NEWS
59
+ - ext/swfmill/README
60
+ - ext/swfmill/TODO
61
+ - ext/swfmill/aclocal.m4
62
+ - ext/swfmill/autogen.sh
63
+ - ext/swfmill/compile
64
+ - ext/swfmill/config.guess
65
+ - ext/swfmill/config.sub
66
+ - ext/swfmill/configure
67
+ - ext/swfmill/configure.ac
68
+ - ext/swfmill/depcomp
69
+ - ext/swfmill/install-sh
70
+ - ext/swfmill/ltmain.sh
71
+ - ext/swfmill/missing
72
+ - ext/swfmill/src/Geom.cpp
73
+ - ext/swfmill/src/Geom.h
74
+ - ext/swfmill/src/Makefile.am
75
+ - ext/swfmill/src/Makefile.in
76
+ - ext/swfmill/src/SWF.h
77
+ - ext/swfmill/src/SWFAction.cpp
78
+ - ext/swfmill/src/SWFAction.h
79
+ - ext/swfmill/src/SWFBasic.h
80
+ - ext/swfmill/src/SWFFile.cpp
81
+ - ext/swfmill/src/SWFFile.h
82
+ - ext/swfmill/src/SWFFilter.cpp
83
+ - ext/swfmill/src/SWFFilter.h
84
+ - ext/swfmill/src/SWFGlyphList.cpp
85
+ - ext/swfmill/src/SWFGlyphList.h
86
+ - ext/swfmill/src/SWFIdItem.h
87
+ - ext/swfmill/src/SWFIdItems.h
88
+ - ext/swfmill/src/SWFItem.cpp
89
+ - ext/swfmill/src/SWFItem.h
90
+ - ext/swfmill/src/SWFList.h
91
+ - ext/swfmill/src/SWFReader.cpp
92
+ - ext/swfmill/src/SWFReader.h
93
+ - ext/swfmill/src/SWFShapeItem.cpp
94
+ - ext/swfmill/src/SWFShapeItem.h
95
+ - ext/swfmill/src/SWFShapeMaker.cpp
96
+ - ext/swfmill/src/SWFShapeMaker.h
97
+ - ext/swfmill/src/SWFTag.cpp
98
+ - ext/swfmill/src/SWFTag.h
99
+ - ext/swfmill/src/SWFTrait.cpp
100
+ - ext/swfmill/src/SWFTrait.h
101
+ - ext/swfmill/src/SWFWriter.cpp
102
+ - ext/swfmill/src/SWFWriter.h
103
+ - ext/swfmill/src/base64.c
104
+ - ext/swfmill/src/base64.h
105
+ - ext/swfmill/src/codegen/Makefile.am
106
+ - ext/swfmill/src/codegen/Makefile.in
107
+ - ext/swfmill/src/codegen/basic.xsl
108
+ - ext/swfmill/src/codegen/basics.xsl
109
+ - ext/swfmill/src/codegen/dumper.xsl
110
+ - ext/swfmill/src/codegen/header.xsl
111
+ - ext/swfmill/src/codegen/mk.xsl
112
+ - ext/swfmill/src/codegen/parser.xsl
113
+ - ext/swfmill/src/codegen/parsexml.xsl
114
+ - ext/swfmill/src/codegen/size.xsl
115
+ - ext/swfmill/src/codegen/source.xml
116
+ - ext/swfmill/src/codegen/writer.xsl
117
+ - ext/swfmill/src/codegen/writexml.xsl
118
+ - ext/swfmill/src/swfmill.cpp
119
+ - ext/swfmill/src/swft/Makefile.am
120
+ - ext/swfmill/src/swft/Makefile.in
121
+ - ext/swfmill/src/swft/Parser.cpp
122
+ - ext/swfmill/src/swft/Parser.h
123
+ - ext/swfmill/src/swft/SVGAttributeParser.cpp
124
+ - ext/swfmill/src/swft/SVGAttributeParser.h
125
+ - ext/swfmill/src/swft/SVGColor.cpp
126
+ - ext/swfmill/src/swft/SVGColor.h
127
+ - ext/swfmill/src/swft/SVGColors.h
128
+ - ext/swfmill/src/swft/SVGGradient.cpp
129
+ - ext/swfmill/src/swft/SVGGradient.h
130
+ - ext/swfmill/src/swft/SVGPathParser.cpp
131
+ - ext/swfmill/src/swft/SVGPathParser.h
132
+ - ext/swfmill/src/swft/SVGPointsParser.cpp
133
+ - ext/swfmill/src/swft/SVGPointsParser.h
134
+ - ext/swfmill/src/swft/SVGStyle.cpp
135
+ - ext/swfmill/src/swft/SVGStyle.h
136
+ - ext/swfmill/src/swft/SVGTransformParser.cpp
137
+ - ext/swfmill/src/swft/SVGTransformParser.h
138
+ - ext/swfmill/src/swft/readpng.c
139
+ - ext/swfmill/src/swft/readpng.h
140
+ - ext/swfmill/src/swft/swft.cpp
141
+ - ext/swfmill/src/swft/swft.h
142
+ - ext/swfmill/src/swft/swft_document.cpp
143
+ - ext/swfmill/src/swft/swft_import.cpp
144
+ - ext/swfmill/src/swft/swft_import_binary.cpp
145
+ - ext/swfmill/src/swft/swft_import_jpeg.cpp
146
+ - ext/swfmill/src/swft/swft_import_mp3.cpp
147
+ - ext/swfmill/src/swft/swft_import_png.cpp
148
+ - ext/swfmill/src/swft/swft_import_ttf.cpp
149
+ - ext/swfmill/src/swft/swft_import_wav.cpp
150
+ - ext/swfmill/src/swft/swft_path.cpp
151
+ - ext/swfmill/src/xslt/Makefile.am
152
+ - ext/swfmill/src/xslt/Makefile.in
153
+ - ext/swfmill/src/xslt/README
154
+ - ext/swfmill/src/xslt/assemble.xsl
155
+ - ext/swfmill/src/xslt/simple-deprecated.xslt
156
+ - ext/swfmill/src/xslt/simple-elements.xslt
157
+ - ext/swfmill/src/xslt/simple-import.xslt
158
+ - ext/swfmill/src/xslt/simple-svg.xslt
159
+ - ext/swfmill/src/xslt/simple-tools.xslt
160
+ - ext/swfmill/src/xslt/simple.cpp
161
+ - ext/swfmill/src/xslt/simple.xml
162
+ - ext/swfmill/src/xslt/xslt.h
163
+ - ext/swfmill/test/Makefile.am
164
+ - ext/swfmill/test/Makefile.in
165
+ - ext/swfmill/test/xml/Makefile.am
166
+ - ext/swfmill/test/xml/Makefile.in
167
+ - ext/swfmill/test/xml/test-xml
168
+ - ext/swfmill_ext.cc
169
+ - lib/swfmill.rb
170
+ - spec/data/swfmill-banner1.swf
171
+ - spec/spec.opts
172
+ - spec/spec_helper.rb
173
+ - spec/swfmill_spec.rb
174
+ has_rdoc: true
175
+ homepage: http://github.com/fistfvck/swfmill
176
+ licenses: []
177
+
178
+ post_install_message:
179
+ rdoc_options:
180
+ - --charset=UTF-8
181
+ require_paths:
182
+ - lib
183
+ required_ruby_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ segments:
188
+ - 0
189
+ version: "0"
190
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ segments:
195
+ - 0
196
+ version: "0"
197
+ requirements: []
198
+
199
+ rubyforge_project:
200
+ rubygems_version: 1.3.6
201
+ signing_key:
202
+ specification_version: 3
203
+ summary: Ruby bindings for swfmill
204
+ test_files:
205
+ - spec/spec_helper.rb
206
+ - spec/swfmill_spec.rb