mountain-goat 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>