flame_channel_parser 4.1.1 → 4.2.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63ea2d0b36c71708aed053a7e899fe45a90144f09a76a539bfde0fa75cebdbba
4
- data.tar.gz: a28e90fce5c379defb431679b1593f5e9b1a02e1a69ac492b8312066bc1eb86e
3
+ metadata.gz: 5310312580c16476d46b962fedb4517abefcffa77462be460e8a5368b277941a
4
+ data.tar.gz: 25b0cb4de7e741fb58589ef030e38c7cea6bb811784b33993b8a9e82604acbc2
5
5
  SHA512:
6
- metadata.gz: 7b6359fb57c03a67a048c2679efddff22d1ced66ec00bc93a34fc8a0965a17eb0af749baa3b66423542775e6442d1cf61d509f784c69b8ea46303acbea9cbb95
7
- data.tar.gz: caf1e909f3f2f8078218c230e6fc3f882fc2df70fb64b0f8f3e9ce8550314b67b12c401e68c4da541547af01b29e1b56aaef90e260c00f9397474554f42ccfc6
6
+ metadata.gz: 00acdb63e9791ef57d05023fb1235dcaabe7c6fdf15f0e1f82182e03cbdbf9579fe24a1c3e08a57480abcf20fba600399b3c206262591f3381c738534bb4520a
7
+ data.tar.gz: e9908c6a1cb2d07e40ee9a1539bc9463d03ee0870f2ebe66330bf075adc0a63de5099e9891b2fd20bd949492464fe033b392d4c0817de7d49ac73e6437307d28
@@ -0,0 +1,23 @@
1
+ name: CI
2
+
3
+ on:
4
+ - push
5
+ - pull_request
6
+
7
+ jobs:
8
+ test:
9
+ name: Ruby ${{ matrix.ruby }}
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ fail-fast: false
13
+ matrix:
14
+ ruby:
15
+ - '2.6'
16
+ - '4.0'
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby }}
22
+ bundler-cache: true
23
+ - run: bundle exec rake test
data/History.txt CHANGED
@@ -1,3 +1,16 @@
1
+ === 4.2.1 / 2026-10-02
2
+
3
+ * Work with frozen string literals, add frozen_string_literal magic comments to all library files
4
+ * Fix the Regexp flags in the Batch timewarp writer (an Array of flags was taken as "ignore case")
5
+
6
+ === 4.2.0 / 2026-10-02
7
+
8
+ * Make parsing, interpolation and Builder usable from within Ractors (Ruby 4.0+)
9
+ * Fix `FlameChannelParser.parse`, `XMLParser#parse` and the framecurve writers on Ruby 3+
10
+ (`Proc.new` without a block)
11
+ * Declare the dependencies on `matrix` and `rexml`, which are no longer default gems
12
+ * Require framecurve 2.2.4+
13
+
1
14
  === 4.1.0 / 2014-10-20
2
15
 
3
16
  * Adds `flame_channel_inspect` for examining Flame setups
@@ -4,12 +4,12 @@ Gem::Specification.new do |s|
4
4
  s.name = "flame_channel_parser"
5
5
  s.version = FlameChannelParser::VERSION
6
6
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
7
+ s.required_ruby_version = ">= 2.6"
8
8
  s.authors = ["Julik Tarkhanov"]
9
9
  s.date = Time.now.utc.strftime("%Y-%m-%d")
10
10
  s.description = "Reads and interpolates animation channels in IFFS setups"
11
11
  s.email = "me@julik.nl"
12
- s.executables = ["bake_flame_channel", "framecurve_from_flame", "framecurve_to_flame"]
12
+ s.executables = Dir["bin/*"].map { |f| File.basename(f) }
13
13
  s.extra_rdoc_files = [
14
14
  "README.md"
15
15
  ]
@@ -17,12 +17,12 @@ Gem::Specification.new do |s|
17
17
  s.homepage = "http://guerilla-di.org/flame-channel-parser/"
18
18
  s.licenses = ["MIT"]
19
19
  s.require_paths = ["lib"]
20
- s.rubygems_version = "1.8.11"
21
20
  s.summary = "A parser/interpolator for Flame/Smoke animation curves"
22
21
 
23
- s.specification_version = 3
24
22
  s.add_runtime_dependency("update_hints", ["~> 1.0"])
