traka 0.0.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.
- data/MIT-LICENSE +20 -0
- data/README.md +120 -0
- data/Rakefile +38 -0
- data/lib/generators/traka/install_generator.rb +17 -0
- data/lib/generators/traka/templates/public/system/api/version.txt +1 -0
- data/lib/tasks/traka_tasks.rake +4 -0
- data/lib/templates/active_record/model/model.rb +5 -0
- data/lib/traka/is_traka.rb +100 -0
- data/lib/traka/is_trakable.rb +49 -0
- data/lib/traka/version.rb +3 -0
- data/lib/traka.rb +12 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/cheese.rb +5 -0
- data/test/dummy/app/models/product.rb +5 -0
- data/test/dummy/app/models/traka_change.rb +5 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20131219051328_create_products.rb +10 -0
- data/test/dummy/db/migrate/20131219051348_create_cheeses.rb +10 -0
- data/test/dummy/db/migrate/20131227113858_create_traka_changes.rb +12 -0
- data/test/dummy/db/schema.rb +39 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +103 -0
- data/test/dummy/log/test.log +279368 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/system/api/version.txt +1 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/fixtures/cheeses.yml +9 -0
- data/test/dummy/test/fixtures/products.yml +9 -0
- data/test/dummy/test/fixtures/traka_changes.yml +13 -0
- data/test/dummy/test/unit/cheese_test.rb +7 -0
- data/test/dummy/test/unit/product_test.rb +7 -0
- data/test/dummy/test/unit/traka_change_test.rb +7 -0
- data/test/is_traka_test.rb +158 -0
- data/test/is_trakable_test.rb +94 -0
- data/test/test_helper.rb +15 -0
- data/test/traka_test.rb +9 -0
- metadata +189 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/404.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
23
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/422.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>The change you wanted was rejected.</h1>
|
23
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/500.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>We're sorry, but something went wrong.</h1>
|
23
|
+
</div>
|
24
|
+
</body>
|
25
|
+
</html>
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
1
|
@@ -0,0 +1,6 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
3
|
+
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
6
|
+
require 'rails/commands'
|
@@ -0,0 +1,158 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class IsTrakaTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
TrakaChange.destroy_all
|
7
|
+
TrakaChange.set_version!(1)
|
8
|
+
end
|
9
|
+
|
10
|
+
test "TrakaChange has latest version" do
|
11
|
+
assert_equal TrakaChange.latest_version, 1
|
12
|
+
end
|
13
|
+
|
14
|
+
test "TrakaChange can publish new version" do
|
15
|
+
assert_equal TrakaChange.latest_version, 1
|
16
|
+
|
17
|
+
TrakaChange.publish_new_version!
|
18
|
+
|
19
|
+
assert_equal TrakaChange.latest_version, 2
|
20
|
+
end
|
21
|
+
|
22
|
+
test "TrakaChange can list staged changes" do
|
23
|
+
p = Product.create(:name => "Product A")
|
24
|
+
c = Cheese.create(:name => "Cheese A")
|
25
|
+
|
26
|
+
assert_equal TrakaChange.staged_changes.count, 2
|
27
|
+
assert_equal TrakaChange.staged_changes.first.klass, "Product"
|
28
|
+
assert_equal TrakaChange.staged_changes.last.klass, "Cheese"
|
29
|
+
end
|
30
|
+
|
31
|
+
test "TrakaChange can list changes from a particular version" do
|
32
|
+
p = Product.create(:name => "Product A")
|
33
|
+
c = Cheese.create(:name => "Cheese A")
|
34
|
+
|
35
|
+
assert_equal TrakaChange.staged_changes.count, 2
|
36
|
+
|
37
|
+
TrakaChange.publish_new_version!
|
38
|
+
|
39
|
+
p2 = Product.create(:name => "Product B")
|
40
|
+
|
41
|
+
assert_equal TrakaChange.staged_changes.count, 1
|
42
|
+
assert_equal TrakaChange.staged_changes.first.klass, "Product"
|
43
|
+
|
44
|
+
assert_equal TrakaChange.changes_from(1).count, 3
|
45
|
+
assert_equal TrakaChange.changes_from(1).map(&:klass), ["Product", "Cheese", "Product"]
|
46
|
+
assert_equal TrakaChange.changes_from(1).map(&:action_type), ["create", "create", "create"]
|
47
|
+
end
|
48
|
+
|
49
|
+
test "TrakaChange can list differing changes" do
|
50
|
+
p = Product.create(:name => "Product A")
|
51
|
+
c = Cheese.create(:name => "Cheese A")
|
52
|
+
|
53
|
+
TrakaChange.publish_new_version!
|
54
|
+
|
55
|
+
p.name = "New name"
|
56
|
+
p.save
|
57
|
+
c.destroy
|
58
|
+
|
59
|
+
assert_equal TrakaChange.staged_changes.count, 2
|
60
|
+
assert_equal TrakaChange.staged_changes.map(&:klass), ["Product", "Cheese"]
|
61
|
+
assert_equal TrakaChange.staged_changes.map(&:action_type), ["update", "destroy"]
|
62
|
+
end
|
63
|
+
|
64
|
+
test "TrakaChange can filter out obsolete create->destroy actions" do
|
65
|
+
p = Product.create(:name => "Product A")
|
66
|
+
c = Cheese.create(:name => "Cheese A")
|
67
|
+
|
68
|
+
p.destroy
|
69
|
+
|
70
|
+
assert_equal TrakaChange.staged_changes.count, 1
|
71
|
+
assert_equal TrakaChange.staged_changes.map(&:klass), ["Cheese"]
|
72
|
+
assert_equal TrakaChange.staged_changes.map(&:action_type), ["create"]
|
73
|
+
end
|
74
|
+
|
75
|
+
test "TrakaChange can filter out obsolete update->destroy actions" do
|
76
|
+
p = Product.create(:name => "Product A")
|
77
|
+
c = Cheese.create(:name => "Cheese A")
|
78
|
+
|
79
|
+
TrakaChange.publish_new_version!
|
80
|
+
|
81
|
+
p.name = "New name"
|
82
|
+
p.save
|
83
|
+
c.name = "New name"
|
84
|
+
c.save
|
85
|
+
|
86
|
+
p.destroy
|
87
|
+
|
88
|
+
assert_equal TrakaChange.staged_changes.count, 1
|
89
|
+
assert_equal TrakaChange.staged_changes.map(&:klass), ["Cheese"]
|
90
|
+
assert_equal TrakaChange.staged_changes.map(&:action_type), ["update"]
|
91
|
+
end
|
92
|
+
|
93
|
+
test "TrakaChange can filter out obsolete create->update actions" do
|
94
|
+
p = Product.create(:name => "Product A")
|
95
|
+
c = Cheese.create(:name => "Cheese A")
|
96
|
+
|
97
|
+
p.name = "New name"
|
98
|
+
p.save
|
99
|
+
|
100
|
+
p.name = "Another name"
|
101
|
+
p.save
|
102
|
+
|
103
|
+
assert_equal TrakaChange.staged_changes.count, 2
|
104
|
+
assert_equal TrakaChange.staged_changes.map(&:klass), ["Product", "Cheese"]
|
105
|
+
assert_equal TrakaChange.staged_changes.map(&:action_type), ["create", "create"]
|
106
|
+
end
|
107
|
+
|
108
|
+
test "TrakaChange can filter out obsolete update->update actions" do
|
109
|
+
p = Product.create(:name => "Product A")
|
110
|
+
c = Cheese.create(:name => "Cheese A")
|
111
|
+
|
112
|
+
TrakaChange.publish_new_version!
|
113
|
+
|
114
|
+
p.name = "New name"
|
115
|
+
p.save
|
116
|
+
|
117
|
+
p.name = "Another name"
|
118
|
+
p.save
|
119
|
+
|
120
|
+
p.name = "And another name"
|
121
|
+
p.save
|
122
|
+
|
123
|
+
c.name = "New name"
|
124
|
+
c.save
|
125
|
+
|
126
|
+
assert_equal TrakaChange.staged_changes.count, 2
|
127
|
+
assert_equal TrakaChange.staged_changes.map(&:klass), ["Product", "Cheese"]
|
128
|
+
assert_equal TrakaChange.staged_changes.map(&:action_type), ["update", "update"]
|
129
|
+
end
|
130
|
+
|
131
|
+
test "TrakaChange can give unabridged list of changes" do
|
132
|
+
p = Product.create(:name => "Product A")
|
133
|
+
c = Cheese.create(:name => "Cheese A")
|
134
|
+
|
135
|
+
p.name = "New name"
|
136
|
+
p.save
|
137
|
+
|
138
|
+
p.name = "Another name"
|
139
|
+
p.save
|
140
|
+
|
141
|
+
p.destroy
|
142
|
+
c.destroy
|
143
|
+
|
144
|
+
# Abridged version would be empty because destroys would cancel out creates.
|
145
|
+
assert_equal TrakaChange.staged_changes(false).count, 6
|
146
|
+
assert_equal TrakaChange.staged_changes(false).map(&:klass), ["Product", "Cheese", "Product", "Product", "Product", "Cheese"]
|
147
|
+
assert_equal TrakaChange.staged_changes(false).map(&:action_type), ["create", "create", "update", "update", "destroy", "destroy"]
|
148
|
+
end
|
149
|
+
|
150
|
+
test "TrakaChange can resolve AR objects" do
|
151
|
+
p = Product.create(:name => "Product A")
|
152
|
+
c = Cheese.create(:name => "Cheese A")
|
153
|
+
|
154
|
+
assert_equal TrakaChange.staged_changes.first.get_record, p
|
155
|
+
assert_equal TrakaChange.staged_changes.last.get_record, c
|
156
|
+
end
|
157
|
+
|
158
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class IsTrakableTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
TrakaChange.destroy_all
|
7
|
+
TrakaChange.set_version!(1)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_a_products_traka_uuid_should_be_uuid
|
11
|
+
assert_equal "uuid", Product.traka_uuid
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_a_cheeses_traka_uuid_should_be_code
|
15
|
+
assert_equal "code", Cheese.traka_uuid
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_a_products_uuid_is_set_on_save
|
19
|
+
p = Product.new(:name => "Product A")
|
20
|
+
p.save
|
21
|
+
|
22
|
+
assert_not_nil p.uuid
|
23
|
+
assert_kind_of String, p.uuid
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_a_cheeses_code_is_set_on_save
|
27
|
+
c = Cheese.new(:name => "Cheese A")
|
28
|
+
c.save
|
29
|
+
|
30
|
+
assert_not_nil c.code
|
31
|
+
assert_kind_of String, c.code
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_a_product_should_record_changes_on_create
|
35
|
+
c = Product.new(:name => "Product B")
|
36
|
+
c.save
|
37
|
+
tc = TrakaChange.last
|
38
|
+
|
39
|
+
assert_equal tc.klass, "Product"
|
40
|
+
assert_equal tc.action_type, "create"
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_a_product_should_record_changes_on_destroy
|
44
|
+
c = Product.new(:name => "Product B")
|
45
|
+
c.save
|
46
|
+
c.destroy
|
47
|
+
tc = TrakaChange.last
|
48
|
+
|
49
|
+
assert_equal tc.klass, "Product"
|
50
|
+
assert_equal tc.action_type, "destroy"
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_a_product_should_record_changes_on_update
|
54
|
+
c = Product.new(:name => "Product B")
|
55
|
+
c.save
|
56
|
+
c.name = "New Name"
|
57
|
+
c.save
|
58
|
+
tc = TrakaChange.last
|
59
|
+
|
60
|
+
assert_equal tc.klass, "Product"
|
61
|
+
assert_equal tc.action_type, "update"
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_a_cheese_should_record_changes_on_create
|
65
|
+
c = Cheese.new(:name => "Cheese B")
|
66
|
+
c.save
|
67
|
+
tc = TrakaChange.last
|
68
|
+
|
69
|
+
assert_equal tc.klass, "Cheese"
|
70
|
+
assert_equal tc.action_type, "create"
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_a_cheese_should_record_changes_on_destroy
|
74
|
+
c = Cheese.new(:name => "Cheese B")
|
75
|
+
c.save
|
76
|
+
c.destroy
|
77
|
+
tc = TrakaChange.last
|
78
|
+
|
79
|
+
assert_equal tc.klass, "Cheese"
|
80
|
+
assert_equal tc.action_type, "destroy"
|
81
|
+
end
|
82
|
+
|
83
|
+
def test_a_cheese_should_record_changes_on_update
|
84
|
+
c = Cheese.new(:name => "Cheese B")
|
85
|
+
c.save
|
86
|
+
c.name = "New Name"
|
87
|
+
c.save
|
88
|
+
tc = TrakaChange.last
|
89
|
+
|
90
|
+
assert_equal tc.klass, "Cheese"
|
91
|
+
assert_equal tc.action_type, "update"
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# Configure Rails Environment
|
2
|
+
ENV["RAILS_ENV"] = "test"
|
3
|
+
|
4
|
+
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
5
|
+
require "rails/test_help"
|
6
|
+
|
7
|
+
Rails.backtrace_cleaner.remove_silencers!
|
8
|
+
|
9
|
+
# Load support files
|
10
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
11
|
+
|
12
|
+
# Load fixtures from the engine
|
13
|
+
if ActiveSupport::TestCase.method_defined?(:fixture_path=)
|
14
|
+
ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
|
15
|
+
end
|
data/test/traka_test.rb
ADDED
metadata
ADDED
@@ -0,0 +1,189 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: traka
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Andrew Buntine
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-12-30 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.2.16
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.2.16
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: sqlite3
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: Rails 3+ plugin for simple tracking of changes to resources over time.
|
47
|
+
email:
|
48
|
+
- info@andrewbuntine.com
|
49
|
+
executables: []
|
50
|
+
extensions: []
|
51
|
+
extra_rdoc_files: []
|
52
|
+
files:
|
53
|
+
- lib/traka/is_trakable.rb
|
54
|
+
- lib/traka/version.rb
|
55
|
+
- lib/traka/is_traka.rb
|
56
|
+
- lib/generators/traka/install_generator.rb
|
57
|
+
- lib/generators/traka/templates/public/system/api/version.txt
|
58
|
+
- lib/tasks/traka_tasks.rake
|
59
|
+
- lib/traka.rb
|
60
|
+
- lib/templates/active_record/model/model.rb
|
61
|
+
- MIT-LICENSE
|
62
|
+
- Rakefile
|
63
|
+
- README.md
|
64
|
+
- test/test_helper.rb
|
65
|
+
- test/dummy/Rakefile
|
66
|
+
- test/dummy/log/test.log
|
67
|
+
- test/dummy/log/development.log
|
68
|
+
- test/dummy/config.ru
|
69
|
+
- test/dummy/public/404.html
|
70
|
+
- test/dummy/public/500.html
|
71
|
+
- test/dummy/public/422.html
|
72
|
+
- test/dummy/public/system/api/version.txt
|
73
|
+
- test/dummy/public/favicon.ico
|
74
|
+
- test/dummy/db/schema.rb
|
75
|
+
- test/dummy/db/development.sqlite3
|
76
|
+
- test/dummy/db/migrate/20131219051348_create_cheeses.rb
|
77
|
+
- test/dummy/db/migrate/20131219051328_create_products.rb
|
78
|
+
- test/dummy/db/migrate/20131227113858_create_traka_changes.rb
|
79
|
+
- test/dummy/db/test.sqlite3
|
80
|
+
- test/dummy/config/application.rb
|
81
|
+
- test/dummy/config/environments/production.rb
|
82
|
+
- test/dummy/config/environments/test.rb
|
83
|
+
- test/dummy/config/environments/development.rb
|
84
|
+
- test/dummy/config/locales/en.yml
|
85
|
+
- test/dummy/config/database.yml
|
86
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
87
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
88
|
+
- test/dummy/config/initializers/inflections.rb
|
89
|
+
- test/dummy/config/initializers/secret_token.rb
|
90
|
+
- test/dummy/config/initializers/mime_types.rb
|
91
|
+
- test/dummy/config/initializers/session_store.rb
|
92
|
+
- test/dummy/config/routes.rb
|
93
|
+
- test/dummy/config/boot.rb
|
94
|
+
- test/dummy/config/environment.rb
|
95
|
+
- test/dummy/README.rdoc
|
96
|
+
- test/dummy/script/rails
|
97
|
+
- test/dummy/test/fixtures/traka_changes.yml
|
98
|
+
- test/dummy/test/fixtures/cheeses.yml
|
99
|
+
- test/dummy/test/fixtures/products.yml
|
100
|
+
- test/dummy/test/unit/product_test.rb
|
101
|
+
- test/dummy/test/unit/cheese_test.rb
|
102
|
+
- test/dummy/test/unit/traka_change_test.rb
|
103
|
+
- test/dummy/app/controllers/application_controller.rb
|
104
|
+
- test/dummy/app/assets/stylesheets/application.css
|
105
|
+
- test/dummy/app/assets/javascripts/application.js
|
106
|
+
- test/dummy/app/helpers/application_helper.rb
|
107
|
+
- test/dummy/app/views/layouts/application.html.erb
|
108
|
+
- test/dummy/app/models/product.rb
|
109
|
+
- test/dummy/app/models/traka_change.rb
|
110
|
+
- test/dummy/app/models/cheese.rb
|
111
|
+
- test/traka_test.rb
|
112
|
+
- test/is_traka_test.rb
|
113
|
+
- test/is_trakable_test.rb
|
114
|
+
homepage: http://github.com/buntine/traka
|
115
|
+
licenses:
|
116
|
+
- MIT
|
117
|
+
post_install_message:
|
118
|
+
rdoc_options: []
|
119
|
+
require_paths:
|
120
|
+
- lib
|
121
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ! '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
requirements: []
|
134
|
+
rubyforge_project:
|
135
|
+
rubygems_version: 1.8.24
|
136
|
+
signing_key:
|
137
|
+
specification_version: 3
|
138
|
+
summary: Rails 3+ plugin for simple tracking of changes to resources over time.
|
139
|
+
test_files:
|
140
|
+
- test/test_helper.rb
|
141
|
+
- test/dummy/Rakefile
|
142
|
+
- test/dummy/log/test.log
|
143
|
+
- test/dummy/log/development.log
|
144
|
+
- test/dummy/config.ru
|
145
|
+
- test/dummy/public/404.html
|
146
|
+
- test/dummy/public/500.html
|
147
|
+
- test/dummy/public/422.html
|
148
|
+
- test/dummy/public/system/api/version.txt
|
149
|
+
- test/dummy/public/favicon.ico
|
150
|
+
- test/dummy/db/schema.rb
|
151
|
+
- test/dummy/db/development.sqlite3
|
152
|
+
- test/dummy/db/migrate/20131219051348_create_cheeses.rb
|
153
|
+
- test/dummy/db/migrate/20131219051328_create_products.rb
|
154
|
+
- test/dummy/db/migrate/20131227113858_create_traka_changes.rb
|
155
|
+
- test/dummy/db/test.sqlite3
|
156
|
+
- test/dummy/config/application.rb
|
157
|
+
- test/dummy/config/environments/production.rb
|
158
|
+
- test/dummy/config/environments/test.rb
|
159
|
+
- test/dummy/config/environments/development.rb
|
160
|
+
- test/dummy/config/locales/en.yml
|
161
|
+
- test/dummy/config/database.yml
|
162
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
163
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
164
|
+
- test/dummy/config/initializers/inflections.rb
|
165
|
+
- test/dummy/config/initializers/secret_token.rb
|
166
|
+
- test/dummy/config/initializers/mime_types.rb
|
167
|
+
- test/dummy/config/initializers/session_store.rb
|
168
|
+
- test/dummy/config/routes.rb
|
169
|
+
- test/dummy/config/boot.rb
|
170
|
+
- test/dummy/config/environment.rb
|
171
|
+
- test/dummy/README.rdoc
|
172
|
+
- test/dummy/script/rails
|
173
|
+
- test/dummy/test/fixtures/traka_changes.yml
|
174
|
+
- test/dummy/test/fixtures/cheeses.yml
|
175
|
+
- test/dummy/test/fixtures/products.yml
|
176
|
+
- test/dummy/test/unit/product_test.rb
|
177
|
+
- test/dummy/test/unit/cheese_test.rb
|
178
|
+
- test/dummy/test/unit/traka_change_test.rb
|
179
|
+
- test/dummy/app/controllers/application_controller.rb
|
180
|
+
- test/dummy/app/assets/stylesheets/application.css
|
181
|
+
- test/dummy/app/assets/javascripts/application.js
|
182
|
+
- test/dummy/app/helpers/application_helper.rb
|
183
|
+
- test/dummy/app/views/layouts/application.html.erb
|
184
|
+
- test/dummy/app/models/product.rb
|
185
|
+
- test/dummy/app/models/traka_change.rb
|
186
|
+
- test/dummy/app/models/cheese.rb
|
187
|
+
- test/traka_test.rb
|
188
|
+
- test/is_traka_test.rb
|
189
|
+
- test/is_trakable_test.rb
|