mountain-goat 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. data/lib/mountain_goat/public/mg.css +75 -3
  2. data/lib/mountain_goat/public/mg.js +15 -0
  3. data/lib/mountain_goat/version.rb +1 -1
  4. data/lib/mountain_goat/views/mountain_goat/layouts/mountain_goat.html.erb +1 -0
  5. data/lib/mountain_goat/views/mountain_goat/mountain_goat_converts/_convert_form.html.erb +2 -2
  6. data/lib/mountain_goat/views/mountain_goat/mountain_goat_converts/edit.html.erb +1 -1
  7. data/lib/mountain_goat/views/mountain_goat/mountain_goat_converts/index.html.erb +2 -2
  8. data/lib/mountain_goat/views/mountain_goat/mountain_goat_converts/show.html.erb +41 -27
  9. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/_metric_variant_form.html.erb +16 -12
  10. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/edit.html.erb +1 -1
  11. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/new.html.erb +1 -1
  12. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/show.html.erb +24 -6
  13. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/_metric_form.html.erb +2 -2
  14. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/edit.html.erb +1 -1
  15. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/index.html.erb +5 -19
  16. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/show.html.erb +1 -1
  17. data/mountain-goat-0.0.5.gem +0 -0
  18. metadata +6 -11
  19. data/lib/mountain_goat/views/mountain_goat/layouts/.tmp_mountain_goat.html.erb.2801~ +0 -53
  20. data/lib/mountain_goat/views/mountain_goat/mountain_goat_converts/.tmp_index.html.erb.67861~ +0 -33
  21. data/lib/mountain_goat/views/mountain_goat/mountain_goat_converts/.tmp_index.html.erb.97796~ +0 -49
  22. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/.tmp__metric_variant_form.html.erb.87465~ +0 -27
  23. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/.tmp_show.html.erb.24381~ +0 -14
  24. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/.tmp_show.html.erb.21427~ +0 -59
  25. data/lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/.tmp_show.html.erb.65988~ +0 -59
@@ -82,6 +82,8 @@ a:hover {
82
82
  background: url(/mg/public/containerbg_png);
83
83
  min-height: 520px;
84
84
  padding: 30px;
85
+ display: inline-block;
86
+ width: 900px;
85
87
  }
86
88
 