25
- s.add_runtime_dependency("framecurve", ["~> 2"])
23
+ s.add_runtime_dependency("framecurve", ["~> 2", ">= 2.2.4"])
24
+ s.add_runtime_dependency("matrix")
25
+ s.add_runtime_dependency("rexml")
26
26
  s.add_development_dependency("rake", [">= 0"])
27
27
  s.add_development_dependency("cli_test", ["~> 1.0"])
28
28
  s.add_development_dependency("test-unit")
data/lib/builder.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  # A Builder-like class for exporting Flame setups
2
4
  class FlameChannelParser::Builder #< BasicObject
3
5
  INDENT = "\t"
@@ -67,8 +69,8 @@ class FlameChannelParser::Builder #< BasicObject
67
69
  end
68
70
 
69
71
  def __camelize(s)
70
- @@camelizations ||= {}
71
- @@camelizations[s] ||= s.to_s.gsub(/(^|_)(.)/) { $2.upcase }
72
+ @camelizations ||= {}
73
+ @camelizations[s] ||= s.to_s.gsub(/(^|_)(.)/) { $2.upcase }
72
74
  end
73
75
 
74
76
  def __flameize(v)
data/lib/channel.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "forwardable"
2
3
 
3
4
  module FlameChannelParser
data/lib/extractor.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  # Extracts and bakes a specific animation channel to a given buffer, one string per frame
2
4
  class FlameChannelParser::Extractor
3
5
 
@@ -27,7 +29,7 @@ class FlameChannelParser::Extractor
27
29
  end
28
30
 
29
31
  def extract(path, options)
30
- options = DEFAULTS.dup.merge(options)
32
+ options = DEFAULTS.merge(:destination => $stdout).merge(options)
31
33
  File.open(path) do |f|
32
34
 
33
35
  # Then parse
@@ -47,7 +49,6 @@ class FlameChannelParser::Extractor
47
49
 
48
50
  DEFAULT_START_FRAME = 1
