appstats 0.23.5 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/.gitignore +0 -1
  2. data/Gemfile.lock +125 -97
  3. data/Rakefile +1 -10
  4. data/appstats.gemspec +2 -4
  5. data/db/config.yml +2 -2
  6. data/db/{migrations → migrate}/20110105221941_create_appstats_entries.rb +0 -0
  7. data/db/{migrations → migrate}/20110203151136_create_appstats_contexts.rb +0 -0
  8. data/db/{migrations → migrate}/20110203151635_rework_appstats_entries.rb +0 -0
  9. data/db/{migrations → migrate}/20110204183259_create_log_collectors.rb +0 -0
  10. data/db/{migrations → migrate}/20110207200324_add_separated_entry_times.rb +0 -0
  11. data/db/{migrations → migrate}/20110207200431_add_indexes.rb +0 -0
  12. data/db/{migrations → migrate}/20110207213514_create_appstats_actions.rb +0 -0
  13. data/db/{migrations → migrate}/20110208210921_align_entry_time_names.rb +0 -0
  14. data/db/{migrations → migrate}/20110210185911_create_appstats_test_object.rb +0 -0
  15. data/db/{migrations → migrate}/20110210225606_create_appstats_results.rb +0 -0
  16. data/db/{migrations → migrate}/20110215155830_create_appstats_hosts.rb +0 -0
  17. data/db/{migrations → migrate}/20110217215309_create_appstats_context_keys.rb +0 -0
  18. data/db/{migrations → migrate}/20110217220154_create_appstats_context_values.rb +0 -0
  19. data/db/{migrations → migrate}/20110217220357_add_additional_contexts_indexes.rb +0 -0
  20. data/db/{migrations → migrate}/20110217234136_add_appstats_results_contexts.rb +0 -0
  21. data/db/{migrations → migrate}/20110222215437_create_appstats_jobs.rb +0 -0
  22. data/db/{migrations → migrate}/20110223212232_add_appstats_entries_week_and_quarter.rb +0 -0
  23. data/db/{migrations → migrate}/20110225192624_add_appstats_log_collector_local_filename.rb +0 -0
  24. data/db/{migrations → migrate}/20110301170733_add_appstats_results_group_query_to_sql.rb +0 -0
  25. data/db/{migrations → migrate}/20110301170947_create_appstats_sub_results.rb +0 -0
  26. data/db/{migrations → migrate}/20110301195959_add_appstats_results_groups.rb +0 -0
  27. data/db/{migrations → migrate}/20110301212017_add_appstats_results_query_type.rb +0 -0
  28. data/db/{migrations → migrate}/20110301230757_rename_appstats_results_query_as_sql_to_query_to_sql.rb +0 -0
  29. data/db/{migrations → migrate}/20110311214833_add_appstats_results_db_connection.rb +0 -0
  30. data/db/{migrations → migrate}/20110318203339_add_appstats_results_latest_flag.rb +0 -0
  31. data/db/{migrations → migrate}/20110321154125_add_appstats_results_query_duration_in_seconds.rb +0 -0
  32. data/db/{migrations → migrate}/20110330171745_create_appstats_action_contexts.rb +0 -0
  33. data/db/{migrations → migrate}/20110510141236_create_audits.rb +0 -0
  34. data/db/{migrations → migrate}/20110510173343_add_test_object_columns.rb +0 -0
  35. data/db/{migrations → migrate}/20120118173343_add_appstats_context_indexes.rb +0 -0
  36. data/lib/appstats/action.rb +1 -1
  37. data/lib/appstats/action_context_key.rb +1 -1
  38. data/lib/appstats/audit.rb +1 -1
  39. data/lib/appstats/context.rb +1 -1
  40. data/lib/appstats/context_key.rb +1 -1
  41. data/lib/appstats/context_value.rb +1 -1
  42. data/lib/appstats/entry.rb +1 -1
  43. data/lib/appstats/host.rb +1 -1
  44. data/lib/appstats/log_collector.rb +1 -1
  45. data/lib/appstats/result.rb +1 -1
  46. data/lib/appstats/result_job.rb +1 -1
  47. data/lib/appstats/sub_result.rb +1 -1
  48. data/lib/appstats/tasks.rb +1 -1
  49. data/lib/appstats/test_object.rb +1 -1
  50. data/lib/appstats/version.rb +1 -1
  51. data/lib/templates/appstats.yml +1 -1
  52. data/spec/audit_spec.rb +7 -6
  53. data/spec/entry_spec.rb +8 -8
  54. data/spec/logger_spec.rb +22 -22
  55. metadata +40 -41
  56. data/Gemfile.lock.rails2 +0 -122
