vanity 2.0.0.beta4 → 2.0.0.beta5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +4 -0
- data/Appraisals +14 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +5 -3
- data/README.rdoc +5 -1
- data/config/locales/vanity.en.yml +39 -0
- data/config/locales/vanity.pt-BR.yml +41 -0
- data/doc/ab_testing.textile +1 -1
- data/doc/rails.textile +13 -0
- data/gemfiles/rails32.gemfile +2 -2
- data/gemfiles/rails32.gemfile.lock +4 -3
- data/gemfiles/rails4.gemfile +2 -2
- data/gemfiles/rails4.gemfile.lock +4 -3
- data/gemfiles/rails41.gemfile +29 -0
- data/gemfiles/rails41.gemfile.lock +196 -0
- data/gemfiles/rails42.gemfile +29 -0
- data/gemfiles/rails42.gemfile.lock +235 -0
- data/lib/generators/templates/vanity_migration.rb +1 -1
- data/lib/generators/vanity/views_generator.rb +16 -0
- data/lib/vanity.rb +1 -0
- data/lib/vanity/experiment/ab_test.rb +15 -15
- data/lib/vanity/experiment/alternative.rb +2 -2
- data/lib/vanity/frameworks/rails.rb +16 -3
- data/lib/vanity/metric/active_record.rb +1 -1
- data/lib/vanity/playground.rb +19 -25
- data/lib/vanity/templates.rb +29 -0
- data/lib/vanity/templates/_ab_test.erb +12 -12
- data/lib/vanity/templates/_experiment.erb +4 -2
- data/lib/vanity/templates/_participant.erb +2 -2
- data/lib/vanity/templates/_report.erb +6 -6
- data/lib/vanity/templates/_vanity.js.erb +13 -15
- data/lib/vanity/templates/vanity.css +4 -4
- data/lib/vanity/version.rb +1 -1
- data/test/frameworks/rails/action_controller_test.rb +1 -1
- data/test/frameworks/rails/rails_test.rb +118 -102
- data/test/playground_test.rb +13 -0
- data/test/templates_test.rb +28 -0
- data/test/test_helper.rb +15 -17
- data/test/web/rails/dashboard_test.rb +25 -4
- data/vanity.gemspec +2 -0
- metadata +36 -18
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 64da19676a0a785baf7a4fad506d4919282a4622
|
4
|
+
data.tar.gz: 4fde55bdf334eb8947891156e8ffa8e2c4db3d84
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f363b4c0d159729aab12104b5c748437fab61eabdec113eca24c6eb6e9f0b5bfc3b6a8490f467e7158a19c97cd28303a97af0a8cce059b32ffec77599e4e056a
|
7
|
+
data.tar.gz: f4519c3151ff503cf5c329c528c6c55c7809342576739d66a2fb2cfa3d3bebb046a9d8e546569b744300867ee5b4519586adbbf8f57982ac89bd03613ac3dac0
|
data/.travis.yml
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
sudo: false
|
2
|
+
cache: bundler
|
1
3
|
language: ruby
|
2
4
|
bundler_args: --without development
|
3
5
|
script: 'bundle exec rake test'
|
@@ -16,6 +18,8 @@ env:
|
|
16
18
|
gemfile:
|
17
19
|
- gemfiles/rails32.gemfile
|
18
20
|
- gemfiles/rails4.gemfile
|
21
|
+
- gemfiles/rails41.gemfile
|
22
|
+
- gemfiles/rails42.gemfile
|
19
23
|
before_script:
|
20
24
|
- 'echo ''gem: --no-ri --no-rdoc'' > ~/.gemrc' # skip installing docs for gems
|
21
25
|
matrix:
|
data/Appraisals
CHANGED
@@ -11,4 +11,18 @@ appraise "rails4" do
|
|
11
11
|
gem "rails", "4.0.0"
|
12
12
|
gem "fastthread", :git => "git://github.com/zoltankiss/fastthread.git", :platforms => :mri_20
|
13
13
|
gem "passenger", "~>3.0"
|
14
|
+
end
|
15
|
+
|
16
|
+
appraise "rails41" do
|
17
|
+
gem "mocha", "~> 1.0", :require=>false
|
18
|
+
gem "rails", "4.1.0"
|
19
|
+
gem "fastthread", :git => "git://github.com/zoltankiss/fastthread.git", :platforms => :mri_20
|
20
|
+
gem "passenger", "~>3.0"
|
21
|
+
end
|
22
|
+
|
23
|
+
appraise "rails42" do
|
24
|
+
gem "mocha", "~> 1.0", :require=>false
|
25
|
+
gem "rails", "4.2.0"
|
26
|
+
gem "fastthread", :git => "git://github.com/zoltankiss/fastthread.git", :platforms => :mri_20
|
27
|
+
gem "passenger", "~>3.0"
|
14
28
|
end
|
data/Gemfile
CHANGED
@@ -12,11 +12,11 @@ gem "mongo"
|
|
12
12
|
gem "sqlite3"
|
13
13
|
|
14
14
|
# Math libraries
|
15
|
-
gem "integration"
|
15
|
+
gem "integration", "<= 0.1.0"
|
16
16
|
gem "rubystats"
|
17
17
|
|
18
18
|
# APIs
|
19
|
-
gem "garb"
|
19
|
+
gem "garb", "< 0.9.2" # API changes at this version
|
20
20
|
|
21
21
|
# Testing
|
22
22
|
gem "timecop", :require=>false
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
vanity (2.0.0.
|
4
|
+
vanity (2.0.0.beta5)
|
5
|
+
i18n
|
5
6
|
|
6
7
|
GEM
|
7
8
|
remote: https://rubygems.org/
|
@@ -26,6 +27,7 @@ GEM
|
|
26
27
|
garb (0.9.1)
|
27
28
|
activesupport (>= 2.2.0)
|
28
29
|
crack (>= 0.1.6)
|
30
|
+
i18n (0.7.0)
|
29
31
|
integration (0.1.0)
|
30
32
|
jekyll (0.11.2)
|
31
33
|
albino (~> 1.3)
|
@@ -65,8 +67,8 @@ DEPENDENCIES
|
|
65
67
|
appraisal (>= 1.0.0.beta2)
|
66
68
|
bson_ext
|
67
69
|
bundler (>= 1.0.0)
|
68
|
-
garb
|
69
|
-
integration
|
70
|
+
garb (< 0.9.2)
|
71
|
+
integration (<= 0.1.0)
|
70
72
|
jekyll
|
71
73
|
minitest (>= 4.2)
|
72
74
|
mongo
|
data/README.rdoc
CHANGED
@@ -137,7 +137,11 @@ To view metrics and experiment results with the dashboard in Rails 3 & Rails 4:
|
|
137
137
|
|
138
138
|
In <code>config/routes.rb</code>, add:
|
139
139
|
|
140
|
-
|
140
|
+
get '/vanity' =>'vanity#index'
|
141
|
+
get '/vanity/participant/:id' => 'vanity#participant'
|
142
|
+
post '/vanity/complete'
|
143
|
+
post '/vanity/chooses'
|
144
|
+
post '/vanity/add_participant'
|
141
145
|
|
142
146
|
The controller should look like:
|
143
147
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
en:
|
2
|
+
vanity:
|
3
|
+
best_alternative: '(%{probability}% this is best)'
|
4
|
+
best_alternative_is_significant: 'With %{probability}% probability this result is statistically significant.'
|
5
|
+
best_alternative_probability: 'With %{probability}% probability this result is the best.'
|
6
|
+
best_alternative_measure: 'The best choice is %{best_alternative}: it converted at %{measure}% %{better_than}.'
|
7
|
+
better_alternative_than: '(%{probability}% better than %{alternative})'
|
8
|
+
choose_experiment: 'Show me this alternative from now on'
|
9
|
+
complete_and_confirm_experiment: 'Confirm experiment completion and assignment of all current and future participants to %{name}'
|
10
|
+
complete_and_confirm_experiment_label: 'Finish this experiment and assign all current and future participants to %{name}?'
|
11
|
+
complete_experiment: 'Complete the experiment and assign all current and future participants to %{name}'
|
12
|
+
completed_at: 'Completed %{timestamp}'
|
13
|
+
confirm: 'confirm'
|
14
|
+
converted: '%{count} converted'
|
15
|
+
converted_percentage: '%{alternative} converted at %{percentage}%.'
|
16
|
+
currently_shown: 'currently shown'
|
17
|
+
didnt_convert: '%{alternative} did not convert.'
|
18
|
+
experiment_participants:
|
19
|
+
one: 'There is one participant in this experiment.'
|
20
|
+
other: 'There are %{count} participants in this experiment.'
|
21
|
+
experiments: 'Experiments'
|
22
|
+
experiments_out_of_sync: "Vanity's cached experiments are out of sync with those on the filesystem and/or those in the datastore. Please restart your server and/or turn on collecting."
|
23
|
+
generated_by: 'Generated by %{link}'
|
24
|
+
low_result_confidence: 'This result does not have strong confidence behind it, suggest you continue this experiment.'
|
25
|
+
make_permanent: 'make permanent'
|
26
|
+
metrics: 'Metrics'
|
27
|
+
no_clear_winner: 'This experiment did not run long enough to find a clear winner.'
|
28
|
+
no_participants: 'There are no participants in this experiment yet.'
|
29
|
+
not_collecting_data: 'Vanity is currently not collecting data or metrics. To turn on data collection, set %{setting} in %{file}.'
|
30
|
+
option_number: 'option %{char}'
|
31
|
+
participant_taking_part_on: 'Participant id %{participant_id} is taking part in the following experiments:'
|
32
|
+
participants:
|
33
|
+
one: '1 participant'
|
34
|
+
other: '%{count} participants'
|
35
|
+
report: 'Vanity Report: %{timestamp}'
|
36
|
+
result_isnt_significant: 'This result is not statistically significant, suggest you continue this experiment.'
|
37
|
+
selected_as_best: '%{alternative} selected as the best alternative.'
|
38
|
+
show_me: 'show me'
|
39
|
+
started_at: 'Started %{timestamp}'
|
@@ -0,0 +1,41 @@
|
|
1
|
+
pt-BR:
|
2
|
+
vanity:
|
3
|
+
best_alternative: '(%{probability}% de ser a melhor)'
|
4
|
+
best_alternative_is_significant: '%{probability}% de probabilidade deste resultado ser estatisticamente significativo.'
|
5
|
+
best_alternative_probability: '%{probability}% de probabilidade deste ser o melhor resultado.'
|
6
|
+
best_alternative_measure: 'A melhor escolha é %{best_alternative}: converteu %{measure}% %{better_than}.'
|
7
|
+
better_alternative_than: '(%{probability}% melhor do que %{alternative})'
|
8
|
+
choose_experiment: 'Mostrar esta alternativa a partir de agora'
|
9
|
+
complete_and_confirm_experiment: 'Confirme o término da experiência e atribuição de todos os participantes atuais e futuros para %{name}'
|
10
|
+
complete_and_confirm_experiment_label: 'Terminar esta experiência e atribuir todos os participantes atuais e futuros para %{name}?'
|
11
|
+
complete_experiment: 'Complete o experimento e atribuição de todos os participantes atuais e futuros para %{name}'
|
12
|
+
completed_at: 'Completado em %{timestamp}'
|
13
|
+
confirm: 'confirmar'
|
14
|
+
converted:
|
15
|
+
one: '1 convertido'
|
16
|
+
other: '%{count} convertidos'
|
17
|
+
converted_percentage: '%{alternative} converteu %{percentage}%'
|
18
|
+
currently_shown: 'atualmente exibido'
|
19
|
+
didnt_convert: '%{alternative} não converteu.'
|
20
|
+
experiment_participants:
|
21
|
+
one: 'Há um participante neste experimento.'
|
22
|
+
other: 'Há %{count} participantes neste experimento.'
|
23
|
+
experiments: 'Experimentos'
|
24
|
+
experiments_out_of_sync: 'Os experimentos em cache do Vanity estão fora de sincronia com o sistema de arquivos e/ou com o banco de dados. Por favor reinicie seu servidor e/ou ative a coleta.'
|
25
|
+
generated_by: 'Gerado por %{link}'
|
26
|
+
low_result_confidence: 'Este resultado não apresenta boa confiabilidade, sugiro que continue esta experiência.'
|
27
|
+
make_permanent: 'tornar permanente'
|
28
|
+
metrics: 'Métricas'
|
29
|
+
no_clear_winner: 'Esta experiência não correu tempo suficiente para definir um vencedor claro.'
|
30
|
+
no_participants: 'Não há participantes neste experimento ainda.'
|
31
|
+
not_collecting_data: 'Vanity não está a recolher dados ou métricas no momento. Para ativar a coleta de dados, definir %{setting} no %{file}.'
|
32
|
+
option_number: 'Opção %{char}'
|
33
|
+
participant_taking_part_on: 'Participante #%{participant_id} está participando das seguintes experiências:'
|
34
|
+
participants:
|
35
|
+
one: '1 participante'
|
36
|
+
other: '%{count} participantes'
|
37
|
+
report: 'Relatório Vanity: %{timestamp}'
|
38
|
+
result_isnt_significant: 'Este resultado não é estatisticamente significativo, sugiro que continue esta experiência.'
|
39
|
+
selected_as_best: "%{alternative} selecionada como a melhor alternativa."
|
40
|
+
show_me: 'mostrar'
|
41
|
+
started_at: 'Iniciado em %{timestamp}'
|
data/doc/ab_testing.textile
CHANGED
@@ -26,7 +26,7 @@ Let's start with a simple experiment. We have this idea that a bigger sign-up l
|
|
26
26
|
We already have a "metric":metrics.html we're monitoring, and our experiment will measure against it:
|
27
27
|
|
28
28
|
<pre>
|
29
|
-
ab_test "Big
|
29
|
+
ab_test "Big signup link" do
|
30
30
|
description "Testing to see if a bigger sign-up link increases number of signups."
|
31
31
|
metrics :signup
|
32
32
|
end
|
data/doc/rails.textile
CHANGED
@@ -64,6 +64,19 @@ h4. Enabling/disable collection
|
|
64
64
|
|
65
65
|
When collection is off, Vanity doesn't connect to the database server, so there's no need to set a database configuration for these environments.
|
66
66
|
|
67
|
+
h4. Overriding default views
|
68
|
+
|
69
|
+
If you would like to customize Vanity's dashboard, you can create create copies of the default views in @app/views/vanity@ by running a generator:
|
70
|
+
|
71
|
+
<pre>
|
72
|
+
rails g vanity:views
|
73
|
+
</pre>
|
74
|
+
|
75
|
+
You can then edit them to your heart's content. If you need to use an alternative location for your custom templates, set the configuration variable @custom_templates_path@ on @Vanity.playground@ like this:
|
76
|
+
|
77
|
+
<pre>
|
78
|
+
Vanity.playground.custom_templates_path = 'views/vanity'
|
79
|
+
</pre>
|
67
80
|
|
68
81
|
h3(#fork). Unicorn and Forking Servers
|
69
82
|
|
data/gemfiles/rails32.gemfile
CHANGED
@@ -8,9 +8,9 @@ gem "redis-namespace", ">= 1.1.0"
|
|
8
8
|
gem "bson_ext"
|
9
9
|
gem "mongo"
|
10
10
|
gem "sqlite3"
|
11
|
-
gem "integration"
|
11
|
+
gem "integration", "<= 0.1.0"
|
12
12
|
gem "rubystats"
|
13
|
-
gem "garb"
|
13
|
+
gem "garb", "< 0.9.2"
|
14
14
|
gem "timecop", :require=>false
|
15
15
|
gem "webmock", :require=>false
|
16
16
|
gem "mocha", "~> 0.12.8", :require=>false
|
@@ -7,7 +7,8 @@ GIT
|
|
7
7
|
PATH
|
8
8
|
remote: ..
|
9
9
|
specs:
|
10
|
-
vanity (2.0.0.
|
10
|
+
vanity (2.0.0.beta5)
|
11
|
+
i18n
|
11
12
|
|
12
13
|
GEM
|
13
14
|
remote: https://rubygems.org/
|
@@ -153,8 +154,8 @@ DEPENDENCIES
|
|
153
154
|
bson_ext
|
154
155
|
bundler (>= 1.0.0)
|
155
156
|
fastthread!
|
156
|
-
garb
|
157
|
-
integration
|
157
|
+
garb (< 0.9.2)
|
158
|
+
integration (<= 0.1.0)
|
158
159
|
jekyll
|
159
160
|
minitest (~> 4.2.0)
|
160
161
|
mocha (~> 0.12.8)
|
data/gemfiles/rails4.gemfile
CHANGED
@@ -8,9 +8,9 @@ gem "redis-namespace", ">= 1.1.0"
|
|
8
8
|
gem "bson_ext"
|
9
9
|
gem "mongo"
|
10
10
|
gem "sqlite3"
|
11
|
-
gem "integration"
|
11
|
+
gem "integration", "<= 0.1.0"
|
12
12
|
gem "rubystats"
|
13
|
-
gem "garb"
|
13
|
+
gem "garb", "< 0.9.2"
|
14
14
|
gem "timecop", :require=>false
|
15
15
|
gem "webmock", :require=>false
|
16
16
|
gem "mocha", "~> 1.0", :require=>false
|
@@ -7,7 +7,8 @@ GIT
|
|
7
7
|
PATH
|
8
8
|
remote: ..
|
9
9
|
specs:
|
10
|
-
vanity (2.0.0.
|
10
|
+
vanity (2.0.0.beta5)
|
11
|
+
i18n
|
11
12
|
|
12
13
|
GEM
|
13
14
|
remote: https://rubygems.org/
|
@@ -149,8 +150,8 @@ DEPENDENCIES
|
|
149
150
|
bson_ext
|
150
151
|
bundler (>= 1.0.0)
|
151
152
|
fastthread!
|
152
|
-
garb
|
153
|
-
integration
|
153
|
+
garb (< 0.9.2)
|
154
|
+
integration (<= 0.1.0)
|
154
155
|
jekyll
|
155
156
|
minitest (>= 4.2)
|
156
157
|
mocha (~> 1.0)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rack"
|
6
|
+
gem "redis", ">= 2.1"
|
7
|
+
gem "redis-namespace", ">= 1.1.0"
|
8
|
+
gem "bson_ext"
|
9
|
+
gem "mongo"
|
10
|
+
gem "sqlite3"
|
11
|
+
gem "integration", "<= 0.1.0"
|
12
|
+
gem "rubystats"
|
13
|
+
gem "garb", "< 0.9.2"
|
14
|
+
gem "timecop", :require=>false
|
15
|
+
gem "webmock", :require=>false
|
16
|
+
gem "mocha", "~> 1.0", :require=>false
|
17
|
+
gem "rails", "4.1.0"
|
18
|
+
gem "fastthread", :git=>"git://github.com/zoltankiss/fastthread.git", :platforms=>:mri_20
|
19
|
+
gem "passenger", "~>3.0"
|
20
|
+
|
21
|
+
group :development do
|
22
|
+
gem "appraisal", ">= 1.0.0.beta2"
|
23
|
+
gem "jekyll"
|
24
|
+
gem "rake"
|
25
|
+
gem "RedCloth"
|
26
|
+
gem "yard"
|
27
|
+
end
|
28
|
+
|
29
|
+
gemspec :path=>".././"
|
@@ -0,0 +1,196 @@
|
|
1
|
+
GIT
|
2
|
+
remote: git://github.com/zoltankiss/fastthread.git
|
3
|
+
revision: 56e6ce7c1780797a354d5befe9a9a9869bbc7e3e
|
4
|
+
specs:
|
5
|
+
fastthread (1.0.7)
|
6
|
+
|
7
|
+
PATH
|
8
|
+
remote: .././
|
9
|
+
specs:
|
10
|
+
vanity (2.0.0.beta5)
|
11
|
+
i18n
|
12
|
+
|
13
|
+
GEM
|
14
|
+
remote: https://rubygems.org/
|
15
|
+
specs:
|
16
|
+
RedCloth (4.2.9)
|
17
|
+
actionmailer (4.1.0)
|
18
|
+
actionpack (= 4.1.0)
|
19
|
+
actionview (= 4.1.0)
|
20
|
+
mail (~> 2.5.4)
|
21
|
+
actionpack (4.1.0)
|
22
|
+
actionview (= 4.1.0)
|
23
|
+
activesupport (= 4.1.0)
|
24
|
+
rack (~> 1.5.2)
|
25
|
+
rack-test (~> 0.6.2)
|
26
|
+
actionview (4.1.0)
|
27
|
+
activesupport (= 4.1.0)
|
28
|
+
builder (~> 3.1)
|
29
|
+
erubis (~> 2.7.0)
|
30
|
+
activemodel (4.1.0)
|
31
|
+
activesupport (= 4.1.0)
|
32
|
+
builder (~> 3.1)
|
33
|
+
activerecord (4.1.0)
|
34
|
+
activemodel (= 4.1.0)
|
35
|
+
activesupport (= 4.1.0)
|
36
|
+
arel (~> 5.0.0)
|
37
|
+
activesupport (4.1.0)
|
38
|
+
i18n (~> 0.6, >= 0.6.9)
|
39
|
+
json (~> 1.7, >= 1.7.7)
|
40
|
+
minitest (~> 5.1)
|
41
|
+
thread_safe (~> 0.1)
|
42
|
+
tzinfo (~> 1.1)
|
43
|
+
addressable (2.3.6)
|
44
|
+
appraisal (1.0.0)
|
45
|
+
bundler
|
46
|
+
rake
|
47
|
+
thor (>= 0.14.0)
|
48
|
+
arel (5.0.1.20140414130214)
|
49
|
+
blankslate (2.1.2.4)
|
50
|
+
bson (1.10.0)
|
51
|
+
bson_ext (1.10.0)
|
52
|
+
bson (~> 1.10.0)
|
53
|
+
builder (3.2.2)
|
54
|
+
classifier (1.3.4)
|
55
|
+
fast-stemmer (>= 1.0.0)
|
56
|
+
colorator (0.1)
|
57
|
+
commander (4.1.6)
|
58
|
+
highline (~> 1.6.11)
|
59
|
+
crack (0.4.2)
|
60
|
+
safe_yaml (~> 1.0.0)
|
61
|
+
daemon_controller (1.2.0)
|
62
|
+
erubis (2.7.0)
|
63
|
+
fast-stemmer (1.0.2)
|
64
|
+
ffi (1.9.3)
|
65
|
+
garb (0.9.1)
|
66
|
+
activesupport (>= 2.2.0)
|
67
|
+
crack (>= 0.1.6)
|
68
|
+
highline (1.6.21)
|
69
|
+
hike (1.2.3)
|
70
|
+
i18n (0.6.9)
|
71
|
+
integration (0.1.0)
|
72
|
+
jekyll (1.5.1)
|
73
|
+
classifier (~> 1.3)
|
74
|
+
colorator (~> 0.1)
|
75
|
+
commander (~> 4.1.3)
|
76
|
+
liquid (~> 2.5.5)
|
77
|
+
listen (~> 1.3)
|
78
|
+
maruku (= 0.7.0)
|
79
|
+
pygments.rb (~> 0.5.0)
|
80
|
+
redcarpet (~> 2.3.0)
|
81
|
+
safe_yaml (~> 1.0)
|
82
|
+
toml (~> 0.1.0)
|
83
|
+
json (1.8.1)
|
84
|
+
liquid (2.5.5)
|
85
|
+
listen (1.3.1)
|
86
|
+
rb-fsevent (>= 0.9.3)
|
87
|
+
rb-inotify (>= 0.9)
|
88
|
+
rb-kqueue (>= 0.2)
|
89
|
+
mail (2.5.4)
|
90
|
+
mime-types (~> 1.16)
|
91
|
+
treetop (~> 1.4.8)
|
92
|
+
maruku (0.7.0)
|
93
|
+
metaclass (0.0.4)
|
94
|
+
mime-types (1.25.1)
|
95
|
+
minitest (5.3.3)
|
96
|
+
mocha (1.1.0)
|
97
|
+
metaclass (~> 0.0.1)
|
98
|
+
mongo (1.10.0)
|
99
|
+
bson (~> 1.10.0)
|
100
|
+
multi_json (1.9.2)
|
101
|
+
parslet (1.5.0)
|
102
|
+
blankslate (~> 2.0)
|
103
|
+
passenger (3.0.21)
|
104
|
+
daemon_controller (>= 1.0.0)
|
105
|
+
fastthread (>= 1.0.1)
|
106
|
+
rack
|
107
|
+
rake (>= 0.8.1)
|
108
|
+
polyglot (0.3.4)
|
109
|
+
posix-spawn (0.3.8)
|
110
|
+
pygments.rb (0.5.4)
|
111
|
+
posix-spawn (~> 0.3.6)
|
112
|
+
yajl-ruby (~> 1.1.0)
|
113
|
+
rack (1.5.2)
|
114
|
+
rack-test (0.6.2)
|
115
|
+
rack (>= 1.0)
|
116
|
+
rails (4.1.0)
|
117
|
+
actionmailer (= 4.1.0)
|
118
|
+
actionpack (= 4.1.0)
|
119
|
+
actionview (= 4.1.0)
|
120
|
+
activemodel (= 4.1.0)
|
121
|
+
activerecord (= 4.1.0)
|
122
|
+
activesupport (= 4.1.0)
|
123
|
+
bundler (>= 1.3.0, < 2.0)
|
124
|
+
railties (= 4.1.0)
|
125
|
+
sprockets-rails (~> 2.0)
|
126
|
+
railties (4.1.0)
|
127
|
+
actionpack (= 4.1.0)
|
128
|
+
activesupport (= 4.1.0)
|
129
|
+
rake (>= 0.8.7)
|
130
|
+
thor (>= 0.18.1, < 2.0)
|
131
|
+
rake (10.3.1)
|
132
|
+
rb-fsevent (0.9.4)
|
133
|
+
rb-inotify (0.9.3)
|
134
|
+
ffi (>= 0.5.0)
|
135
|
+
rb-kqueue (0.2.2)
|
136
|
+
ffi (>= 0.5.0)
|
137
|
+
redcarpet (2.3.0)
|
138
|
+
redis (3.0.7)
|
139
|
+
redis-namespace (1.4.1)
|
140
|
+
redis (~> 3.0.4)
|
141
|
+
rubystats (0.2.3)
|
142
|
+
safe_yaml (1.0.3)
|
143
|
+
sprockets (2.12.1)
|
144
|
+
hike (~> 1.2)
|
145
|
+
multi_json (~> 1.0)
|
146
|
+
rack (~> 1.0)
|
147
|
+
tilt (~> 1.1, != 1.3.0)
|
148
|
+
sprockets-rails (2.1.3)
|
149
|
+
actionpack (>= 3.0)
|
150
|
+
activesupport (>= 3.0)
|
151
|
+
sprockets (~> 2.8)
|
152
|
+
sqlite3 (1.3.9)
|
153
|
+
thor (0.19.1)
|
154
|
+
thread_safe (0.3.3)
|
155
|
+
tilt (1.4.1)
|
156
|
+
timecop (0.7.1)
|
157
|
+
toml (0.1.1)
|
158
|
+
parslet (~> 1.5.0)
|
159
|
+
treetop (1.4.15)
|
160
|
+
polyglot
|
161
|
+
polyglot (>= 0.3.1)
|
162
|
+
tzinfo (1.1.0)
|
163
|
+
thread_safe (~> 0.1)
|
164
|
+
webmock (1.17.4)
|
165
|
+
addressable (>= 2.2.7)
|
166
|
+
crack (>= 0.3.2)
|
167
|
+
yajl-ruby (1.1.0)
|
168
|
+
yard (0.8.7.4)
|
169
|
+
|
170
|
+
PLATFORMS
|
171
|
+
ruby
|
172
|
+
|
173
|
+
DEPENDENCIES
|
174
|
+
RedCloth
|
175
|
+
appraisal (>= 1.0.0.beta2)
|
176
|
+
bson_ext
|
177
|
+
bundler (>= 1.0.0)
|
178
|
+
fastthread!
|
179
|
+
garb (< 0.9.2)
|
180
|
+
integration (<= 0.1.0)
|
181
|
+
jekyll
|
182
|
+
minitest (>= 4.2)
|
183
|
+
mocha (~> 1.0)
|
184
|
+
mongo
|
185
|
+
passenger (~> 3.0)
|
186
|
+
rack
|
187
|
+
rails (= 4.1.0)
|
188
|
+
rake
|
189
|
+
redis (>= 2.1)
|
190
|
+
redis-namespace (>= 1.1.0)
|
191
|
+
rubystats
|
192
|
+
sqlite3
|
193
|
+
timecop
|
194
|
+
vanity!
|
195
|
+
webmock
|
196
|
+
yard
|