49
51
  DEFAULTS = {
50
- :destination => $stdout,
51
52
  :start_frame => nil,
52
53
  :end_frame => nil,
53
54
  :channel => DEFAULT_CHANNEL_TO_EXTRACT,
@@ -105,8 +106,7 @@ class FlameChannelParser::Extractor
105
106
  end
106
107
 
107
108
  def compose_channel_not_found_message(for_channel, other_channels)
108
- message = "Channel #{for_channel.inspect} not found in this setup (set the channel with the :channel option). Found other channels though:"
109
- message << "\n"
109
+ message = "Channel #{for_channel.inspect} not found in this setup (set the channel with the :channel option). Found other channels though:\n"
110
110
  message += other_channels.map{|c| "\t%s\n" % c.path }.join
111
111
  end
112
112
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module FlameChannelParser
2
- VERSION = '4.1.1'
3
+ VERSION = '4.2.1'
3
4
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/flame_channel_parser/version'
2
3
 
3
4
  module FlameChannelParser
@@ -7,13 +8,8 @@ module FlameChannelParser
7
8
  # Parse a Flame setup into an array of Channel objects.
8
9
  # If a block is given to the method it will yield Channel
9
10
  # objects one by one instead of accumulating them into an array (useful for big setups)
10
- def self.parse(io)
11
- c = get_parser_class(io)
12
- if block_given?
13
- c.new.parse(io, &Proc.new)
14
- else
15
- c.new.parse(io)
16
- end
11
+ def self.parse(io, &blk)
12
+ get_parser_class(io).new.parse(io, &blk)
17
13
  end
18
14
 
19
15
  # Parse a Flame setup at passed path. Will return the channels instead of yielding them
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Writes out a framecurve setup
2
3
  class FlameChannelParser::FramecurveWriters::Base
3
4
  class KeyWriter
@@ -12,14 +13,16 @@ class FlameChannelParser::FramecurveWriters::Base
12
13
 
13
14
  end
14
15
 
16
+ # Kept as a frozen array in a class-level ivar so that it can be read from non-main Ractors
15
17
  def self.inherited(by)
16
- @@writers ||= []
17
- @@writers.push(by)
18
+ writers = FlameChannelParser::FramecurveWriters::Base.instance_variable_get(:@writers) || []
19
+ FlameChannelParser::FramecurveWriters::Base.instance_variable_set(:@writers, (writers + [by]).freeze)
20
+ super
18
21
  end
19
22
 
20
23
  # Yields each defined writer class to the block
21
- def self.with_each_writer
22
- @@writers.each(&Proc.new)
24
+ def self.with_each_writer(&blk)
25
+ FlameChannelParser::FramecurveWriters::Base.instance_variable_get(:@writers).each(&blk)
23
26
  end
24
27
 
25
28
  # Should return the desired extension for the exported file
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  # Writes out a Batch timewarp node setup
2
4
  class FlameChannelParser::FramecurveWriters::BatchTimewarp < FlameChannelParser::FramecurveWriters::SoftfxTimewarp
3
5
 
4
- TEMPLATE = File.dirname(__FILE__) + "/templates/BatchTW.xml"
5
- TEMPLATE_KEY = File.dirname(__FILE__) + "/templates/key.xml"
6
+ TEMPLATE = (File.dirname(__FILE__) + "/templates/BatchTW.xml").freeze
7
+ TEMPLATE_KEY = (File.dirname(__FILE__) + "/templates/key.xml").freeze
6
8
 
7
9
  def self.extension
8
10
  '.timewarp_node'
@@ -13,7 +15,7 @@ class FlameChannelParser::FramecurveWriters::BatchTimewarp < FlameChannelParser:
13
15
  yield(w)
14
16
  keys = w.keys
15
17
 
16
- keys_data = ''
18
+ keys_data = +''
17
19
  keys.each_with_index do | k, idx |
18
20
  keys_data << templatize(TEMPLATE_KEY, :frame => k[0].to_i, :value => k[1].to_f, :idx => idx)
19
21
  end
@@ -31,7 +33,7 @@ class FlameChannelParser::FramecurveWriters::BatchTimewarp < FlameChannelParser:
31
33
  t = File.read(file)
32
34
  hash.each_pair do | pattern, value |
33
35
  p = Regexp.escape('$%s' % pattern)
34
- handle = Regexp.new(p, [Regexp::MULTILINE, Regexp::EXTENDED])
36
+ handle = Regexp.new(p, Regexp::MULTILINE | Regexp::EXTENDED)
35
37
  t.gsub!(handle, value.to_s)
36
38
  end
37
39
  raise "Not all substitutions done" if t.include?('$')
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  # Writes out a framecurve setup
2
4
  class FlameChannelParser::FramecurveWriters::Kronos < FlameChannelParser::FramecurveWriters::SoftfxTimewarp
3
- TOKEN = Regexp.new('__INSERT_FRAME_ANIM__')
4
- TEMPLATE = File.dirname(__FILE__) + "/templates/SampleKronos.F_Kronos"
5
+ TOKEN = Regexp.new('__INSERT_FRAME_ANIM__').freeze
6
+ TEMPLATE = (File.dirname(__FILE__) + "/templates/SampleKronos.F_Kronos").freeze
5
7
 
6
8
  def self.extension
7
9
  '.F_Kronos'
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  # Writes out a framecurve setup
2
4
  class FlameChannelParser::FramecurveWriters::SoftfxTimewarp < FlameChannelParser::FramecurveWriters::Base
3
5
  DATETIME_FORMAT = '%a %b %d %H:%M:%S %Y'
4
- TIME = Time.local(2011,12,28,14,50,05)
6
+ TIME = Time.local(2011,12,28,14,50,05).freeze
5
7
 
6
8
  def self.extension
7
9
  '.timewarp'
data/lib/inspector.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Prints out a viewable tree of channel metadata. Useful when you need to inspect comparable setups
2
3
  # for small differentces in channel ordering and animation.
3
4
  class FlameChannelParser::Inspector
data/lib/interpolator.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  require File.expand_path(File.dirname(__FILE__)) + "/segments"
2
4
 
3
5
  # Used to sample Flame animation curves. Pass a Channel
data/lib/key.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Represents a keyframe
2
3
  class FlameChannelParser::Key
3
4
 
data/lib/parser.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  module FlameChannelParser
2
4
  # Comnplete parser class for all Flame/Smoke versions
3
5
  class Parser
data/lib/segments.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  require "matrix"
2
4
 
3
5
  module FlameChannelParser::Segments #:nodoc:
@@ -52,7 +54,7 @@ module FlameChannelParser::Segments #:nodoc:
52
54
  [-2, 3, 0, 0],
53
55
  [1, -2, 1, 0],
54
56
  [1, -1, 0, 0]
55
- ].transpose
57
+ ].transpose.freeze
56
58
 