87
89
  h1 {
@@ -120,7 +122,7 @@ h1 {
120
122
  margin-top: 50px;
121
123
  }
122
124
 
123
- .conversions .converts h2 {
125
+ .conversions .converts h2, h2 {
124
126
  padding: 6px 18px;
125
127
  width: 40%;
126
128
  margin: 10px auto 10px auto;
@@ -132,7 +134,8 @@ h1 {
132
134
  width: 100%;
133
135
  }
134
136
 
135
- .mt-metrics .metric-category {
137
+ .mt-metrics .metric-category, .mt-converts.show .metric-category {
138
+ float: left;
136
139
  padding: 50px 0;
137
140
  }
138
141
 
@@ -204,10 +207,19 @@ h1 {
204
207
  }
205
208
 
206
209
  .button {
210
+ height: 30px;
211
+ }
212
+
213
+ form input[type='submit'] {
214
+ width: 170px;
215
+ height: 40px;
216
+ padding-top:0px;
217
+ }
218
+
219
+ .button, input[type="submit"] {
207
220
  display: block;
208
221
  color: white;
209
222
  width: 170px;
210
- height: 30px;
211
223
  font-size: 20px;
212
224
  box-shadow: 0px 0px 3px rgba(222,222,222,0.2) inset;
213
225
  margin-right: 6px;
@@ -332,3 +344,63 @@ h1 {
332
344
  font-size: 12px;
333
345
  }
334
346
 
347
+ input[type="text"], input[type="password"] {
348
+ background: url("/images/bg-input-shadow.jpg") repeat-x scroll left top #F7F7F7;
349
+ border: 1px solid #CCCCCC;
350
+ display: block;
351
+ padding: 5px 9px 0;
352
+ width: 280px;
353
+ height: 32px;
354
+ color: #777777;
355
+ font-size: 16px;
356
+ }
357
+ input[type="text"]:focus, input[type="password"]:focus {
358
+ background-color: #DDEEFF;
359
+ border: 1px solid #AACCFF;
360
+ color: #333333;
361
+ }
362
+ textarea {
363
+ background: #F7F7F7;
364
+ border: 1px solid #CCCCCC;
365
+ display: block;
366
+ padding: 5px 0px 0px 9px;
367
+ width: 289px;
368
+ height: 60px;
369
+ color: #666666;
370
+ font: 14px Calibri,Helvetica,Arial;
371
+ }
372
+
373
+ label {
374
+ color: #999999;
375
+ display: block;
376
+ font-size: 16px;
377
+ margin: 5px 0 2px;
378
+ text-transform: uppercase;
379
+ }
380
+
381
+ input[type="checkbox"]{
382
+ float: left;
383
+ margin-top: 5px;
384
+ margin-left:20px;
385
+ }
386
+ input[type="checkbox"] + label {
387
+ margin: 0px 0px 0px 6px;
388
+ float: left;
389
+ clear: right;
390
+ height: 30px;
391
+ }
392
+
393
+ .item {
394
+ clear: left;
395
+ margin: 20px;
396
+ }
397
+
398
+ .item.priority input {
399
+ width: 25px;
400
+ }
401
+
402
+ .mt-metrics form, .mt-metric-variants form, .mt-converts form {
403
+ width: 400px;
404
+ margin: 0 auto;
405
+ padding-right: 200px;
406
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @author Geoff
3
+ */
4
+
5
+ (function() {
6
+ $(document).ready(function () {
7
+ $('input.slider[type="checkbox"]').change(function() {
8
+ if ($(this).is(':checked')) {
9
+ $($(this).data('slider')).slideDown();
10
+ } else {
11
+ $($(this).data('slider')).slideUp();
12
+ }
13
+ }).change();
14
+ });
15
+ })();
@@ -1,3 +1,3 @@
1
1
  class MountainGoat
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -18,6 +18,7 @@
18
18
 
19
19
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
20
20
  <script src="/mg/public/jquery_flot_js" type="text/javascript"></script>
21
+ <script src="/mg/public/mg_js" type="text/javascript"></script>
21
22
 
22
23
  </head>
23
24
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  <% if f.object.new_record? %>
4
4
  <div class="item type">
5
- <%= f.label :convert_type, 'Type' %><br />
5
+ <%= f.label :convert_type, 'Type (this is technical)' %><br />
6
6
  <%= f.text_field :convert_type %>
7
7
  </div>
8
8
  <% else %>
9
- <span class="convert-type"><%= f.object.convert_type %></span>
9
+ <h2><%= f.object.convert_type %></h2>
10
10
  <% end %>
11
11
 
12
12
  <div class="item name">
@@ -2,7 +2,7 @@
2
2
 
3
3
  <div id="container-main" class="mt-converts">
4
4
  <div class="mountain-goat-panel centered">
5
- <h2>Editing conversion goal</h2>
5
+ <h1>Edit <%=h @convert.name %></h1>
6
6
 
7
7
  <% form_for :convert, @convert, :url => mountain_goat_convert_url(:id => @convert.id), :html => { :method => :put } do |f| %>
8
8
  <%= f.error_messages %>
@@ -42,8 +42,8 @@
42
42
  </div>
43
43
  </div>
44
44
 
45
- <div class="new">
46
- <a href="<%= new_mountain_goat_convert_url %>">New conversation type</a>
45
+ <div class="actions">
46
+ <a class="button" href="<%= new_mountain_goat_convert_url %>">New Goal</a>
47
47
  </div>
48
48
  </div>
49
49
  </div>
@@ -3,35 +3,39 @@
3
3
  <% def chart(*args); 'Please install Flotilla plugin (http://flotilla.rubyforge.org/) for charts'; end; %>
4
4
  <% end %>
5
5
 
6
- <div id="container-main" class="mt-converts">
6
+ <div id="container-main" class="mt-converts show">
7
7
  <div class="mountain-goat-panel centered">
8
- <a href="<%= mountain_goat_converts_url %>">Goals</a> > <span class="type"><%=h @convert.convert_type %></span> |
9
- <a href="<%= edit_mountain_goat_convert_url :id => @convert.id %>">Edit</a>
8
+ <ul class="nav">
9
+ <li><a href="<%= mountain_goat_converts_url %>">Goals</a></li>
10
+ <li><a href="<%= mountain_goat_convert_url @convert.id %>"><%=h @convert.name %> Goal</a></li>
11
+ </ul>
10
12
 
11
- <h2><%=h @convert.name %></h2>
13
+ <h1><%=h @convert.name %></h1>
12
14
 
13
- <div class="graphs">
14
- <div class="graph">
15
- <span class="title">Conversions by day</span>
15
+ <div class="statpads">
16
+ <div class="flyer-analysis statpad">
17
+ <div class="title">Conversions by Day</div>
18
+ <div class="statbody">
16
19
  <%= chart("analysis_graph#{@convert.id}",
17
20
  { "Conversions" => { :collection => @results_per_day, :x => :date, :y => :val } },
18
- { :xaxis => {:autoscaleMargin => 0.1, :mode => 'time', :timeformat => "%b %d" }, :yaxis => { :min => 0, :minTickSize => 1 }, :lines => { :show => true }, :legend => { :position => "ne" } }, :placeholder_size => "300x200") %>
21
+ { :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)") %>
22
+ </div>
19
23
  </div>
20
-
24
+
21
25
  <% @convert.convert_meta_types.each do |cmt| %>
22
-
23
- <div class="graph">
24
- <span class="title">Conversions by <%=h cmt.name %></span>
25
-
26
- <% if cmt.meta_type == 'ci_meta' %>
27
- <%= chart("analysis_graph#{cmt.id}",
28
- { "Conversions" => { :collection => @results_by_cmt[cmt.id], :x => :name, :y => :val } },
29
- { :xaxis => {:autoscaleMargin => 1, :minTickSize => 1 }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true, :align => 'center', :barWidth => 1 }, :legend => { :position => "ne" } }, :placeholder_size => "300x200") %>
30
- <% elsif cmt.meta_type == 'cs_meta' %>
31
- <%= chart("analysis_graph#{cmt.id}",
32
- { "Conversions" => { :collection => @results_by_cmt[cmt.id], :x => :name, :y => :val } },
33
- { :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" } }, :placeholder_size => "300x200") %>
34
- <% end %>
26
+ <div class="flyer-analysis statpad">
27
+ <div class="title">Conversions by <%=h cmt.name %></div>
28
+ <div class="statbody">
29
+ <% if cmt.meta_type == 'ci_meta' %>
30
+ <%= chart("analysis_graph#{cmt.id}",
31
+ { "Conversions" => { :collection => @results_by_cmt[cmt.id], :x => :name, :y => :val } },
32
+ { :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)") %>
33
+ <% elsif cmt.meta_type == 'cs_meta' %>
34
+ <%= chart("analysis_graph#{cmt.id}",
35
+ { "Conversions" => { :collection => @results_by_cmt[cmt.id], :x => :name, :y => :val } },
36
+ { :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)") %>
37
+ <% end %>
38
+ </div>
35
39
  </div>
36
40
  <% end %>
37
41
  </div>
@@ -44,16 +48,26 @@
44
48
  <% else %>
45
49
  <% metric.metric_variants.each do |mv| %>
46
50
  <div class="item rate">
47
- <span class="rates"><%=h mv.name %></span>:
48
- <span class="conversions"><%= mv.conversions %></span> /
49
- <span class="served"><%= mv.served %></span>
50
- (<span class="val"><%= number_to_percentage(mv.conversion_rate, :precision => 0) %></span>)
51
+ <span class="rate-holder">
52
+ <span class="title"><a href="<%= mountain_goat_metric_variant_url mv %>"><%=h mv.name %></a></span>
53
+ <span class="rates" style="width:<%= number_to_percentage(mv.conversion_rate, :precision => 0) %>"></span>
54
+ </span>
55
+
56
+ <span class="percent-holder">
57
+ <span class="val"><%= number_to_percentage(mv.conversion_rate, :precision => 0) %></span>
58
+ (<span class="conversions"><%= mv.conversions %></span> /
59
+ <span class="served"><%= mv.served %></span>)
60
+ </span>
51
61
  </div>
52
62
  <% end %>
53
63
  <% end %>
54
64
  </div>
55
65
  <% end %>
56
66
 
57
- <a href="<%= new_mountain_goat_convert_mountain_goat_metric_url :mountain_goat_convert_id => @convert.id %>">New Metric</a>
67
+ <div class="actions">
68
+ <a class="button" href="<%= edit_mountain_goat_convert_url :id => @convert.id %>">Edit</a>
69
+ <a class="button" href="<%= new_mountain_goat_convert_mountain_goat_metric_url :mountain_goat_convert_id => @convert.id %>">New Metric</a>
70
+ </div>
71
+
58
72
  </div>
59
73
  </div>
@@ -7,29 +7,33 @@
7
7
  <% end %>
8
8
 
9
9
  <div class="item name">
10
- <%= f.label :name, 'Variant name' %><br />
10
+ <%= f.label :name, 'Name (whatever you want)' %>
11
11
  <%= f.text_field :name %>
12
12
  </div>
13
13
 
14
14
  <% if !f.object.metric.is_switch %>
15
15
  <div class="item value">
16
- <%= f.label :value, 'Metric value' %><br />
16
+ <%= f.label :value, 'What\'s displayed' %>
17
17
  <%= f.text_area :value %>
18
18
  </div>
19
19
 
20
- <div class="item opt1">
21
- <%= f.label :opt1, 'Option 1' %><br />
22
- <%= f.text_area :opt1 %>
23
- </div>
24
-
25
- <div class="item opt2">
26
- <%= f.label :opt2, 'Option 2' %><br />
27
- <%= f.text_area :opt2 %>
20
+ <input type='checkbox' id="my_slider" class='slider' data-slider='.options' />
21
+ <label for="my_slider">Add optional variants</label>
22
+ <div class="options" style="display:none;">
23
+ <div class="item opt1">
24
+ <%= f.label :opt1, 'Option 1' %>
25
+ <%= f.text_area :opt1 %>
26
+ </div>
27
+
28
+ <div class="item opt2">
29
+ <%= f.label :opt2, 'Option 2' %>
30
+ <%= f.text_area :opt2 %>
31
+ </div>
28
32
  </div>
29
33
  <% end %>
30
34
  <div class="item priority">
31
- <%= f.label :priority, 'Priority' %><br />
32
- <%= f.text_field :priority %>
35
+ <%= f.label :priority, 'Priority' %>
36
+ <%= f.text_field :priority, :class => 'priority' %>
33
37
  </div>
34
38
 
35
39
  <div class="item submit">
@@ -2,7 +2,7 @@
2
2
 
3
3
  <div id="container-main" class="mt-metric-variants">
4
4
  <div class="mountain-goat-panel centered">
5
- <h2>Edit metric variant</h2>
5
+ <h1>Edit <%=h @metric_variant.name %></h1>
6
6
 
7
7
  <% form_for :metric_variant, @metric_variant, :url => mountain_goat_metric_variant_url(:id => @metric_variant.id), :html => { :method => :put } do |f| %>
8
8
  <%= f.error_messages %>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <div id="container-main" class="mt-metric-variants">
4
4
  <div class="mountain-goat-panel cenetered">
5
- <h2>New metric variant for</br> <%=h @metric.title %></h2>
5
+ <h1>New Variant for <%=h @metric.title %></h1>
6
6
 
7
7
  <% form_for :metric_variant, @metric_variant, :url => mountain_goat_metric_variants_url do |f| %>
8
8
  <%= f.error_messages %>
@@ -2,13 +2,31 @@
2
2
 
3
3
  <div id="container-main" class="mt-metric-variants">
4
4
  <div class="mountain-goat-panel cenetered">
5
- <a href="<%= mountain_goat_converts_url %>">Goals</a> > <a href="<%= mountain_goat_convert_url :id => @metric_variant.metric.convert.id %>"><%=h @metric_variant.metric.convert.name %> Goal</a> > <a href="<%= mountain_goat_metric_url :id => @metric_variant.metric.id %>"><%=h @metric_variant.metric.title %></a>
5
+ <ul class="nav">
6
+ <li><a href="<%= mountain_goat_converts_url %>">Goals</a></li>
7
+ <li><a href="<%= mountain_goat_convert_url :id => @metric_variant.metric.convert.id %>"><%=h @metric_variant.metric.convert.name %> Goal</a></li>
8
+ <li><a href="<%= mountain_goat_metric_url :id => @metric_variant.metric.id %>"><%=h @metric_variant.metric.title %></a></li>
9
+ </ul>
6
10
 
7
- <h2><%=h @metric_variant.name %></h2>
11
+ <h1><%=h @metric_variant.name %></h1>
8
12
 
9
- <div class="value"><%=h @metric_variant.value %></div>
10
- <div class="serves-converts"><%=h @metric_variant.served %> / <%=h @metric_variant.conversions %> (<%=h number_to_percentage(@metric_variant.conversion_rate, :precision => 0) %>)</div>
11
-
12
- <a href="<%= edit_mountain_goat_metric_variant_url :id => @metric_variant.id %>">Edit</a>
13
+ <div class="metric-category">
14
+ <div class="item rate">
15
+ <span class="rate-holder">
16
+ <span class="title"><a href="<%= mountain_goat_metric_variant_url @metric_variant %>"><%=h @metric_variant.name %></a></span>
17
+ <span class="rates" style="width:<%= number_to_percentage(@metric_variant.conversion_rate, :precision => 0) %>"></span>
18
+ </span>
19
+
20
+ <span class="percent-holder">
21
+ <span class="val"><%= number_to_percentage(@metric_variant.conversion_rate, :precision => 0) %></span>
22
+ (<span class="conversions"><%= @metric_variant.conversions %></span> /
23
+ <span class="served"><%= @metric_variant.served %></span>)
24
+ </span>
25
+ </div>
26
+ </div>
27
+
28
+ <div class="actions">
29
+ <a class="button" href="<%= edit_mountain_goat_metric_variant_url :id => @metric_variant.id %>">Edit</a>
30
+ </div>
13
31
  </div>
14
32
  </div>
@@ -4,11 +4,11 @@
4
4
 
5
5
  <% if f.object.new_record? %>
6
6
  <div class="item metric-type">
7
- <%= f.label :metric_type %>
7
+ <%= f.label :metric_type, 'Type (this is technical)' %>
8
8
  <%= f.text_field :metric_type %>
9
9
  </div>
10
10
  <% else %>
11
- <span class="metric-type"><%= f.object.metric_type %></span>
11
+ <h2><%= f.object.metric_type %></h2>
12
12
  <% end %>
13
13
 
14
14
  <div class="item title">
@@ -2,7 +2,7 @@
2
2
 
3
3
  <div id="container-main" class="mt-metrics">
4
4
  <div class="mountain-goat-panel centered">
5
- <h2>Editing metric</h2>
5
+ <h1>Edit <%= @metric.title %></h1>
6
6
 
7
7
  <% form_for :metric, @metric, :url => mountain_goat_metric_url(:id => @metric.id), :html => { :method => :put } do |f| %>
8
8
  <%= f.error_messages %>
@@ -2,28 +2,14 @@
2
2
 
3
3
  <div id="container-main" class="mt-metrics">
4
4
  <div class="mountain-goat-panel">
5
- <h2>Listing metrics</h2>
5
+ <h1>All metrics</h1>
6
6
 
7
- <table>
8
- <tr>
9
- <th>Type</th>
10
- <th>Title</th>
11
- <th>Convert</th>
12
- </tr>
13
-
14
7
  <% @metrics.each do |metric| %>
15
- <tr>
16
- <td><%=h metric.metric_type %></td>
17
- <td><%=h metric.title %></td>
18
- <td><%=h metric.convert_id %></td>
19
- <td><a href="<%= mountain_goat_metric_url metric %>">Details</a></td>
20
- <td><a href="<%= edit_mountain_goat_metric_url(metric)%>">Edit</a></td>
21
- </tr>
8
+ <h2><a href="<%= mountain_goat_metric_url metric %>"><%=h metric.title %> </a> for <%=h metric.convert.name %></h2>
22
9
  <% end %>
23
- </table>
24
10
 
25
- <br />
26
-
27
- <a href="<%= new_mountain_goat_metric_url %>">New metric</a>
11
+ <span class="actions">
12
+ <a class="button" href="<%= new_mountain_goat_metric_url %>">New metric</a>
13
+ </span>
28
14
  </div>
29
15
  </div>
@@ -11,7 +11,7 @@
11
11
  <li><a href="<%= mountain_goat_metric_url :id => @metric.id %>"><%=h @metric.title %></a></li>
12
12
  </ul>
13
13
 
14
- <h1><%=h @metric.title %> Goal</h1>
14
+ <h1><%=h @metric.title %> Metric</h1>
15
15
 
16
16
  <div class="variants">
17
17
  <% if @metric.metric_variants.count == 0 %>
Binary file
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: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
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-08 00:00:00 -05:00
19
+ date: 2011-07-09 00:00:00 -05:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -91,29 +91,23 @@ files:
91
91
  - lib/mountain_goat/public/dottedblue.png
92
92
  - lib/mountain_goat/public/jquery.flot.js
93
93
  - lib/mountain_goat/public/mg.css
94
+ - lib/mountain_goat/public/mg.js
94
95
  - lib/mountain_goat/public/mg.png
95
96
  - lib/mountain_goat/public/raster.png
96
97
  - lib/mountain_goat/switch_variant.rb
97
98
  - lib/mountain_goat/version.rb
98
- - lib/mountain_goat/views/mountain_goat/layouts/.tmp_mountain_goat.html.erb.2801~
99
99
  - lib/mountain_goat/views/mountain_goat/layouts/mountain_goat.html.erb
100
- - lib/mountain_goat/views/mountain_goat/mountain_goat_converts/.tmp_index.html.erb.67861~
101
- - lib/mountain_goat/views/mountain_goat/mountain_goat_converts/.tmp_index.html.erb.97796~
102
100
  - lib/mountain_goat/views/mountain_goat/mountain_goat_converts/_convert_form.html.erb
103
101
  - lib/mountain_goat/views/mountain_goat/mountain_goat_converts/_convert_meta_type_form.html.erb
104
102
  - lib/mountain_goat/views/mountain_goat/mountain_goat_converts/edit.html.erb
105
103
  - lib/mountain_goat/views/mountain_goat/mountain_goat_converts/index.html.erb
106
104
  - lib/mountain_goat/views/mountain_goat/mountain_goat_converts/new.html.erb
107
105
  - lib/mountain_goat/views/mountain_goat/mountain_goat_converts/show.html.erb
108
- - lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/.tmp__metric_variant_form.html.erb.87465~
109
- - lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/.tmp_show.html.erb.24381~
110
106
  - lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/_metric_variant_form.html.erb
111
107
  - lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/edit.html.erb
112
108
  - lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/index.html.erb
113
109
  - lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/new.html.erb
114
110
  - lib/mountain_goat/views/mountain_goat/mountain_goat_metric_variants/show.html.erb
115
- - lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/.tmp_show.html.erb.21427~
116
- - lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/.tmp_show.html.erb.65988~
117
111
  - lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/_metric_form.html.erb
118
112
  - lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/edit.html.erb
119
113
  - lib/mountain_goat/views/mountain_goat/mountain_goat_metrics/index.html.erb
@@ -124,6 +118,7 @@ files:
124
118
  - mountain-goat-0.0.2.gem
125
119
  - mountain-goat-0.0.3.gem
126
120
  - mountain-goat-0.0.4.gem
121
+ - mountain-goat-0.0.5.gem
127
122
  - mountain-goat.gemspec
128
123
  has_rdoc: true
129
124
  homepage: http://github.com/hayesgm/mountain-goat
@@ -1,53 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
-
3
- <% is_mobile = false if local_assigns[:is_mobile].nil? %>
4
-
5
- <html xmlns="http://www.w3.org/1999/xhtml">
6
-
7
- <head>
8
- <title>Mountain Goat <% if @title %> - <%=h @title %><% end %></title>
9
-
10
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
11
-
12
- <%# These are mobile specific settings. We are disabling zooming and fixing the width. %>
13
- <meta content='True' name='HandheldFriendly' />
14
- <!--<meta content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;' name='viewport' />-->
15
- <meta name="viewport" content="width=device-width" />
16
-
17
-
18
- </head>
19
-
20
- <body>
21
-
22
- <% if !flash[:message].blank? %>
23
- <div class="ocelot-flash message">
24
- <div class="message"><%= flash[:message] %></div>
25
- </div>
26
- <% end %>
27
-
28
- <% if !flash[:model].blank? %>
29
- <div class="ocelot-flash-model model">
30
- <div class="jqmWindow" id="dialog">
31
- <a href="#" class="jqmClose">Close</a>
32
- <div class="model"><%= flash[:model] %></div>
33
- </div>
34
- </div>
35
- <% end %>
36
-
37
- <% if !flash[:notice].blank? || !flash[:error].blank? %>
38
- <div class="ocelot-flash">
39
- <% if !flash[:error].blank? %><div class="error"><%= flash[:error] %></div><% end %>
40
- <% if !flash[:notice].blank? %><div class="notice"><%= flash[:notice] %></div><% end %>
41
- </div>
42
- <% end %>
43
-
44
- <div id="ocelot-main">
45
- <%= yield %>
46
-
47
- <div id="container-footer">
48
-
49
- </div>
50
- </div>
51
- </body>
52
-
53
- </html>
@@ -1,33 +0,0 @@
1
-
2
-
3
- <div id="container-main" class="mt-converts">
4
- <div class="mountain-goat-panel centered">
5
-
6
- <h2>Conversion Goals</h2>
7
- <span class="explanation">Below are a list of conversion goals. Each goal has a set of metrics designed to achieve that goal. For each metric, there is a list of variants, each coupled with its conversation rate.</span>
8
- <% @converts.each do |convert| %>
9
- <h2><a href="<%= mountain_goat_convert_url :id => convert.id %>"><%=h convert.name %></a></h2>
10
- <% convert.metrics.each do |metric| %>
11
- <div class="metric-category">
12
- <span class="metric"><a href="<%= mountain_goat_metric_url :id => metric.id %>"><%= metric.title %></a></span>
13
- <% if metric.metric_variants.count == 0 %>
14
- <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>
15
- <% else %>
16
- <% metric.metric_variants.each do |mv| %>
17
- <div class="item rate">
18
- <span class="rates"><%=h mv.name %></span>:
19
- <span class="conversions"><%= mv.conversions %></span> /
20
- <span class="served"><%= mv.served %></span>
21
- (<span class="val"><%= number_to_percentage(mv.conversion_rate, :precision => 0) %></span>)
22
- </div>
23
- <% end %>
24
- <% end %>
25
- </div>
26
- <% end %>
27
- <% end %>
28
-
29
- <div class="new">
30
- <a href="<%= new_mountain_goat_convert_url %>">New conversation type</a>
31
- </div>
32
- </div>
33
- </div>
@@ -1,49 +0,0 @@
1
-
2
-
3
- <div id="container-main" class="mt-converts">
4
- <div class="mountain-goat-panel centered">
5
-
6
- <h1>Conversion Goals</h1>
7
-
8
- <div class="conversions">
9
- <div class="explanation">
10
- <span class="inner">
11
- Below are a list of conversion goals. Each goal has a set of metrics designed to achieve that goal. For each metric, there is a list of variants, each coupled with its conversation rate.</span>
12
- </span>
13
- </div>
14
-
15
- <div class="converts">
16
- <% @converts.each do |convert| %>
17
- <h2><a href="<%= mountain_goat_convert_url :id => convert.id %>"><%=h convert.name %></a></h2>
18
- <% convert.metrics.each do |metric| %>
19
- <div class="metric-category">
20
- <span class="metric"><a href="<%= mountain_goat_metric_url :id => metric.id %>"><%= metric.title %></a></span>
21
- <% if metric.metric_variants.count == 0 %>
22
- <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>
23
- <% else %>
24
- <% metric.metric_variants.each do |mv| %>
25
- <div class="item rate">
26
- <span class="rate-holder">
27
- <span class="title"><%=h mv.name %></span>
28
- <span class="rates" style="width:<%= number_to_percentage(mv.conversion_rate, :precision => 0) %>"></span>
29
- </span>
30
-
31
- <span class="percent-holder">
32
- <span class="val"><%= number_to_percentage(mv.conversion_rate, :precision => 0) %></span>
33
- (<span class="conversions"><%= mv.conversions %></span> /
34
- <span class="served"><%= mv.served %></span>)
35
- </span>
36
- </div>
37
- <% end %>
38
- <% end %>
39
- </div>
40
- <% end %>
41
- <% end %>
42
- </div>
43
- </div>
44
-
45
- <div class="new">
46
- <a href="<%= new_mountain_goat_convert_url %>">New conversation type</a>
47
- </div>
48
- </div>
49
- </div>
@@ -1,27 +0,0 @@
1
- <%# locals => f %>
2
-
3
- <%= f.hidden_field :metric_id %>
4
-
5
- <% if f.object.metric.is_switch %>
6
- <span class="switch-type"><%=h f.object.switch_type %></span>
7
- <% end %>
8
-
9
- <div class="item name">
10
- <%= f.label :name, 'Variant name' %><br />
11
- <%= f.text_field :name %>
12
- </div>
13
-
14
- <% if !f.object.metric.is_switch %>
15
- <div class="item value">
16
- <%= f.label :value, 'Metric value' %><br />
17
- <%= f.text_area :value %>
18
- </div>
19
- <% end %>
20
- <div class="item priority">
21
- <%= f.label :priority, 'Priority' %><br />
22
- <%= f.text_field :priority %>
23
- </div>
24
-
25
- <div class="item submit">
26
- <%= f.submit 'Submit' %>
27
- </div>
@@ -1,14 +0,0 @@
1
-
2
-
3
- <div id="container-main" class="mt-metric-variants">
4
- <div class="mountain-goat-panel cenetered">
5
- <a href="<%= mountain_goat_converts_url %>">Goals</a> > <a href="<%= mountain_goat_convert_url :id => @metric_variant.metric.convert.id %>"><%=h @metric_variant.metric.convert.name %> Goal</a> > <a href="<%= mountain_goat_metric_url :id => @metric_variant.metric.id %>"><%=h @metric_variant.metric.title %></a>
6
-
7
- <h2><%=h @metric_variant.name %></h2>
8
-
9
- <div class="value"><%=h @metric_variant.value %></div>
10
- <div class="serves-converts"><%=h @metric_variant.served %> / <%=h @metric_variant.conversions %> (<%=h number_to_percentage(@metric_variant.conversion_rate, :precision => 0) %>)</div>
11
-
12
- <a href="<%= edit_mountain_goat_metric_variant_url :id => @metric_variant.id %>">Edit</a>
13
- </div>
14
- </div>
@@ -1,59 +0,0 @@
1
-
2
- <% if !respond_to?(:chart) %>
3
- <% def chart(*args); 'Please install Flotilla plugin (http://flotilla.rubyforge.org/) for charts'; end; %>
4
- <% end %>
5
-
6
- <div id="container-main" class="mt-metrics">
7
- <div class="mountain-goat-panel cenetered">
8
- <a href="<%= mountain_goat_converts_url %>">Goals</a> > <a href="<%= mountain_goat_convert_url :id => @metric.convert.id %>"><%=h @metric.convert.name %> Goal</a> > <span class="metric-type"><%=h @metric.metric_type %></span>
9
-
10
- <h2><%=h @metric.title %></h2>
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="flyer-analysis countbar">
17
- <div class="title">Conversion Rates</div>
18
- <div class="graph">
19
- <%= chart("analysis_graph#{@metric.id}",
20
- { "Served" => { :collection => @rates[:served], :x => :variant_type, :y => :value },
21
- "Conversions" => { :collection => @rates[:conversions], :x => :variant_type, :y => :value } },
22
- { :xaxis => {:autoscaleMargin => 0.1, :ticks => @rates[:titles].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :position => "ne" } }, :placeholder_size => "300x200") %>
23
-
24
- </div>
25
- <div class="graph">
26
- <%= chart("analysis_conv_graph#{@metric.id}",
27
- { "Conversion Rate (%)" => { :collection => @rates[:conversion_rates], :x => :variant_type, :y => :value } },
28
- { :xaxis => {:autoscaleMargin => 0.1, :ticks => @rates[:titles].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :position => "ne" } }, :placeholder_size => "300x200") %>
29
-
30
- </div>
31
- </div>
32
- <% @metric.metric_variants.each do |mv| %>
33
- <div class="metric-variant">
34
- <div class="item name">
35
- <span class="desc">Name</span>
36
- <span class="val"><a href="<%= mountain_goat_metric_variant_url mv %>"><%= mv.name %></a> [<a href="<%= edit_mountain_goat_metric_variant_url :id => mv.id %>">Edit</a>]</span>
37
- </div>
38
-
39
- <div class="item value">
40
- <span class="desc">Value</span>
41
- <span class="val"><%= mv.value %></span>
42
- </div>
43
-
44
- <div class="item rate">
45
- <span class="rates">Conversion:</span>
46
- <span class="conversions"><%= mv.conversions %></span> /
47
- <span class="served"><%= mv.served %></span>
48
- (<span class="val"><%= number_to_percentage(mv.conversion_rate, :precision => 0) %></span>)
49
- </div>
50
- </div>
51
-
52
- <% end %>
53
- <% end %>
54
- </div>
55
-
56
- <a href="<%= edit_mountain_goat_metric_url :id => @metric %>">Edit Metric</a> |
57
- <a href="<%= new_mountain_goat_metric_mountain_goat_metric_variant_url :mountain_goat_metric_id => @metric.id %>">New Variant</a>
58
- </div>
59
- </div>
@@ -1,59 +0,0 @@
1
-
2
- <% if !respond_to?(:chart) %>
3
- <% def chart(*args); 'Please install Flotilla plugin (http://flotilla.rubyforge.org/) for charts'; end; %>
4
- <% end %>
5
-
6
- <div id="container-main" class="mt-metrics">
7
- <div class="mountain-goat-panel cenetered">
8
- <a href="<%= mountain_goat_converts_url %>">Goals</a> > <a href="<%= mountain_goat_convert_url :id => @metric.convert.id %>"><%=h @metric.convert.name %> Goal</a> > <span class="metric-type"><%=h @metric.metric_type %></span>
9
-
10
- <h2><%=h @metric.title %></h2>
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="flyer-analysis countbar">
17
- <div class="title">Conversion Rates</div>
18
- <div class="graph">
19
- <%= chart("analysis_graph#{@metric.id}",
20
- { "Served" => { :collection => @rates[:served], :x => :variant_type, :y => :value },
21
- "Conversions" => { :collection => @rates[:conversions], :x => :variant_type, :y => :value } },
22
- { :xaxis => {:autoscaleMargin => 0.1, :ticks => @rates[:titles].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :position => "ne" } }, :placeholder_size => "300x200") %>
23
-
24
- </div>
25
- <div class="graph">
26
- <%= chart("analysis_conv_graph#{@metric.id}",
27
- { "Conversion Rate (%)" => { :collection => @rates[:conversion_rates], :x => :variant_type, :y => :value } },
28
- { :xaxis => {:autoscaleMargin => 0.1, :ticks => @rates[:titles].map { |i,t| [i + 0.5, t] }.sort }, :yaxis => { :min => 0, :minTickSize => 1 }, :bars => { :show => true }, :legend => { :position => "ne" } }, :placeholder_size => "300x200") %>
29
-
30
- </div>
31
- </div>
32
- <% @metric.metric_variants.each do |mv| %>
33
- <div class="metric-variant">
34
- <div class="item name">
35
- <span class="desc">Name</span>
36
- <span class="val"><a href="<%= mountain_goat_metric_variant_url mv %>"><%= mv.name %></a> [<a href="<%= edit_mountain_goat_metric_variant_url :id => mv.id %>">Edit</a>]</span>
37
- </div>
38
-
39
- <div class="item value">
40
- <span class="desc">Value</span>
41
- <span class="val"><%= mv.value %></span>
42
- </div>
43
-
44
- <div class="item rate">
45
- <span class="rates">Conversion:</span>
46
- <span class="conversions"><%= mv.conversions %></span> /
47
- <span class="served"><%= mv.served %></span>
48
- (<span class="val"><%= number_to_percentage(mv.conversion_rate, :precision => 0) %></span>)
49
- </div>
50
- </div>
51
-
52
- <% end %>
53
- <% end %>
54
- </div>
55
-
56
- <a href="<%= edit_mountain_goat_metric_url :id => @metric %>">Edit Metric</a> |
57
- <a href="<%= new_mountain_goat_metric_mountain_goat_metric_variant_url :mountain_goat_metric_id => @metric.id %>">New Variant</a>
58
- </div>
59
- </div>