mountain-goat 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/init.rb +1 -1
- data/lib/{flotilla.rb → mgflotilla.rb} +8 -8
- data/lib/mountain-goat/version.rb +1 -1
- data/lib/mountain-goat/views/mountain_goat/mountain_goat_converts/.tmp_show.html.erb.4433~ +69 -0
- data/lib/mountain-goat/views/mountain_goat/mountain_goat_converts/show.html.erb +3 -3
- data/lib/mountain-goat/views/mountain_goat/mountain_goat_metrics/.tmp_show.html.erb.21270~ +68 -0
- data/lib/mountain-goat/views/mountain_goat/mountain_goat_metrics/show.html.erb +2 -2
- data/lib/mountain-goat.rb +2 -0
- metadata +7 -5
data/init.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
begin
|
2
|
-
require 'json'
|
3
|
-
rescue LoadError
|
4
|
-
p "Flotilla will not work without the 'json' gem"
|
5
|
-
end
|
1
|
+
#begin
|
2
|
+
# require 'json'
|
3
|
+
#rescue LoadError
|
4
|
+
# p "Flotilla will not work without the 'json' gem"
|
5
|
+
#end
|
6
6
|
|
7
|
-
module
|
7
|
+
module MGFlotilla
|
8
8
|
module Helpers
|
9
9
|
|
10
10
|
# Insert a flot chart into the page. <tt>placeholder</tt> should be the
|
@@ -24,7 +24,7 @@ module Flotilla
|
|
24
24
|
# :js_tags - wraps resulting javascript in javascript tags if true. Defaults to true.
|
25
25
|
# :placeholder_tag - appends a placeholder div for graph
|
26
26
|
# :placeholder_size - specifys the size of the placeholder div
|
27
|
-
def
|
27
|
+
def mg_chart(placeholder, series, options = {}, html_options = {})
|
28
28
|
html_options.reverse_merge!({ :js_includes => true, :js_tags => true, :placeholder_tag => true, :placeholder_size => "800x300", :pie_hover => false, :pie_hover_absolute => false })
|
29
29
|
width, height = html_options[:placeholder_size].split("x") if html_options[:placeholder_size].respond_to?(:split)
|
30
30
|
additional_js = get_additional_js(placeholder, html_options)
|
@@ -166,5 +166,5 @@ module Flotilla
|
|
166
166
|
end
|
167
167
|
|
168
168
|
class ActionView::Base
|
169
|
-
include
|
169
|
+
include MGFlotilla::Helpers
|
170
170
|
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
|
2
|
+
<div id="container-main" class="mt-converts show">
|
3
|
+
<div class="mountain-goat-panel centered">
|
4
|
+
<ul class="nav">
|
5
|
+
<li><a href="<%= mountain_goat_converts_url %>">Goals</a></li>
|
6
|
+
<li><a href="<%= mountain_goat_convert_url @convert.id %>"><%=h @convert.name %> Goal</a></li>
|
7
|
+
</ul>
|
8
|
+
|
9
|
+
<h1><%=h @convert.name %></h1>
|
10
|
+
|
11
|
+
<div class="statpads">
|
12
|
+
<div class="flyer-analysis statpad">
|
13
|
+
<div class="title">Conversions by Day</div>
|
14
|
+
<div class="statbody">
|
15
|
+
<%= chart("analysis_graph#{@convert.id}",
|
16
|
+
{ "Conversions" => { :collection => @results_per_day, :x => :date, :y => :val } },
|
17
|
+
{ :xaxis => {:mode => 'time', :timeformat => "%b %d" }, :yaxis => { :min => 0, :minTickSize => 1 }, :lines => { :show => true }, :legend => { :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "view(s)") %>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<% @convert.convert_meta_types.each do |cmt| %>
|
22
|
+
<div class="flyer-analysis statpad">
|
23
|
+
<div class="title">Conversions by <%=h cmt.name %></div>
|
24
|
+
<div class="statbody">
|
25
|
+
<% if cmt.meta_type == 'ci_meta' %>
|
26
|
+
<%= chart("analysis_graph#{cmt.id}",
|
27
|
+
{ "Conversions" => { :collection => @results_by_cmt[cmt.id], :x => :name, :y => :val } },
|
28
|
+
{ :xaxis => {:autoscaleMargin => 1, :minTickSize => 1 }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true, :align => 'center', :barWidth => 1 }, :legend => { :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "view(s)") %>
|
29
|
+
<% elsif cmt.meta_type == 'cs_meta' %>
|
30
|
+
<%= chart("analysis_graph#{cmt.id}",
|
31
|
+
{ "Conversions" => { :collection => @results_by_cmt[cmt.id], :x => :name, :y => :val } },
|
32
|
+
{ :xaxis => {:autoscaleMargin => 0.1, :ticks => @results_by_cmt_titles[cmt.id].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "view(s)") %>
|
33
|
+
<% end %>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
<% end %>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<% @convert.metrics.each do |metric| %>
|
40
|
+
<div class="metric-category">
|
41
|
+
<span class="metric"><a href="<%= mountain_goat_metric_url :id => metric.id %>"><%= metric.title %></a></span>
|
42
|
+
<% if metric.metric_variants.count == 0 %>
|
43
|
+
<span class="none">No metric variants [<a href="<%= new_mountain_goat_metric_mountain_goat_metric_variant_url :mountain_goat_metric_id => metric.id %>">Add one</a>]</span>
|
44
|
+
<% else %>
|
45
|
+
<% metric.metric_variants.each do |mv| %>
|
46
|
+
<div class="item rate">
|
47
|
+
<span class="rate-holder">
|
48
|
+
<span class="title"><a href="<%= mountain_goat_metric_variant_url mv %>"><%=h mv.name %></a></span>
|
49
|
+
<span class="rates" style="width:<%= number_to_percentage(mv.conversion_rate, :precision => 0) %>"></span>
|
50
|
+
</span>
|
51
|
+
|
52
|
+
<span class="percent-holder">
|
53
|
+
<span class="val"><%= number_to_percentage(mv.conversion_rate, :precision => 0) %></span>
|
54
|
+
(<span class="conversions"><%= mv.conversions %></span> /
|
55
|
+
<span class="served"><%= mv.served %></span>)
|
56
|
+
</span>
|
57
|
+
</div>
|
58
|
+
<% end %>
|
59
|
+
<% end %>
|
60
|
+
</div>
|
61
|
+
<% end %>
|
62
|
+
|
63
|
+
<div class="actions">
|
64
|
+
<a class="button" href="<%= edit_mountain_goat_convert_url :id => @convert.id %>">Edit</a>
|
65
|
+
<a class="button" href="<%= new_mountain_goat_convert_mountain_goat_metric_url :mountain_goat_convert_id => @convert.id %>">New Metric</a>
|
66
|
+
</div>
|
67
|
+
|
68
|
+
</div>
|
69
|
+
</div>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<div class="flyer-analysis statpad">
|
13
13
|
<div class="title">Conversions by Day</div>
|
14
14
|
<div class="statbody">
|
15
|
-
<%=
|
15
|
+
<%= mg_chart("analysis_graph#{@convert.id}",
|
16
16
|
{ "Conversions" => { :collection => @results_per_day, :x => :date, :y => :val } },
|
17
17
|
{ :xaxis => {:mode => 'time', :timeformat => "%b %d" }, :yaxis => { :min => 0, :minTickSize => 1 }, :lines => { :show => true }, :legend => { :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "view(s)") %>
|
18
18
|
</div>
|
@@ -23,11 +23,11 @@
|
|
23
23
|
<div class="title">Conversions by <%=h cmt.name %></div>
|
24
24
|
<div class="statbody">
|
25
25
|
<% if cmt.meta_type == 'ci_meta' %>
|
26
|
-
<%=
|
26
|
+
<%= mg_chart("analysis_graph#{cmt.id}",
|
27
27
|
{ "Conversions" => { :collection => @results_by_cmt[cmt.id], :x => :name, :y => :val } },
|
28
28
|
{ :xaxis => {:autoscaleMargin => 1, :minTickSize => 1 }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true, :align => 'center', :barWidth => 1 }, :legend => { :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "view(s)") %>
|
29
29
|
<% elsif cmt.meta_type == 'cs_meta' %>
|
30
|
-
<%=
|
30
|
+
<%= mg_chart("analysis_graph#{cmt.id}",
|
31
31
|
{ "Conversions" => { :collection => @results_by_cmt[cmt.id], :x => :name, :y => :val } },
|
32
32
|
{ :xaxis => {:autoscaleMargin => 0.1, :ticks => @results_by_cmt_titles[cmt.id].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "view(s)") %>
|
33
33
|
<% end %>
|
@@ -0,0 +1,68 @@
|
|
1
|
+
|
2
|
+
<div id="container-main" class="mt-metrics">
|
3
|
+
<div class="mountain-goat-panel cenetered">
|
4
|
+
<ul class="nav">
|
5
|
+
<li><a href="<%= mountain_goat_converts_url %>">Goals</a></li>
|
6
|
+
<li><a href="<%= mountain_goat_convert_url :id => @metric.convert.id %>"><%=h @metric.convert.name %> Goal</a></li>
|
7
|
+
<li><a href="<%= mountain_goat_metric_url :id => @metric.id %>"><%=h @metric.title %></a></li>
|
8
|
+
</ul>
|
9
|
+
|
10
|
+
<h1><%=h @metric.title %> Metric</h1>
|
11
|
+
|
12
|
+
<div class="variants">
|
13
|
+
<% if @metric.metric_variants.count == 0 %>
|
14
|
+
<span class="none">No metric variants</span>
|
15
|
+
<% else %>
|
16
|
+
<div class="statpads">
|
17
|
+
<div class="flyer-analysis statpad">
|
18
|
+
<div class="title">Conversions</div>
|
19
|
+
<div class="statbody">
|
20
|
+
<%= chart("analysis_graph#{@metric.id}",
|
21
|
+
{ "Served" => { :collection => @rates[:served], :x => :variant_type, :y => :value },
|
22
|
+
"Conversions" => { :collection => @rates[:conversions], :x => :variant_type, :y => :value } },
|
23
|
+
{ :xaxis => { :ticks => @rates[:titles].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :show => false, :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "view(s)") %>
|
24
|
+
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
<div class="flyer-analysis statpad">
|
28
|
+
<div class="title">Conversion Rates</div>
|
29
|
+
<div class="statbody">
|
30
|
+
<%= chart("analysis_conv_graph#{@metric.id}",
|
31
|
+
{ "Conversion Rate (%)" => { :collection => @rates[:conversion_rates], :x => :variant_type, :y => :value } },
|
32
|
+
{ :xaxis => { :ticks => @rates[:titles].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :show => false, :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "%") %>
|
33
|
+
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
|
39
|
+
<div class="metric-category">
|
40
|
+
<span class="metric"><a href="<%= mountain_goat_metric_url :id => @metric.id %>"><%= @metric.title %></a></span>
|
41
|
+
<% if @metric.metric_variants.count == 0 %>
|
42
|
+
<span class="none">No metric variants [<a href="<%= new_mountain_goat_metric_mountain_goat_metric_variant_url :mountain_goat_metric_id => @metric.id %>">Add one</a>]</span>
|
43
|
+
<% else %>
|
44
|
+
<% @metric.metric_variants.each do |mv| %>
|
45
|
+
<div class="item rate">
|
46
|
+
<span class="rate-holder">
|
47
|
+
<span class="title"><a href="<%= mountain_goat_metric_variant_url mv %>"><%=h mv.name %></a></span>
|
48
|
+
<span class="rates" style="width:<%= number_to_percentage(mv.conversion_rate, :precision => 0) %>"></span>
|
49
|
+
</span>
|
50
|
+
|
51
|
+
<span class="percent-holder">
|
52
|
+
<span class="val"><%= number_to_percentage(mv.conversion_rate, :precision => 0) %></span>
|
53
|
+
(<span class="conversions"><%= mv.conversions %></span> /
|
54
|
+
<span class="served"><%= mv.served %></span>)
|
55
|
+
</span>
|
56
|
+
</div>
|
57
|
+
<% end %>
|
58
|
+
<% end %>
|
59
|
+
</div>
|
60
|
+
<% end %>
|
61
|
+
</div>
|
62
|
+
|
63
|
+
<div class="actions">
|
64
|
+
<a class="button" href="<%= edit_mountain_goat_metric_url :id => @metric %>">Edit Metric</a>
|
65
|
+
<a class="button" href="<%= new_mountain_goat_metric_mountain_goat_metric_variant_url :mountain_goat_metric_id => @metric.id %>">New Variant</a>
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
</div>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<div class="flyer-analysis statpad">
|
18
18
|
<div class="title">Conversions</div>
|
19
19
|
<div class="statbody">
|
20
|
-
<%=
|
20
|
+
<%= mg_chart("analysis_graph#{@metric.id}",
|
21
21
|
{ "Served" => { :collection => @rates[:served], :x => :variant_type, :y => :value },
|
22
22
|
"Conversions" => { :collection => @rates[:conversions], :x => :variant_type, :y => :value } },
|
23
23
|
{ :xaxis => { :ticks => @rates[:titles].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :show => false, :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "view(s)") %>
|
@@ -27,7 +27,7 @@
|
|
27
27
|
<div class="flyer-analysis statpad">
|
28
28
|
<div class="title">Conversion Rates</div>
|
29
29
|
<div class="statbody">
|
30
|
-
<%=
|
30
|
+
<%= mg_chart("analysis_conv_graph#{@metric.id}",
|
31
31
|
{ "Conversion Rate (%)" => { :collection => @rates[:conversion_rates], :x => :variant_type, :y => :value } },
|
32
32
|
{ :xaxis => { :ticks => @rates[:titles].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :show => false, :position => "ne" }, :grid => { :hoverable => true, :clickable => true }, :inline => false }, :placeholder_size => "420x260", :pie_hover => true, :line_hover_absolute => true, :item_title => "%") %>
|
33
33
|
|
data/lib/mountain-goat.rb
CHANGED
@@ -4,6 +4,8 @@ require 'active_support'
|
|
4
4
|
require 'action_controller'
|
5
5
|
require 'action_controller/routing'
|
6
6
|
|
7
|
+
require File.join([File.dirname(__FILE__), 'mgflotilla'])
|
8
|
+
|
7
9
|
require File.join([File.dirname(__FILE__), 'mountain-goat/controllers/mountain_goat/mountain_goat_controller'])
|
8
10
|
require File.join([File.dirname(__FILE__), 'mountain-goat/controllers/mountain_goat/mountain_goat_metrics_controller'])
|
9
11
|
require File.join([File.dirname(__FILE__), 'mountain-goat/controllers/mountain_goat/mountain_goat_metric_variants_controller'])
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mountain-goat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Geoffrey Hayes
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-07-
|
19
|
+
date: 2011-07-26 00:00:00 -05:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -74,7 +74,7 @@ files:
|
|
74
74
|
- generators/mg/templates/mountain-goat.yml
|
75
75
|
- init.rb
|
76
76
|
- install.rb
|
77
|
-
- lib/
|
77
|
+
- lib/mgflotilla.rb
|
78
78
|
- lib/mountain-goat.rb
|
79
79
|
- lib/mountain-goat/controllers/mountain_goat/mountain_goat_controller.rb
|
80
80
|
- lib/mountain-goat/controllers/mountain_goat/mountain_goat_converts_controller.rb
|
@@ -103,6 +103,7 @@ files:
|
|
103
103
|
- lib/mountain-goat/version.rb
|
104
104
|
- lib/mountain-goat/views/mountain_goat/layouts/mountain_goat.html.erb
|
105
105
|
- lib/mountain-goat/views/mountain_goat/mountain_goat/login.html.erb
|
106
|
+
- lib/mountain-goat/views/mountain_goat/mountain_goat_converts/.tmp_show.html.erb.4433~
|
106
107
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_converts/_convert_form.html.erb
|
107
108
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_converts/_convert_meta_type_form.html.erb
|
108
109
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_converts/edit.html.erb
|
@@ -114,6 +115,7 @@ files:
|
|
114
115
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_metric_variants/index.html.erb
|
115
116
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_metric_variants/new.html.erb
|
116
117
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_metric_variants/show.html.erb
|
118
|
+
- lib/mountain-goat/views/mountain_goat/mountain_goat_metrics/.tmp_show.html.erb.21270~
|
117
119
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_metrics/_metric_form.html.erb
|
118
120
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_metrics/edit.html.erb
|
119
121
|
- lib/mountain-goat/views/mountain_goat/mountain_goat_metrics/index.html.erb
|