57
59
  def initialize(from_frame, to_frame, value1, value2, tangent1, tangent2)
58
60
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+ # shareable_constant_value: literal
1
3
  require "framecurve"
2
4
 
3
5
  module FlameChannelParser
data/lib/xml_parser.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'rexml/document'
2
3
  require "rexml/streamlistener"
3
4
 
@@ -73,17 +74,13 @@ class FlameChannelParser::XMLParser < FlameChannelParser::Parser
73
74
 
74
75
  # Parses the setup passed in the IO. If a block is given to the method it will yield Channel
75
76
  # objects one by one instead of accumulating them into an array (useful for big setups)
76
- def parse(io)
77
+ def parse(io, &blk)
77
78
  # Ok this is gothic BUT needed. What we do is we transform the XML setup into the OLD
78
79
  # setup format, after which we run it through the OLD parser all the same.
79
80
  # I am almost sure that ADSK does the same.
80
81
  t = Tempfile.new("bx")
81
82
  REXML::Document.parse_stream(io, XMLToSetup.new(t))
82
83
  t.rewind
83
- if block_given?
84
- super(t, &Proc.new)
85
- else
86
- super(t)
87
- end
84
+ super(t, &blk)
88
85
  end
89
86
  end
@@ -10,8 +10,6 @@ class TestBatchTimewarpWriter < Test::Unit::TestCase
10
10
  key_writer.key(19, 102)
11
11
  end
12
12
 
13
- File.open(File.dirname(__FILE__) + "/timewarp_export_samples/BatchTW.timewarp_node", "wb"){|f| f.write(buf.string) }
14
-
15
13
  assert_same_buffer File.open(File.dirname(__FILE__) + "/timewarp_export_samples/BatchTW.timewarp_node"), buf
16
14
  end
17
15
 
@@ -3,7 +3,7 @@ require "helper"
3
3
 
4
4
  class FlameBuilderTest < Test::Unit::TestCase
5
5
  def setup
6
- @s = ""
6
+ @s = +""
7
7
  @b = FlameChannelParser::Builder.new(StringIO.new(@s))
8
8
  end
9
9
 
@@ -29,7 +29,7 @@ class TestFlameChannelParser < Test::Unit::TestCase
29
29
  end
30
30
 
31
31
  def test_parsing_kronos_with_reports
32
- logging_console = ""
32
+ logging_console = +""
33
33
  data = File.open(File.dirname(__FILE__) + "/snaps/TW_TEST.F_Kronos")
34
34
  parser = FlameChannelParser::Parser.new
35
35
  parser.logger_proc = lambda do | log_message |
@@ -12,7 +12,7 @@ class TestInspector < Test::Unit::TestCase
12
12
  channels = FlameChannelParser.parse(data)
13
13
 
14
14
  inspector = FlameChannelParser::Inspector.new(channels)
15
- output = ''
15
+ output = +''
16
16
 
17
17
  inspector.pretty_print(StringIO.new(output))
18
18
 
@@ -27,7 +27,7 @@ class TestInspector < Test::Unit::TestCase
27
27
  channels = FlameChannelParser.parse(data)
28
28
 
29
29
  inspector = FlameChannelParser::Inspector.new(channels)
30
- output = ''
30
+ output = +''
31
31
 
32
32
  inspector.pretty_print(StringIO.new(output))
33
33
 
@@ -0,0 +1,30 @@
1
+ require "helper"
2
+
3
+ class TestRactor < Test::Unit::TestCase
4
+ def test_parses_interpolates_and_builds_inside_a_ractor
5
+ omit "Needs Ruby 4.0+ Ractors" unless defined?(Ractor) && Ractor.method_defined?(:value)
6
+
7
+ path = File.dirname(__FILE__) + "/snaps/FLEM_curves_example.action"
8
+ expected = run_conversion(path)
9
+
10
+ experimental_warnings, Warning[:experimental] = Warning[:experimental], false
11
+ begin
12
+ from_ractor = Ractor.new(path) { |p| TestRactor.new("ractor").run_conversion(p) }.value
13
+ assert_equal expected, from_ractor
14
+ ensure
15
+ Warning[:experimental] = experimental_warnings
16
+ end
17
+ end
18
+
19
+ def run_conversion(path)
20
+ channels = File.open(path, "rb") { |f| FlameChannelParser.parse(f) }
21
+ values = channels.reject(&:empty?).map do |channel|
22
+ interpolator = FlameChannelParser::Interpolator.new(channel)
23
+ (1..20).map { |frame| interpolator.sample_at(frame) }
24
+ end
25
+
26
+ out = StringIO.new
27
+ FlameChannelParser::Builder.new(out).write_block!("Channel", "foo") { |b| b.some_value 1.0 }
28
+ [values, out.string]
29
+ end
30
+ end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flame_channel_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.1
4
+ version: 4.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik Tarkhanov
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2018-12-19 00:00:00.000000000 Z
10
+ date: 2026-10-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: update_hints
@@ -31,6 +30,9 @@ dependencies:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
32
  version: '2'
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 2.2.4
34
36
  type: :runtime
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,6 +40,37 @@ dependencies:
38
40
  - - "~>"
