trackler 1.0.0.1 → 1.0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/fixtures/common/exercises/apple/canonical-data.json +5 -0
- data/fixtures/common/exercises/apple/description.md +2 -0
- data/fixtures/common/exercises/apple/metadata.yml +3 -0
- data/fixtures/common/exercises/banana/description.md +2 -0
- data/fixtures/common/exercises/banana/metadata.yml +3 -0
- data/fixtures/common/exercises/cherry/description.md +2 -0
- data/fixtures/common/exercises/cherry/metadata.yml +2 -0
- data/fixtures/common/exercises/dog/description.md +2 -0
- data/fixtures/common/exercises/dog/metadata.yml +4 -0
- data/fixtures/common/exercises/fish/.deprecated +1 -0
- data/fixtures/common/exercises/fish/canonical-data.json +5 -0
- data/fixtures/common/exercises/fish/description.md +2 -0
- data/fixtures/common/exercises/fish/metadata.yml +4 -0
- data/fixtures/common/exercises/hello-world/description.md +2 -0
- data/fixtures/common/exercises/hello-world/metadata.yml +4 -0
- data/fixtures/common/exercises/mango/canonical-data.json +1 -0
- data/fixtures/common/exercises/mango/description.md +2 -0
- data/fixtures/common/exercises/mango/metadata.yml +4 -0
- data/fixtures/common/exercises/one/description.md +2 -0
- data/fixtures/common/exercises/one/metadata.yml +4 -0
- data/fixtures/common/exercises/three/description.md +2 -0
- data/fixtures/common/exercises/three/metadata.yml +4 -0
- data/fixtures/common/exercises/two/description.md +2 -0
- data/fixtures/common/exercises/two/metadata.yml +4 -0
- data/fixtures/tracks/animal/config.json +14 -0
- data/fixtures/tracks/animal/dog/a_dog.animal +1 -0
- data/fixtures/tracks/animal/dog/a_dog_2.animal +1 -0
- data/fixtures/tracks/animal/dog/example.ext +1 -0
- data/fixtures/tracks/animal/global/some-vendored-library +1 -0
- data/fixtures/tracks/animal/global/sub-global/other-some-vendor +1 -0
- data/fixtures/tracks/fake/config.json +55 -0
- data/fixtures/tracks/fake/docs/ABOUT.org +2 -0
- data/fixtures/tracks/fake/docs/INSTALLATION.org +1 -0
- data/fixtures/tracks/fake/docs/LEARNING.org +1 -0
- data/fixtures/tracks/fake/docs/RESOURCES.unknown_extension +1 -0
- data/fixtures/tracks/fake/docs/TESTS.md +1 -0
- data/fixtures/tracks/fake/docs/img/test.jpg +0 -0
- data/fixtures/tracks/fake/docs/img/test.png +0 -0
- data/fixtures/tracks/fake/hello-world/example.ext +1 -0
- data/fixtures/tracks/fake/hello-world/hello_test.ext +1 -0
- data/fixtures/tracks/fake/hello-world/world_test.ext +1 -0
- data/fixtures/tracks/fake/img/icon.png +0 -0
- data/fixtures/tracks/fake/one/.dot +1 -0
- data/fixtures/tracks/fake/one/Fakefile +1 -0
- data/fixtures/tracks/fake/one/HINTS.md +2 -0
- data/fixtures/tracks/fake/one/example.ext +1 -0
- data/fixtures/tracks/fake/one/one_test.ext +1 -0
- data/fixtures/tracks/fake/one/sub/src/ExampleFile.ext +1 -0
- data/fixtures/tracks/fake/one/sub/src/stubfile.ext +1 -0
- data/fixtures/tracks/fake/three/example.ext +1 -0
- data/fixtures/tracks/fake/three/three_test.ext +1 -0
- data/fixtures/tracks/fake/two/example.ext +1 -0
- data/fixtures/tracks/fake/two/two_test.ext +1 -0
- data/fixtures/tracks/fruit/SETUP.md +1 -0
- data/fixtures/tracks/fruit/config.json +20 -0
- data/fixtures/tracks/fruit/docs/ABOUT.md +0 -0
- data/fixtures/tracks/fruit/exercises/apple/apple.ext +1 -0
- data/fixtures/tracks/fruit/exercises/apple/apple.tst +1 -0
- data/fixtures/tracks/fruit/exercises/apple/example.ext +1 -0
- data/fixtures/tracks/fruit/exercises/banana/HINTS.md +2 -0
- data/fixtures/tracks/fruit/exercises/banana/banana.tst +1 -0
- data/fixtures/tracks/fruit/exercises/banana/example.ext +1 -0
- data/fixtures/tracks/fruit/exercises/cherry/cherry.tst +1 -0
- data/fixtures/tracks/fruit/exercises/cherry/example.ext +1 -0
- data/fixtures/tracks/fruit/img/icon.svg +28 -0
- data/fixtures/tracks/jewels/config.json +11 -0
- data/fixtures/tracks/jewels/hello-world/example.ext +1 -0
- data/fixtures/tracks/jewels/hello-world/hello_world_test.ext +1 -0
- data/fixtures/tracks/shoes/config.json +11 -0
- data/fixtures/tracks/shoes/hello-world/example.ext +1 -0
- data/fixtures/tracks/shoes/hello-world/hello_world_test.ext +1 -0
- data/lib/trackler.rb +12 -4
- data/lib/trackler/path.rb +11 -0
- data/lib/trackler/version.rb +1 -1
- data/trackler.gemspec +1 -1
- metadata +74 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5df79b2829329101c3131df1e1e3c55750ec5d44
|
4
|
+
data.tar.gz: 3312337a6c8201dab2e6e9fb2f49251ed335bce3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bad132c234e35b53d232967dfb4f89bdadf921006cc552b9a2065d56065f5aef9e3da3617fc1a2a52b5800a1deb5326d86a6df6e2a5ce296673f8facda6b9ea
|
7
|
+
data.tar.gz: 1c3046428aaa9d6cf4e1b969701b226ff42a255b621549dc7991213e2e36554ae7f4293e0204b801c1bcd11a364eec7be4bd1528d7f1b8ad27bee15fd549bc95
|
data/CHANGELOG.md
CHANGED
@@ -15,7 +15,12 @@ The changelog will not be updated for content updates.
|
|
15
15
|
## Next Release
|
16
16
|
* **Your contribution here**
|
17
17
|
|
18
|
-
## v1.0.0 (2016-10-
|
18
|
+
## v1.0.1.0 (2016-10-16)
|
19
|
+
|
20
|
+
Make the location of the track data configurable so we can use fixture
|
21
|
+
data for the x-api and exercism.io tests.
|
22
|
+
|
23
|
+
## v1.0.0.0 (2016-10-03)
|
19
24
|
|
20
25
|
This is an extraction of the tracks, problems, and implementations logic
|
21
26
|
from [x-api][xapi].
|
@@ -0,0 +1 @@
|
|
1
|
+
fish
|
@@ -0,0 +1 @@
|
|
1
|
+
{"mango": "ok"}
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'woof woof'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert "Miaowww"
|
@@ -0,0 +1 @@
|
|
1
|
+
a dog goes woof woof
|
@@ -0,0 +1 @@
|
|
1
|
+
hello
|
@@ -0,0 +1 @@
|
|
1
|
+
hello sub directory
|
@@ -0,0 +1,55 @@
|
|
1
|
+
{
|
2
|
+
"slug": "fake",
|
3
|
+
"language": "Fake",
|
4
|
+
"repository": "https://github.com/exercism/xfake",
|
5
|
+
"image": "fake.png",
|
6
|
+
"checklist_issue": 5,
|
7
|
+
"active": true,
|
8
|
+
"problems": [
|
9
|
+
"good",
|
10
|
+
"bad",
|
11
|
+
"ugly"
|
12
|
+
],
|
13
|
+
"exercises": [
|
14
|
+
{
|
15
|
+
"slug": "hello-world" ,
|
16
|
+
"difficulty": 1,
|
17
|
+
"topics": [
|
18
|
+
"control-flow (if-statements)",
|
19
|
+
"optional values",
|
20
|
+
"text formatting"
|
21
|
+
]
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"difficulty": 3,
|
25
|
+
"slug": "one",
|
26
|
+
"topics": [
|
27
|
+
"strings",
|
28
|
+
"filtering"
|
29
|
+
]
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"difficulty": 1,
|
33
|
+
"slug": "two",
|
34
|
+
"topics": [
|
35
|
+
"parsing",
|
36
|
+
"transforming"
|
37
|
+
]
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"slug": "three" ,
|
41
|
+
"difficulty": 1,
|
42
|
+
"topics": [
|
43
|
+
"control-flow (if-statements)",
|
44
|
+
"optional values",
|
45
|
+
"text formatting"
|
46
|
+
]
|
47
|
+
}
|
48
|
+
],
|
49
|
+
"deprecated": [
|
50
|
+
"dog"
|
51
|
+
],
|
52
|
+
"foregone": [
|
53
|
+
"apple"
|
54
|
+
]
|
55
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
Installing
|
@@ -0,0 +1 @@
|
|
1
|
+
Learning Fake!
|
@@ -0,0 +1 @@
|
|
1
|
+
Resources
|
@@ -0,0 +1 @@
|
|
1
|
+
Running
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'hello'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'hello'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'World'
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
dot
|
@@ -0,0 +1 @@
|
|
1
|
+
Autorun fake code
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'one'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'one'
|
@@ -0,0 +1 @@
|
|
1
|
+
Another example
|
@@ -0,0 +1 @@
|
|
1
|
+
stub
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'three'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'one'
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'two'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'one'
|
@@ -0,0 +1 @@
|
|
1
|
+
Do stuff.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
{
|
2
|
+
"slug": "fruit",
|
3
|
+
"language": "Fruit",
|
4
|
+
"repository": "https://example.com/exercism/xfruit",
|
5
|
+
"image": "fruit.svg",
|
6
|
+
"active": true,
|
7
|
+
"test_pattern": "\\.tst$",
|
8
|
+
"gitter": "xfruit",
|
9
|
+
"problems": [
|
10
|
+
"apple",
|
11
|
+
"banana",
|
12
|
+
"cherry"
|
13
|
+
],
|
14
|
+
"deprecated": [
|
15
|
+
"four"
|
16
|
+
],
|
17
|
+
"foregone": [
|
18
|
+
"five"
|
19
|
+
]
|
20
|
+
}
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
an apple a day keeps the doctor away
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'apple'
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'apple'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'banana'
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'banana'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'cherry'
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'cherry'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3
|
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4
|
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5
|
+
width="128.000000pt" height="128.000000pt" viewBox="0 0 128.000000 128.000000"
|
6
|
+
preserveAspectRatio="xMidYMid meet">
|
7
|
+
<metadata>
|
8
|
+
Created by potrace 1.13, written by Peter Selinger 2001-2015
|
9
|
+
</metadata>
|
10
|
+
<g transform="translate(0.000000,128.000000) scale(0.100000,-0.100000)"
|
11
|
+
fill="#000000" stroke="none">
|
12
|
+
<path d="M0 640 l0 -640 640 0 640 0 0 640 0 640 -640 0 -640 0 0 -640z m929
|
13
|
+
513 c14 -48 14 -149 1 -233 -14 -89 -16 -93 -37 -81 -15 8 -18 24 -18 104 0
|
14
|
+
53 -4 99 -8 104 -5 4 -26 -11 -48 -35 -44 -46 -51 -49 -69 -27 -10 12 -8 22
|
15
|
+
11 52 30 50 128 153 145 153 7 0 18 -17 23 -37z m-462 -138 l57 -55 45 27 c25
|
16
|
+
14 56 33 69 41 l22 14 0 -133 0 -134 -86 -44 c-48 -24 -108 -65 -137 -93 l-52
|
17
|
+
-50 53 46 c30 25 90 64 135 86 l82 41 3 -357 c1 -196 0 -359 -3 -362 -5 -6
|
18
|
+
-507 37 -514 44 -2 2 3 104 13 226 9 123 16 228 16 235 0 6 12 16 28 22 26 11
|
19
|
+
26 11 2 6 l-26 -4 4 72 c4 108 4 108 89 158 l77 47 1 88 c1 49 5 99 9 112 13
|
20
|
+
39 50 28 113 -33z"/>
|
21
|
+
<path d="M523 522 c-16 -27 -74 -52 -123 -54 -23 -1 -59 -10 -78 -20 -42 -21
|
22
|
+
-73 -23 -90 -6 -9 9 -12 8 -12 -4 0 -9 4 -19 9 -22 4 -3 11 -38 14 -78 6 -86
|
23
|
+
30 -151 65 -178 37 -29 61 -25 103 20 42 44 86 163 90 244 2 33 9 52 26 68 22
|
24
|
+
21 31 48 15 48 -4 0 -12 -8 -19 -18z m-38 -104 c-3 -24 -13 -66 -21 -95 l-14
|
25
|
+
-51 -29 29 c-16 16 -39 29 -51 29 -31 0 -78 -27 -85 -50 -11 -33 -22 -23 -29
|
26
|
+
26 -11 80 -8 104 12 104 9 0 37 6 62 14 37 12 93 25 153 35 5 0 6 -18 2 -41z"/>
|
27
|
+
</g>
|
28
|
+
</svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'hello'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'hello'
|
@@ -0,0 +1 @@
|
|
1
|
+
say 'hello'
|
@@ -0,0 +1 @@
|
|
1
|
+
assert 'hello'
|
data/lib/trackler.rb
CHANGED
@@ -2,16 +2,24 @@ paths = Dir[File.expand_path('../trackler/**/*.rb', __FILE__)]
|
|
2
2
|
paths.each { |path| require path }
|
3
3
|
|
4
4
|
module Trackler
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.path
|
6
|
+
@path ||= Trackler::Path.root
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.use_real_data
|
10
|
+
@path = Trackler::Path.root
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.use_fixture_data
|
14
|
+
@path = Trackler::Path.fixtures
|
7
15
|
end
|
8
16
|
|
9
17
|
def self.problems
|
10
|
-
@problems ||= Problems.new(
|
18
|
+
@problems ||= Problems.new(path)
|
11
19
|
end
|
12
20
|
|
13
21
|
def self.tracks
|
14
|
-
@tracks ||= Tracks.new(
|
22
|
+
@tracks ||= Tracks.new(path)
|
15
23
|
end
|
16
24
|
|
17
25
|
def self.implementations
|
data/lib/trackler/version.rb
CHANGED
data/trackler.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f|
|
18
18
|
f.match(%r{^(test)/})
|
19
|
-
} + Dir.glob("common/**/*", File::FNM_DOTMATCH) + Dir.glob("tracks/**/*", File::FNM_DOTMATCH)
|
19
|
+
} + Dir.glob("common/**/*", File::FNM_DOTMATCH) + Dir.glob("tracks/**/*", File::FNM_DOTMATCH) + Dir.glob("fixtures/**/*", File::FNM_DOTMATCH)
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
22
|
spec.add_dependency "rubyzip", "~> 1.1"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0
|
4
|
+
version: 1.0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -392,10 +392,82 @@ files:
|
|
392
392
|
- common/exercises/zebra-puzzle/metadata.yml
|
393
393
|
- common/exercises/zipper/description.md
|
394
394
|
- common/exercises/zipper/metadata.yml
|
395
|
+
- fixtures/common/exercises/apple/canonical-data.json
|
396
|
+
- fixtures/common/exercises/apple/description.md
|
397
|
+
- fixtures/common/exercises/apple/metadata.yml
|
398
|
+
- fixtures/common/exercises/banana/description.md
|
399
|
+
- fixtures/common/exercises/banana/metadata.yml
|
400
|
+
- fixtures/common/exercises/cherry/description.md
|
401
|
+
- fixtures/common/exercises/cherry/metadata.yml
|
402
|
+
- fixtures/common/exercises/dog/description.md
|
403
|
+
- fixtures/common/exercises/dog/metadata.yml
|
404
|
+
- fixtures/common/exercises/fish/.deprecated
|
405
|
+
- fixtures/common/exercises/fish/canonical-data.json
|
406
|
+
- fixtures/common/exercises/fish/description.md
|
407
|
+
- fixtures/common/exercises/fish/metadata.yml
|
408
|
+
- fixtures/common/exercises/hello-world/description.md
|
409
|
+
- fixtures/common/exercises/hello-world/metadata.yml
|
410
|
+
- fixtures/common/exercises/mango/canonical-data.json
|
411
|
+
- fixtures/common/exercises/mango/description.md
|
412
|
+
- fixtures/common/exercises/mango/metadata.yml
|
413
|
+
- fixtures/common/exercises/one/description.md
|
414
|
+
- fixtures/common/exercises/one/metadata.yml
|
415
|
+
- fixtures/common/exercises/three/description.md
|
416
|
+
- fixtures/common/exercises/three/metadata.yml
|
417
|
+
- fixtures/common/exercises/two/description.md
|
418
|
+
- fixtures/common/exercises/two/metadata.yml
|
419
|
+
- fixtures/tracks/animal/config.json
|
420
|
+
- fixtures/tracks/animal/dog/a_dog.animal
|
421
|
+
- fixtures/tracks/animal/dog/a_dog_2.animal
|
422
|
+
- fixtures/tracks/animal/dog/example.ext
|
423
|
+
- fixtures/tracks/animal/global/some-vendored-library
|
424
|
+
- fixtures/tracks/animal/global/sub-global/other-some-vendor
|
425
|
+
- fixtures/tracks/fake/config.json
|
426
|
+
- fixtures/tracks/fake/docs/ABOUT.org
|
427
|
+
- fixtures/tracks/fake/docs/INSTALLATION.org
|
428
|
+
- fixtures/tracks/fake/docs/LEARNING.org
|
429
|
+
- fixtures/tracks/fake/docs/RESOURCES.unknown_extension
|
430
|
+
- fixtures/tracks/fake/docs/TESTS.md
|
431
|
+
- fixtures/tracks/fake/docs/img/test.jpg
|
432
|
+
- fixtures/tracks/fake/docs/img/test.png
|
433
|
+
- fixtures/tracks/fake/hello-world/example.ext
|
434
|
+
- fixtures/tracks/fake/hello-world/hello_test.ext
|
435
|
+
- fixtures/tracks/fake/hello-world/world_test.ext
|
436
|
+
- fixtures/tracks/fake/img/icon.png
|
437
|
+
- fixtures/tracks/fake/one/.dot
|
438
|
+
- fixtures/tracks/fake/one/Fakefile
|
439
|
+
- fixtures/tracks/fake/one/HINTS.md
|
440
|
+
- fixtures/tracks/fake/one/example.ext
|
441
|
+
- fixtures/tracks/fake/one/one_test.ext
|
442
|
+
- fixtures/tracks/fake/one/sub/src/ExampleFile.ext
|
443
|
+
- fixtures/tracks/fake/one/sub/src/stubfile.ext
|
444
|
+
- fixtures/tracks/fake/three/example.ext
|
445
|
+
- fixtures/tracks/fake/three/three_test.ext
|
446
|
+
- fixtures/tracks/fake/two/example.ext
|
447
|
+
- fixtures/tracks/fake/two/two_test.ext
|
448
|
+
- fixtures/tracks/fruit/SETUP.md
|
449
|
+
- fixtures/tracks/fruit/config.json
|
450
|
+
- fixtures/tracks/fruit/docs/ABOUT.md
|
451
|
+
- fixtures/tracks/fruit/exercises/apple/apple.ext
|
452
|
+
- fixtures/tracks/fruit/exercises/apple/apple.tst
|
453
|
+
- fixtures/tracks/fruit/exercises/apple/example.ext
|
454
|
+
- fixtures/tracks/fruit/exercises/banana/HINTS.md
|
455
|
+
- fixtures/tracks/fruit/exercises/banana/banana.tst
|
456
|
+
- fixtures/tracks/fruit/exercises/banana/example.ext
|
457
|
+
- fixtures/tracks/fruit/exercises/cherry/cherry.tst
|
458
|
+
- fixtures/tracks/fruit/exercises/cherry/example.ext
|
459
|
+
- fixtures/tracks/fruit/img/icon.svg
|
460
|
+
- fixtures/tracks/jewels/config.json
|
461
|
+
- fixtures/tracks/jewels/hello-world/example.ext
|
462
|
+
- fixtures/tracks/jewels/hello-world/hello_world_test.ext
|
463
|
+
- fixtures/tracks/shoes/config.json
|
464
|
+
- fixtures/tracks/shoes/hello-world/example.ext
|
465
|
+
- fixtures/tracks/shoes/hello-world/hello_world_test.ext
|
395
466
|
- lib/trackler.rb
|
396
467
|
- lib/trackler/file_bundle.rb
|
397
468
|
- lib/trackler/implementation.rb
|
398
469
|
- lib/trackler/implementations.rb
|
470
|
+
- lib/trackler/path.rb
|
399
471
|
- lib/trackler/problem.rb
|
400
472
|
- lib/trackler/problems.rb
|
401
473
|
- lib/trackler/track.rb
|