data/.gitignore CHANGED
@@ -1,7 +1,6 @@
1
1
  pkg/*
2
2
  *.gem
3
3
  .bundle
4
- db/migrate
5
4
  doc
6
5
  config/appstats.yml
7
6
  config/initializers/appstats.rb
@@ -1,85 +1,101 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- appstats (0.23.5)
4
+ appstats (0.24.0)
5
5
  daemons
6
6
  net-scp
7
- rails (>= 2.3.0)
7
+ rails (>= 3.2.1)
8
8
  redis
9
9
 
10
10
  GEM
11
11
  remote: http://rubygems.org/
12
12
  specs:
13
13
  Saikuro (1.1.0)
14
- ZenTest (4.5.0)
15
- abstract (1.0.0)
16
- actionmailer (3.0.7)
17
- actionpack (= 3.0.7)
18
- mail (~> 2.2.15)
19
- actionpack (3.0.7)
20
- activemodel (= 3.0.7)
21
- activesupport (= 3.0.7)
22
- builder (~> 2.1.2)
23
- erubis (~> 2.6.6)
24
- i18n (~> 0.5.0)
25
- rack (~> 1.2.1)
26
- rack-mount (~> 0.6.14)
27
- rack-test (~> 0.5.7)
28
- tzinfo (~> 0.3.23)
29
- activemodel (3.0.7)
30
- activesupport (= 3.0.7)
31
- builder (~> 2.1.2)
32
- i18n (~> 0.5.0)
33
- activerecord (3.0.7)
34
- activemodel (= 3.0.7)
35
- activesupport (= 3.0.7)
36
- arel (~> 2.0.2)
37
- tzinfo (~> 0.3.23)
38
- activeresource (3.0.7)
39
- activemodel (= 3.0.7)
40
- activesupport (= 3.0.7)
41
- activesupport (3.0.7)
42
- arel (2.0.9)
14
+ ZenTest (4.6.2)
15
+ actionmailer (3.2.1)
16
+ actionpack (= 3.2.1)
17
+ mail (~> 2.4.0)
18
+ actionpack (3.2.1)
19
+ activemodel (= 3.2.1)
20
+ activesupport (= 3.2.1)
21
+ builder (~> 3.0.0)
22
+ erubis (~> 2.7.0)
23
+ journey (~> 1.0.1)
24
+ rack (~> 1.4.0)
25
+ rack-cache (~> 1.1)
26
+ rack-test (~> 0.6.1)
27
+ sprockets (~> 2.1.2)
28
+ activemodel (3.2.1)
29
+ activesupport (= 3.2.1)
30
+ builder (~> 3.0.0)
31
+ activerecord (3.2.1)
32
+ activemodel (= 3.2.1)
33
+ activesupport (= 3.2.1)
34
+ arel (~> 3.0.0)
35
+ tzinfo (~> 0.3.29)
36
+ activeresource (3.2.1)
37
+ activemodel (= 3.2.1)
38
+ activesupport (= 3.2.1)
39
+ activesupport (3.2.1)
40
+ i18n (~> 0.6)
41
+ multi_json (~> 1.0)
42
+ arel (3.0.0)
43
43
  arrayfields (4.7.4)
44
- autotest-fsevent (0.2.5)
44
+ autotest-fsevent (0.2.7)
45
45
  sys-uname
46
- builder (2.1.2)
46
+ builder (3.0.0)
47
47
  chronic (0.3.0)
48
- churn (0.0.13)
48
+ churn (0.0.15)
49
+ arrayfields (= 4.7.4)
49
50
  chronic (>= 0.2.3)
51
+ chronic (>= 0.2.3)
52
+ fattr (= 2.2.0)
53
+ hirb (= 0.5.0)
50
54
  hirb
55
+ jeweler (= 1.6.4)
56
+ json (= 1.6.1)
51
57
  json_pure
52
58
  main
53
- ruby_parser (~> 2.0.4)
59
+ main (>= 4.6.0)
60
+ map (= 4.3.0)
61
+ ruby_parser (= 2.3.1)
62
+ ruby_parser (~> 2.3)
63
+ sexp_processor (= 3.0.7)
54
64
  sexp_processor (~> 3.0.3)
55
65
  colored (1.2)
56
- daemons (1.1.4)
57
- diff-lcs (1.1.2)
58
- erubis (2.6.6)
59
- abstract (>= 1.0.0)
66
+ daemons (1.1.6)
67
+ diff-lcs (1.1.3)
68
+ erubis (2.7.0)
60
69
  fattr (2.2.0)
61
- flay (1.4.2)
70
+ ffi (1.0.11)
71
+ flay (1.4.3)
62
72
  ruby_parser (~> 2.0)
63
73
  sexp_processor (~> 3.0)
64
- flog (2.5.1)
74
+ flog (2.5.3)
65
75
  ruby_parser (~> 2.0)
66
76
  sexp_processor (~> 3.0)
67
- guard (0.3.4)
77
+ git (1.2.5)
78
+ guard (1.0.0)
79
+ ffi (>= 0.5.0)
68
80
  thor (~> 0.14.6)
69
- guard-rspec (0.3.1)
70
- guard (>= 0.2.2)
71
- haml (3.0.25)
72
- hirb (0.4.3)
73
- i18n (0.5.0)
74
- json_pure (1.5.1)
75
- mail (2.2.19)
76
- activesupport (>= 2.3.6)
81
+ guard-rspec (0.6.0)
82
+ guard (>= 0.10.0)
83
+ hike (1.2.1)
84
+ hirb (0.5.0)
85
+ i18n (0.6.0)
86
+ jeweler (1.6.4)
87
+ bundler (~> 1.0)
88
+ git (>= 1.2.5)
89
+ rake
90
+ journey (1.0.1)
91
+ json (1.6.1)
92
+ json_pure (1.6.5)
93
+ mail (2.4.1)
77
94
  i18n (>= 0.4.0)
78
95
  mime-types (~> 1.16)
79
96
  treetop (~> 1.4.8)
80
- main (4.4.0)
81
- arrayfields (>= 4.7.4)
82
- fattr (>= 2.1.0)
97
+ main (4.7.1)
98
+ map (4.3.0)
83
99
  metric_fu (2.1.1)
84
100
  Saikuro (>= 1.1.0)
85
101
  activesupport (>= 2.0.0)
@@ -92,41 +108,48 @@ GEM
92
108
  reek (>= 1.2.6)
93
109
  roodi (>= 2.1.0)
94
110
  syntax
95
- mime-types (1.16)
96
- mysql (2.8.1)
111
+ mime-types (1.17.2)
112
+ multi_json (1.0.4)
113
+ mysql2 (0.3.11)
97
114
  net-scp (1.0.4)
98
115
  net-ssh (>= 1.99.1)
99
- net-ssh (2.2.1)
100
- polyglot (0.3.2)
101
- rack (1.2.4)
102
- rack-mount (0.6.14)
103
- rack (>= 1.0.0)
104
- rack-test (0.5.7)
116
+ net-ssh (2.3.0)
117
+ polyglot (0.3.3)
118
+ progressbar (0.9.2)
119
+ rack (1.4.1)
120
+ rack-cache (1.1)
121
+ rack (>= 0.4)
122
+ rack-ssl (1.3.2)
123
+ rack
124
+ rack-test (0.6.1)
105
125
  rack (>= 1.0)
106
- rails (3.0.7)
107
- actionmailer (= 3.0.7)
108
- actionpack (= 3.0.7)
109
- activerecord (= 3.0.7)
110
- activeresource (= 3.0.7)
111
- activesupport (= 3.0.7)
126
+ rails (3.2.1)
127
+ actionmailer (= 3.2.1)
128
+ actionpack (= 3.2.1)
129
+ activerecord (= 3.2.1)
130
+ activeresource (= 3.2.1)
131
+ activesupport (= 3.2.1)
112
132
  bundler (~> 1.0)
113
- railties (= 3.0.7)
114
- rails_best_practices (0.7.5)
133
+ railties (= 3.2.1)
134
+ rails_best_practices (1.7.2)
115
135
  activesupport
116
- colored (~> 1.2)
117
- erubis (~> 2.6.6)
118
- haml (~> 3.0.18)
136
+ colored
137
+ erubis
119
138
  i18n
120
- ruby-progressbar (~> 0.0.9)
121
- ruby_parser (~> 2.0.4)
122
- railties (3.0.7)
123
- actionpack (= 3.0.7)
124
- activesupport (= 3.0.7)
139
+ progressbar
140
+ sexp_processor
141
+ railties (3.2.1)
142
+ actionpack (= 3.2.1)
143
+ activesupport (= 3.2.1)
144
+ rack-ssl (~> 1.3.2)
125
145
  rake (>= 0.8.7)
126
- thor (~> 0.14.4)
127
- rake (0.8.7)
128
- rb-fsevent (0.4.0)
129
- rcov (0.9.9)
146
+ rdoc (~> 3.4)
147
+ thor (~> 0.14.6)
148
+ rake (0.9.2.2)
149
+ rb-fsevent (0.9.0)
150
+ rcov (1.0.0)
151
+ rdoc (3.12)
152
+ json (~> 1.4)
130
153
  redis (2.2.2)
131
154
  reek (1.2.8)
132
155
  ruby2ruby (~> 1.2)
@@ -134,31 +157,36 @@ GEM
134
157
  sexp_processor (~> 3.0)
135
158
  roodi (2.1.0)
136
159
  ruby_parser
137
- rspec (2.5.0)
138
- rspec-core (~> 2.5.0)
139
- rspec-expectations (~> 2.5.0)
140
- rspec-mocks (~> 2.5.0)
141
- rspec-core (2.5.1)
142
- rspec-expectations (2.5.0)
160
+ rspec (2.8.0)
161
+ rspec-core (~> 2.8.0)
162
+ rspec-expectations (~> 2.8.0)
163
+ rspec-mocks (~> 2.8.0)
164
+ rspec-core (2.8.0)
165
+ rspec-expectations (2.8.0)
143
166
  diff-lcs (~> 1.1.2)
144
- rspec-mocks (2.5.0)
145
- ruby-progressbar (0.0.10)
146
- ruby2ruby (1.2.5)
167
+ rspec-mocks (2.8.0)
168
+ ruby2ruby (1.3.1)
147
169
  ruby_parser (~> 2.0)
148
170
  sexp_processor (~> 3.0)
149
- ruby_parser (2.0.6)
171
+ ruby_parser (2.3.1)
150
172
  sexp_processor (~> 3.0)
151
- sexp_processor (3.0.5)
152
- standalone_migrations (0.4.7)
153
- activerecord
173
+ sexp_processor (3.0.7)
174
+ sprockets (2.1.2)
175
+ hike (~> 1.2)
176
+ rack (~> 1.0)
177
+ tilt (!= 1.3.0, ~> 1.1)
178
+ standalone_migrations (1.0.5)
179
+ activerecord (>= 3)
154
180
  rake
155
181
  syntax (1.0.0)
156
- sys-uname (0.8.5)
182
+ sys-uname (0.9.0)
183
+ ffi (>= 1.0.0)
157
184
  thor (0.14.6)
185
+ tilt (1.3.3)
158
186
  treetop (1.4.10)
159
187
  polyglot
160
188
  polyglot (>= 0.3.1)
161
- tzinfo (0.3.26)
189
+ tzinfo (0.3.31)
162
190
 
163
191
  PLATFORMS
164
192
  ruby
@@ -169,7 +197,7 @@ DEPENDENCIES
169
197
  autotest-fsevent
170
198
  guard-rspec
171
199
  metric_fu
172
- mysql
200
+ mysql2
173
201
  rake
174
202
  rb-fsevent
175
203
  rspec
data/Rakefile CHANGED
@@ -17,16 +17,7 @@ require 'tasks/standalone_migrations'
17
17
  import 'lib/appstats/ci.rake'
18
18
 
19
19
  begin
20
- MigratorTasks.new do |t|
21
- t.migrations = "db/migrations"
22
- t.config = "db/config.yml"
23
- t.schema = "db/schema.rb"
24
- t.env = "DB"
25
- # TODO: figure out why this property went away
26
- # t.default_env = "development"
27
- t.verbose = true
28
- t.log_level = Logger::ERROR
29
- end
20
+ require 'tasks/standalone_migrations'
30
21
  rescue LoadError => e
31
22
  puts "gem install standalone_migrations to get db:migrate:* tasks! (Error: #{e})"
32
23
  end
@@ -12,9 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.summary = %q{Provide usage statistics about how your application is being used}
13
13
  s.description = %q{Provide usage statistics about how your application is being used}
14
14
 
15
- # Models are to be used in Rails 3 environment, but the logger can work with Rails 2 apps
16
- # But, for testing appstats itself, you will need Rails 3
17
- s.add_dependency('rails','>=2.3.0')
15
+ s.add_dependency('rails','>=3.2.1')
18
16
  s.add_dependency('daemons')
19
17
  s.add_dependency('net-scp')
20
18
  s.add_dependency('redis')
@@ -23,7 +21,7 @@ Gem::Specification.new do |s|
23
21
  s.add_development_dependency('rspec')
24
22
  s.add_development_dependency('ZenTest')
25
23
  s.add_development_dependency('standalone_migrations')
26
- s.add_development_dependency('mysql')
24
+ s.add_development_dependency('mysql2')
27
25
  s.add_development_dependency('metric_fu')
28
26
  s.add_development_dependency('guard-rspec')
29
27
  s.add_development_dependency('autotest-fsevent') if RUBY_PLATFORM =~ /darwin/i
@@ -1,5 +1,5 @@
1
1
  development:
2
- adapter: mysql
2
+ adapter: mysql2
3
3
  database: appstats_development
4
4
  username: root
5
5
  password:
@@ -9,7 +9,7 @@ development:
9
9
  adapter: memcached
10
10
  servers: localhost
11
11
  test:
12
- adapter: mysql
12
+ adapter: mysql2
13
13
  database: appstats_test
14
14
  username: root
15
15
  password:
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Appstats
3
3
  class Action < ActiveRecord::Base
4
- set_table_name "appstats_actions"
4
+ self.table_name = "appstats_actions"
5
5
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
6
6
 
7
7
  attr_accessible :name, :plural_name, :status
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Appstats
3
3
  class ActionContextKey < ActiveRecord::Base
4
- set_table_name "appstats_action_context_keys"
4
+ self.table_name = "appstats_action_context_keys"
5
5
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
6
6
 
7
7
  attr_accessible :action_name, :context_key, :status
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Appstats
3
3
  class Audit < ActiveRecord::Base
4
- set_table_name "appstats_audits"
4
+ self.table_name = "appstats_audits"
5
5
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
6
6
 
7
7
  attr_accessible :table_name, :column_type, :obj_name, :obj_attr, :obj_type, :obj_id, :action, :old_value, :new_value, :old_value_full, :new_value_full
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Appstats
3
3
  class Context < ActiveRecord::Base
4
- set_table_name "appstats_contexts"
4
+ self.table_name = "appstats_contexts"
5
5
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
6
6
 
7
7
  belongs_to :entry, :class_name => "Appstats::Entry", :foreign_key => "appstats_entry_id"
@@ -1,6 +1,6 @@
1
1
  module Appstats
2
2
  class ContextKey < ActiveRecord::Base
3
- set_table_name "appstats_context_keys"
3
+ self.table_name = "appstats_context_keys"
4
4
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
5
5
 
6
6
  attr_accessible :name, :status
@@ -1,6 +1,6 @@
1
1
  module Appstats
2
2
  class ContextValue < ActiveRecord::Base
3
- set_table_name "appstats_context_values"
3
+ self.table_name = "appstats_context_values"
4
4
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
5
5
 
6
6
  attr_accessible :name, :status
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Appstats
3
3
  class Entry < ActiveRecord::Base
4
- set_table_name "appstats_entries"
4
+ self.table_name = "appstats_entries"
5
5
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
6
6
 
7
7
  has_many :contexts, :class_name => "Appstats::Context", :table_name => 'appstats_contexts', :foreign_key => 'appstats_entry_id', :order => 'context_key'
@@ -1,6 +1,6 @@
1
1
  module Appstats
2
2
  class Host < ActiveRecord::Base
3
- set_table_name "appstats_hosts"
3
+ self.table_name = "appstats_hosts"
4
4
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
5
5
 
6
6
  attr_accessible :name, :status
@@ -3,7 +3,7 @@ require 'net/scp'
3
3
 
4
4
  module Appstats
5
5
  class LogCollector < ActiveRecord::Base
6
- set_table_name "appstats_log_collectors"
6
+ self.table_name = "appstats_log_collectors"
7
7
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
8
8
 
9
9
  @@downloaded_log_directory = nil
@@ -1,6 +1,6 @@
1
1
  module Appstats
2
2
  class Result < ActiveRecord::Base
3
- set_table_name "appstats_results"
3
+ self.table_name = "appstats_results"
4
4
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
5
5
 
6
6
  attr_accessible :name, :result_type,
@@ -1,6 +1,6 @@
1
1
  module Appstats
2
2
  class ResultJob < ActiveRecord::Base
3
- set_table_name "appstats_result_jobs"
3
+ self.table_name = "appstats_result_jobs"
4
4
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
5
5
 
6
6
  attr_accessible :name, :frequency, :status, :query, :last_run_at, :query_type
@@ -1,6 +1,6 @@
1
1
  module Appstats
2
2
  class SubResult < ActiveRecord::Base
3
- set_table_name "appstats_sub_results"
3
+ self.table_name = "appstats_sub_results"
4
4
  establish_connection "appstats_#{Rails.env}" if configurations.keys.include?("appstats_#{Rails.env}")
5
5
 
6
6
  attr_accessible :context_filter, :count, :ratio_of_total
@@ -14,7 +14,7 @@ module Appstats
14
14
  here = File.expand_path(File.dirname(File.dirname(File.dirname((__FILE__)))))
15
15
  @base = base
16
16
  @vendor = "#{here}/vendor"
17
- @gem_migrations = "#{here}/db/migrations"
17
+ @gem_migrations = "#{here}/db/migrate"
18
18
  @app_migrate = "#{base}/db/migrate"
19
19
  @config = "#{base}/db/config.yml"
20
20
  @schema = "#{base}/db/schema.rb"
@@ -1,6 +1,6 @@
1
1
  module Appstats
2
2
  class TestObject < ActiveRecord::Base
3
- set_table_name "appstats_test_objects"
3
+ self.table_name = "appstats_test_objects"
4
4
  acts_as_appstatsable
5
5
  acts_as_auditable
6
6
 
@@ -1,3 +1,3 @@
1
1
  module Appstats
2
- VERSION = "0.23.5"
2
+ VERSION = "0.24.0"
3
3
  end
@@ -1,5 +1,5 @@
1
1
  database:
2
- adapter: mysql
2
+ adapter: mysql2
3
3
  database: mystatsdb_production
4
4
  username: root
5
5
  password:
@@ -90,6 +90,7 @@ module Appstats
90
90
  Audit.count.should == 15
91
91
 
92
92
  all = Audit.all
93
+
93
94
  all[0].column_type.should == nil
94
95
  all[0].obj_type.should == nil
95
96
 
@@ -97,11 +98,11 @@ module Appstats
97
98
  all[1].column_type.should == "varchar(255)"
98
99
  all[1].obj_type.should == "string"
99
100
 
100
- all[2].obj_attr.should == "created_at"
101
+ all[2].obj_attr.should == "blah_timestamp"
101
102
  all[2].column_type.should == "datetime"
102
103
  all[2].obj_type.should == "datetime"
103
104
 
104
- all[3].obj_attr.should == "blah_timestamp"
105
+ all[3].obj_attr.should == "created_at"
105
106
  all[3].column_type.should == "datetime"
106
107
  all[3].obj_type.should == "datetime"
107
108
 
@@ -109,12 +110,12 @@ module Appstats
109
110
  all[4].column_type.should == "datetime"
110
111
  all[4].obj_type.should == "datetime"
111
112
 
112
- all[5].obj_attr.should == "id"
113
- all[5].column_type.should == "int(11)"
113
+ all[5].obj_attr.should == "blah_decimal"
114
+ all[5].column_type.should == "decimal(10,0)"
114
115
  all[5].obj_type.should == "integer"
115
116
 
116
- all[6].obj_attr.should == "blah_decimal"
117
- all[6].column_type.should == "decimal(10,0)"
117
+ all[6].obj_attr.should == "id"
118
+ all[6].column_type.should == "int(11)"
118
119
  all[6].obj_type.should == "integer"
119
120
 
120
121
  all[7].obj_attr.should == "blah_boolean"
@@ -193,18 +193,18 @@ module Appstats
193
193
  end
194
194
 
195
195
  it "should understand an entry without contexts" do
196
- entry = Entry.create_from_logger_string("0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search")
196
+ entry = Entry.create_from_logger_string("0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search")
197
197
  Entry.count.should == @before_count + 1
198
198
  entry.action.should == "address_search"
199
- entry.raw_entry.should == "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search"
199
+ entry.raw_entry.should == "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search"
200
200
  entry.occurred_at.should == Time.parse("2010-09-21 23:15:20")
201
201
  end
202
202
 
203
203
  it "should understand contexts" do
204
- entry = Entry.create_from_logger_string("0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Market : server=Live")
204
+ entry = Entry.create_from_logger_string("0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Market : server=Live")
205
205
  Entry.count.should == @before_count + 1
206
206
  entry.action.should == "address_filter"
207
- entry.raw_entry.should == "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Market : server=Live"
207
+ entry.raw_entry.should == "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Market : server=Live"
208
208
  entry.occurred_at.should == Time.parse("2010-09-21 23:15:20")
209
209
  entry.contexts.size.should == 2
210
210
  entry.contexts[0].context_key = "app_name"
@@ -214,10 +214,10 @@ module Appstats
214
214
  end
215
215
 
216
216
  it "should handle 'action' as a context" do
217
- entry = Entry.create_from_logger_string('0.23.5 setup[:,=,-n] 2011-02-24 12:59:57 action=page-view : action=save_ovcen : app_name=cdb')
217
+ entry = Entry.create_from_logger_string('0.24.0 setup[:,=,-n] 2011-02-24 12:59:57 action=page-view : action=save_ovcen : app_name=cdb')
218
218
  Entry.count.should == @before_count + 1
219
219
  entry.action.should == "page-view"
220
- entry.raw_entry.should == "0.23.5 setup[:,=,-n] 2011-02-24 12:59:57 action=page-view : action=save_ovcen : app_name=cdb"
220
+ entry.raw_entry.should == "0.24.0 setup[:,=,-n] 2011-02-24 12:59:57 action=page-view : action=save_ovcen : app_name=cdb"
221
221
  entry.occurred_at.should == Time.parse("2011-02-24 12:59:57")
222
222
  entry.contexts.size.should == 2
223
223
  entry.contexts[0].context_key = "action"
@@ -228,10 +228,10 @@ module Appstats
228
228
  end
229
229
 
230
230
  it "should handle multiple of the same 'context'" do
231
- entry = Entry.create_from_logger_string('0.23.5 setup[:,=,-n] 2011-02-24 12:59:57 action=page-view : app_name=market : app_name=cdb')
231
+ entry = Entry.create_from_logger_string('0.24.0 setup[:,=,-n] 2011-02-24 12:59:57 action=page-view : app_name=market : app_name=cdb')
232
232
  Entry.count.should == @before_count + 1
233
233
  entry.action.should == "page-view"
234
- entry.raw_entry.should == "0.23.5 setup[:,=,-n] 2011-02-24 12:59:57 action=page-view : app_name=market : app_name=cdb"
234
+ entry.raw_entry.should == "0.24.0 setup[:,=,-n] 2011-02-24 12:59:57 action=page-view : app_name=market : app_name=cdb"
235
235
  entry.occurred_at.should == Time.parse("2011-02-24 12:59:57")
236
236
  entry.contexts.size.should == 2
237
237
  entry.contexts[0].context_key = "app_name"
@@ -122,12 +122,12 @@ module Appstats
122
122
 
123
123
  it "should accept numbers" do
124
124
  Appstats::Logger.entry(5, :blah => 6)
125
- Appstats::Logger.raw_read.should == ["0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=5 : blah=6"]
125
+ Appstats::Logger.raw_read.should == ["0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=5 : blah=6"]
126
126
  end
127
127
 
128
128
  it "should accept arrays" do
129
129
  Appstats::Logger.entry('search', :provider => [ 'one', 'two' ])
130
- Appstats::Logger.raw_read.should == ["0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=search : provider=one : provider=two"]
130
+ Appstats::Logger.raw_read.should == ["0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=search : provider=one : provider=two"]
131
131
  end
132
132
 
133
133
 
@@ -137,7 +137,7 @@ module Appstats
137
137
 
138
138
  it "should look similar to regular entry" do
139
139
  Appstats::Logger.exception_entry(RuntimeError.new("blah"),:on => "login")
140
- Appstats::Logger.raw_read.should == ["0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=appstats-exception : error=blah : on=login"]
140
+ Appstats::Logger.raw_read.should == ["0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=appstats-exception : error=blah : on=login"]
141
141
  end
142
142
 
143
143
  end
@@ -154,47 +154,47 @@ module Appstats
154
154
 
155
155
  it "should handle a statistics entry" do
156
156
  expected = { :action => "address_search", :timestamp => "2010-09-21 23:15:20" }
157
- actual = Appstats::Logger.entry_to_hash("0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search")
157
+ actual = Appstats::Logger.entry_to_hash("0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search")
158
158
  actual.should == expected
159
159
  end
160
160
 
161
161
  it "should handle contexts" do
162
162
  expected = { :action => "address_filter", :timestamp => "2010-09-21 23:15:20", :server => "Live", :app_name => 'Market' }
163
- actual = Appstats::Logger.entry_to_hash("0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Market : server=Live")
163
+ actual = Appstats::Logger.entry_to_hash("0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Market : server=Live")
164
164
  actual.should == expected
165
165
  end
166
166
 
167
167
  it "should handle multiple actions" do
168
168
  expected = { :action => ["address_filter", "blah"], :timestamp => "2010-09-21 23:15:20", :server => "Live", :app_name => 'Market' }
169
- actual = Appstats::Logger.entry_to_hash("0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : action=blah : app_name=Market : server=Live")
169
+ actual = Appstats::Logger.entry_to_hash("0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : action=blah : app_name=Market : server=Live")
170
170
  actual.should == expected
171
171
  end
172
172
 
173
173
  it "should handle multiple of same context" do
174
174
  expected = { :action => "address_filter", :timestamp => "2010-09-21 23:15:20", :server => "Live", :app_name => ['Sin','Market'] }
175
- actual = Appstats::Logger.entry_to_hash("0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Sin : app_name=Market : server=Live")
175
+ actual = Appstats::Logger.entry_to_hash("0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Sin : app_name=Market : server=Live")
176
176
  actual.should == expected
177
177
  end
178
178
 
179
179
  it "should handle no actions" do
180
180
  expected = { :action => "UNKNOWN_ACTION", :timestamp => "2010-09-21 23:15:20", :server => "Live", :app_name => 'Market' }
181
- actual = Appstats::Logger.entry_to_hash("0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 app_name=Market : server=Live")
181
+ actual = Appstats::Logger.entry_to_hash("0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 app_name=Market : server=Live")
182
182
  actual.should == expected
183
183
  end
184
184
 
185
185
  it "should handle actions with the delimiter (and change the delimiter)" do
186
186
  expected = { :action => "address:=search-n", :timestamp => "2010-09-21 23:15:20" }
187
- actual = Appstats::Logger.entry_to_hash("0.23.5 setup[::,==,--n] 2010-09-21 23:15:20 action==address:=search-n")
187
+ actual = Appstats::Logger.entry_to_hash("0.24.0 setup[::,==,--n] 2010-09-21 23:15:20 action==address:=search-n")
188
188
  actual.should == expected
189
189
 
190
190
  expected = { :action => "address::search==--n", :timestamp => "2010-09-21 23:15:20" }
191
- actual = Appstats::Logger.entry_to_hash("0.23.5 setup[:::,===,---n] 2010-09-21 23:15:20 action===address::search==--n")
191
+ actual = Appstats::Logger.entry_to_hash("0.24.0 setup[:::,===,---n] 2010-09-21 23:15:20 action===address::search==--n")
192
192
  actual.should == expected
193
193
  end
194
194
 
195
195
  it "should handle contexts with the delimiter (and change the delimiter)" do
196
196
  expected = { :action => "address", :timestamp => "2010-09-21 23:15:20", :server => "market:eval=-n" }
197
- actual = Appstats::Logger.entry_to_hash("0.23.5 setup[::,==,--n] 2010-09-21 23:15:20 action==address :: server==market:eval=-n")
197
+ actual = Appstats::Logger.entry_to_hash("0.24.0 setup[::,==,--n] 2010-09-21 23:15:20 action==address :: server==market:eval=-n")
198
198
  actual.should == expected
199
199
  end
200
200
 
@@ -203,66 +203,66 @@ module Appstats
203
203
  describe "#entry_to_s" do
204
204
 
205
205
  it "should handle a statistics entry" do
206
- expected = "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search"
206
+ expected = "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search"
207
207
  actual = Appstats::Logger.entry_to_s("address_search")
208
208
  actual.should == expected
209
209
  end
210
210
 
211
211
  it "should handle numbers" do
212
- expected = "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=1 : note=2.2"
212
+ expected = "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=1 : note=2.2"
213
213
  actual = Appstats::Logger.entry_to_s(1,:note => 2.2)
214
214
  actual.should == expected
215
215
  end
216
216
 
217
217
  it "should handle default contexts" do
218
218
  Appstats::Logger.default_contexts[:app_name] = "market"
219
- expected = "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search : app_name=market"
219
+ expected = "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search : app_name=market"
220
220
  actual = Appstats::Logger.entry_to_s("address_search")
221
221
  actual.should == expected
222
222
  end
223
223
 
224
224
  it "should handle contexts (and sort them by symbol)" do
225
- expected = "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Market : server=Live"
225
+ expected = "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_filter : app_name=Market : server=Live"
226
226
  actual = Appstats::Logger.entry_to_s("address_filter", { :server => "Live", :app_name => 'Market' })
227
227
  actual.should == expected
228
228
  end
229
229
 
230
230
  it "should handle actions with the delimiter (and change the delimiter)" do
231
- expected = "0.23.5 setup[::,==,--n] 2010-09-21 23:15:20 action==address:=search-n"
231
+ expected = "0.24.0 setup[::,==,--n] 2010-09-21 23:15:20 action==address:=search-n"
232
232
  actual = Appstats::Logger.entry_to_s("address:=search-n")
233
233
  actual.should == expected
234
234
 
235
- expected = "0.23.5 setup[:::,===,---n] 2010-09-21 23:15:20 action===address::search==--n"
235
+ expected = "0.24.0 setup[:::,===,---n] 2010-09-21 23:15:20 action===address::search==--n"
236
236
  actual = Appstats::Logger.entry_to_s("address::search==--n")
237
237
  actual.should == expected
238
238
  end
239
239
 
240
240
  it "should handle contexts with the delimiter (and change the delimiter)" do
241
- expected = "0.23.5 setup[::,==,--n] 2010-09-21 23:15:20 action==address :: server==market:eval=-n"
241
+ expected = "0.24.0 setup[::,==,--n] 2010-09-21 23:15:20 action==address :: server==market:eval=-n"
242
242
  actual = Appstats::Logger.entry_to_s("address", :server => 'market:eval=-n')
243
243
  actual.should == expected
244
244
  end
245
245
 
246
246
  it "should ignore spaces" do
247
- expected = "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address search"
247
+ expected = "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address search"
248
248
  actual = Appstats::Logger.entry_to_s("address search")
249
249
  actual.should == expected
250
250
  end
251
251
 
252
252
  it "should convert newlines in action" do
253
- expected = "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_-nsearch"
253
+ expected = "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_-nsearch"
254
254
  actual = Appstats::Logger.entry_to_s("address_\nsearch")
255
255
  actual.should == expected
256
256
  end
257
257
 
258
258
  it "should convert newlines in context" do
259
- expected = "0.23.5 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search : blah=some-nlong-nstatement"
259
+ expected = "0.24.0 setup[:,=,-n] 2010-09-21 23:15:20 action=address_search : blah=some-nlong-nstatement"
260
260
  actual = Appstats::Logger.entry_to_s("address_search",:blah => "some\nlong\nstatement")
261
261
  actual.should == expected
262
262
  end
263
263
 
264
264
  it "should convert newlines based on the delimiter" do
265
- expected = "0.23.5 setup[::,==,--n] 2010-09-21 23:15:20 action==address:=--nsearch-n"
265
+ expected = "0.24.0 setup[::,==,--n] 2010-09-21 23:15:20 action==address:=--nsearch-n"
266
266
  actual = Appstats::Logger.entry_to_s("address:=\nsearch-n")
267
267
  actual.should == expected
268
268
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appstats
3
3
  version: !ruby/object:Gem::Version
4
- hash: 73
4
+ hash: 127
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 23
9
- - 5
10
- version: 0.23.5
8
+ - 24
9
+ - 0
10
+ version: 0.24.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andrew Forward
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-17 00:00:00 Z
18
+ date: 2012-01-30 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rails
@@ -25,12 +25,12 @@ dependencies:
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- hash: 3
28
+ hash: 13
29
29
  segments:
30
- - 2
31
30
  - 3
32
- - 0
33
- version: 2.3.0
31
+ - 2
32
+ - 1
33
+ version: 3.2.1
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency
@@ -132,7 +132,7 @@ dependencies:
132
132
  type: :development
133
133
  version_requirements: *id008
134
134
  - !ruby/object:Gem::Dependency
135
- name: mysql
135
+ name: mysql2
136
136
  prerelease: false
137
137
  requirement: &id009 !ruby/object:Gem::Requirement
138
138
  none: false
@@ -214,7 +214,6 @@ files:
214
214
  - .gitignore
215
215
  - Gemfile
216
216
  - Gemfile.lock
217
- - Gemfile.lock.rails2
218
217
  - History.txt
219
218
  - README.rdoc
220
219
  - Rakefile
@@ -224,36 +223,36 @@ files:
224
223
  - config/daemons.yml
225
224
  - config/initializers/appstats.rb.example
226
225
  - db/config.yml
227
- - db/migrations/20110105221941_create_appstats_entries.rb
228
- - db/migrations/20110203151136_create_appstats_contexts.rb
229
- - db/migrations/20110203151635_rework_appstats_entries.rb
230
- - db/migrations/20110204183259_create_log_collectors.rb
231
- - db/migrations/20110207200324_add_separated_entry_times.rb
232
- - db/migrations/20110207200431_add_indexes.rb
233
- - db/migrations/20110207213514_create_appstats_actions.rb
234
- - db/migrations/20110208210921_align_entry_time_names.rb
235
- - db/migrations/20110210185911_create_appstats_test_object.rb
236
- - db/migrations/20110210225606_create_appstats_results.rb
237
- - db/migrations/20110215155830_create_appstats_hosts.rb
238
- - db/migrations/20110217215309_create_appstats_context_keys.rb
239
- - db/migrations/20110217220154_create_appstats_context_values.rb
240
- - db/migrations/20110217220357_add_additional_contexts_indexes.rb
241
- - db/migrations/20110217234136_add_appstats_results_contexts.rb
242
- - db/migrations/20110222215437_create_appstats_jobs.rb
243
- - db/migrations/20110223212232_add_appstats_entries_week_and_quarter.rb
244
- - db/migrations/20110225192624_add_appstats_log_collector_local_filename.rb
245
- - db/migrations/20110301170733_add_appstats_results_group_query_to_sql.rb
246
- - db/migrations/20110301170947_create_appstats_sub_results.rb
247
- - db/migrations/20110301195959_add_appstats_results_groups.rb
248
- - db/migrations/20110301212017_add_appstats_results_query_type.rb
249
- - db/migrations/20110301230757_rename_appstats_results_query_as_sql_to_query_to_sql.rb
250
- - db/migrations/20110311214833_add_appstats_results_db_connection.rb
251
- - db/migrations/20110318203339_add_appstats_results_latest_flag.rb
252
- - db/migrations/20110321154125_add_appstats_results_query_duration_in_seconds.rb
253
- - db/migrations/20110330171745_create_appstats_action_contexts.rb
254
- - db/migrations/20110510141236_create_audits.rb
255
- - db/migrations/20110510173343_add_test_object_columns.rb
256
- - db/migrations/20120118173343_add_appstats_context_indexes.rb
226
+ - db/migrate/20110105221941_create_appstats_entries.rb
227
+ - db/migrate/20110203151136_create_appstats_contexts.rb
228
+ - db/migrate/20110203151635_rework_appstats_entries.rb
229
+ - db/migrate/20110204183259_create_log_collectors.rb
230
+ - db/migrate/20110207200324_add_separated_entry_times.rb
231
+ - db/migrate/20110207200431_add_indexes.rb
232
+ - db/migrate/20110207213514_create_appstats_actions.rb
233
+ - db/migrate/20110208210921_align_entry_time_names.rb
234
+ - db/migrate/20110210185911_create_appstats_test_object.rb
235
+ - db/migrate/20110210225606_create_appstats_results.rb
236
+ - db/migrate/20110215155830_create_appstats_hosts.rb
237
+ - db/migrate/20110217215309_create_appstats_context_keys.rb
238
+ - db/migrate/20110217220154_create_appstats_context_values.rb
239
+ - db/migrate/20110217220357_add_additional_contexts_indexes.rb
240
+ - db/migrate/20110217234136_add_appstats_results_contexts.rb
241
+ - db/migrate/20110222215437_create_appstats_jobs.rb
242
+ - db/migrate/20110223212232_add_appstats_entries_week_and_quarter.rb
243
+ - db/migrate/20110225192624_add_appstats_log_collector_local_filename.rb
244
+ - db/migrate/20110301170733_add_appstats_results_group_query_to_sql.rb
245
+ - db/migrate/20110301170947_create_appstats_sub_results.rb
246
+ - db/migrate/20110301195959_add_appstats_results_groups.rb
247
+ - db/migrate/20110301212017_add_appstats_results_query_type.rb
248
+ - db/migrate/20110301230757_rename_appstats_results_query_as_sql_to_query_to_sql.rb
249
+ - db/migrate/20110311214833_add_appstats_results_db_connection.rb
250
+ - db/migrate/20110318203339_add_appstats_results_latest_flag.rb
251
+ - db/migrate/20110321154125_add_appstats_results_query_duration_in_seconds.rb
252
+ - db/migrate/20110330171745_create_appstats_action_contexts.rb
253
+ - db/migrate/20110510141236_create_audits.rb
254
+ - db/migrate/20110510173343_add_test_object_columns.rb
255
+ - db/migrate/20120118173343_add_appstats_context_indexes.rb
257
256
  - db/schema.rb
258
257
  - doc/benchmarks/Benchmark.php
259
258
  - doc/benchmarks/Predis/Autoloader.php
@@ -1,122 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- appstats (0.23.5)
5
- daemons
6
- net-scp
7
- rails (>= 2.3.0)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- Saikuro (1.1.0)
13
- ZenTest (4.5.0)
14
- abstract (1.0.0)
15
- actionmailer (2.3.11)
16
- actionpack (= 2.3.11)
17
- actionpack (2.3.11)
18
- activesupport (= 2.3.11)
19
- rack (~> 1.1.0)
20
- activerecord (2.3.11)
21
- activesupport (= 2.3.11)
22
- activeresource (2.3.11)
23
- activesupport (= 2.3.11)
24
- activesupport (2.3.11)
25
- arrayfields (4.7.4)
26
- chronic (0.3.0)
27
- churn (0.0.13)
28
- chronic (>= 0.2.3)
29
- hirb
30
- json_pure
31
- main
32
- ruby_parser (~> 2.0.4)
33
- sexp_processor (~> 3.0.3)
34
- colored (1.2)
35
- daemons (1.1.2)
36
- diff-lcs (1.1.2)
37
- erubis (2.6.6)
38
- abstract (>= 1.0.0)
39
- fattr (2.2.0)
40
- flay (1.4.2)
41
- ruby_parser (~> 2.0)
42
- sexp_processor (~> 3.0)
43
- flog (2.5.1)
44
- ruby_parser (~> 2.0)
45
- sexp_processor (~> 3.0)
46
- haml (3.0.25)
47
- hirb (0.4.3)
48
- i18n (0.5.0)
49
- json_pure (1.5.1)
50
- main (4.4.0)
51
- arrayfields (>= 4.7.4)
52
- fattr (>= 2.1.0)
53
- metric_fu (2.1.1)
54
- Saikuro (>= 1.1.0)
55
- activesupport (>= 2.0.0)
56
- chronic (~> 0.3.0)
57
- churn (>= 0.0.7)
58
- flay (>= 1.2.1)
59
- flog (>= 2.3.0)
60
- rails_best_practices (>= 0.6.4)
61
- rcov (>= 0.8.3.3)
62
- reek (>= 1.2.6)
63
- roodi (>= 2.1.0)
64
- syntax
65
- mysql (2.8.1)
66
- net-scp (1.0.4)
67
- net-ssh (>= 1.99.1)
68
- net-ssh (2.1.4)
69
- rack (1.1.2)
70
- rails (2.3.11)
71
- actionmailer (= 2.3.11)
72
- actionpack (= 2.3.11)
73
- activerecord (= 2.3.11)
74
- activeresource (= 2.3.11)
75
- activesupport (= 2.3.11)
76
- rake (>= 0.8.3)
77
- rails_best_practices (0.7.5)
78
- activesupport
79
- colored (~> 1.2)
80
- erubis (~> 2.6.6)
81
- haml (~> 3.0.18)
82
- i18n
83
- ruby-progressbar (~> 0.0.9)
84
- ruby_parser (~> 2.0.4)
85
- rake (0.8.7)
86
- rcov (0.9.9)
87
- reek (1.2.8)
88
- ruby2ruby (~> 1.2)
89
- ruby_parser (~> 2.0)
90
- sexp_processor (~> 3.0)
91
- roodi (2.1.0)
92
- ruby_parser
93
- rspec (2.5.0)
94
- rspec-core (~> 2.5.0)
95
- rspec-expectations (~> 2.5.0)
96
- rspec-mocks (~> 2.5.0)
97
- rspec-core (2.5.1)
98
- rspec-expectations (2.5.0)
99
- diff-lcs (~> 1.1.2)
100
- rspec-mocks (2.5.0)
101
- ruby-progressbar (0.0.10)
102
- ruby2ruby (1.2.5)
103
- ruby_parser (~> 2.0)
104
- sexp_processor (~> 3.0)
105
- ruby_parser (2.0.6)
106
- sexp_processor (~> 3.0)
107
- sexp_processor (3.0.5)
108
- standalone_migrations (0.4.5)
109
- activerecord
110
- rake
111
- syntax (1.0.0)
112
-
113
- PLATFORMS
114
- ruby
115
-
116
- DEPENDENCIES
117
- ZenTest
118
- appstats!
119
- metric_fu
120
- mysql
121
- rspec
122
- standalone_migrations