39
41
  - !ruby/object:Gem::Version
40
42
  version: '2'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 2.2.4
46
+ - !ruby/object:Gem::Dependency
47
+ name: matrix
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ type: :runtime
54
+ prerelease: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ - !ruby/object:Gem::Dependency
61
+ name: rexml
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
41
74
  - !ruby/object:Gem::Dependency
42
75
  name: rake
43
76
  requirement: !ruby/object:Gem::Requirement
@@ -84,15 +117,15 @@ description: Reads and interpolates animation channels in IFFS setups
84
117
  email: me@julik.nl
85
118
  executables:
86
119
  - bake_flame_channel
120
+ - flame_channel_inspect
87
121
  - framecurve_from_flame
88
122
  - framecurve_to_flame
89
123
  extensions: []
90
124
  extra_rdoc_files:
91
125
  - README.md
92
126
  files:
93
- - ".autotest"
127
+ - ".github/workflows/ci.yml"
94
128
  - ".gitignore"
95
- - ".travis.yml"
96
129
  - Gemfile
97
130
  - History.txt
98
131
  - README.md
@@ -163,6 +196,7 @@ files:
163
196
  - test/test_interpolator.rb
164
197
  - test/test_key.rb
165
198
  - test/test_kronos_timewarp_writer.rb
199
+ - test/test_ractor.rb
166
200
  - test/test_segments.rb
167
201
  - test/test_softfx_timewarp_writer.rb
168
202
  - test/test_timewarp_extractor.rb
@@ -182,7 +216,6 @@ homepage: http://guerilla-di.org/flame-channel-parser/
182
216
  licenses:
183
217
  - MIT
184
218
  metadata: {}
185
- post_install_message:
186
219
  rdoc_options: []
187
220
  require_paths:
188
221
  - lib
@@ -190,16 +223,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
223
  requirements:
191
224
  - - ">="
192
225
  - !ruby/object:Gem::Version
193
- version: '0'
226
+ version: '2.6'
194
227
  required_rubygems_version: !ruby/object:Gem::Requirement
195
228
  requirements:
196
229
  - - ">="
197
230
  - !ruby/object:Gem::Version
198
231
  version: '0'
199
232
  requirements: []
200
- rubyforge_project:
201
- rubygems_version: 2.7.6
202
- signing_key:
203
- specification_version: 3
233
+ rubygems_version: 4.0.3
234
+ specification_version: 4
204
235
  summary: A parser/interpolator for Flame/Smoke animation curves
205
236
  test_files: []
data/.autotest DELETED
@@ -1,23 +0,0 @@
1
- # -*- ruby -*-
2
-
3
- require 'autotest/restart'
4
-
5
- # Autotest.add_hook :initialize do |at|
6
- # at.extra_files << "../some/external/dependency.rb"
7
- #
8
- # at.libs << ":../some/external"
9
- #
10
- # at.add_exception 'vendor'
11
- #
12
- # at.add_mapping(/dependency.rb/) do |f, _|
13
- # at.files_matching(/test_.*rb$/)
14
- # end
15
- #
16
- # %w(TestA TestB).each do |klass|
17
- # at.extra_class_map[klass] = "test/test_misc.rb"
18
- # end
19
- # end
20
-
21
- # Autotest.add_hook :run_command do |at|
22
- # system "rake build"
23
- # end
data/.travis.yml DELETED
@@ -1,9 +0,0 @@
1
- rvm:
2
- - 1.8.7
3
- - 1.9.2
4
- - 1.9.3
5
- - 2.0.0
6
- - 2.1.1
7
- - 2.2.2
8
- cache: bundler
9
- sudo: false