garb 0.9.1 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -0
  3. data/.travis.yml +7 -0
  4. data/CHANGELOG.md +95 -0
  5. data/Gemfile +15 -0
  6. data/README.md +47 -25
  7. data/Rakefile +8 -34
  8. data/garb.gemspec +22 -0
  9. data/lib/garb.rb +71 -48
  10. data/lib/garb/attributes.rb +35 -0
  11. data/lib/garb/core_ext/array.rb +13 -0
  12. data/lib/garb/core_ext/string.rb +48 -0
  13. data/lib/garb/core_ext/symbol.rb +59 -0
  14. data/lib/garb/destination.rb +5 -6
  15. data/lib/garb/errors.rb +20 -0
  16. data/lib/garb/filter_parameters.rb +20 -29
  17. data/lib/garb/management/account.rb +10 -16
  18. data/lib/garb/management/feed.rb +4 -5
  19. data/lib/garb/management/goal.rb +10 -15
  20. data/lib/garb/management/profile.rb +11 -20
  21. data/lib/garb/management/segment.rb +9 -15
  22. data/lib/garb/management/web_property.rb +11 -16
  23. data/lib/garb/model.rb +37 -13
  24. data/lib/garb/path_attribute.rb +7 -0
  25. data/lib/garb/report_parameter.rb +5 -5
  26. data/lib/garb/report_response.rb +29 -28
  27. data/lib/garb/reports/bounces.rb +1 -1
  28. data/lib/garb/reports/exits.rb +1 -1
  29. data/lib/garb/reports/pageviews.rb +1 -1
  30. data/lib/garb/reports/unique_pageviews.rb +1 -1
  31. data/lib/garb/reports/visits.rb +1 -1
  32. data/lib/garb/request/authentication.rb +54 -0
  33. data/lib/garb/request/data.rb +98 -0
  34. data/lib/garb/result_set.rb +23 -9
  35. data/lib/garb/session.rb +3 -3
  36. data/lib/garb/step.rb +4 -4
  37. data/lib/garb/support.rb +6 -0
  38. data/lib/garb/version.rb +3 -3
  39. data/test/fixtures/account_management.json +1 -0
  40. data/test/fixtures/ga_profile_management.json +1 -0
  41. data/test/fixtures/ga_segment_management.json +1 -0
  42. data/test/fixtures/ga_webproperty_management.json +1 -0
  43. data/test/fixtures/goal_management.json +1 -0
  44. data/test/fixtures/profile_feed.json +1 -0
  45. data/test/fixtures/report_feed.json +75 -0
  46. data/test/test_helper.rb +6 -10
  47. data/test/unit/garb/filter_parameters_test.rb +15 -46
  48. data/test/unit/garb/management/account_test.rb +8 -16
  49. data/test/unit/garb/management/feed_test.rb +5 -10
  50. data/test/unit/garb/management/goal_test.rb +7 -21
  51. data/test/unit/garb/management/profile_test.rb +11 -26
  52. data/test/unit/garb/management/segment_test.rb +7 -6
  53. data/test/unit/garb/management/web_property_test.rb +10 -12
  54. data/test/unit/garb/model_test.rb +70 -32
  55. data/test/unit/garb/report_parameter_test.rb +6 -6
  56. data/test/unit/garb/report_response_test.rb +23 -13
  57. data/test/unit/garb/request/authentication_test.rb +152 -0
  58. data/test/unit/garb/request/data_test.rb +157 -0
  59. data/test/unit/garb/session_test.rb +13 -13
  60. data/test/unit/garb_test.rb +4 -11
  61. data/test/unit/symbol_operator_test.rb +3 -3
  62. metadata +90 -292
  63. data/lib/garb/account.rb +0 -22
  64. data/lib/garb/account_feed_request.rb +0 -25
  65. data/lib/garb/authentication_request.rb +0 -53
  66. data/lib/garb/data_request.rb +0 -42
  67. data/lib/garb/goal.rb +0 -20
  68. data/lib/garb/profile.rb +0 -33
  69. data/lib/garb/report.rb +0 -28
  70. data/lib/garb/resource.rb +0 -115
  71. data/lib/support.rb +0 -40
  72. data/test/unit/garb/account_feed_request_test.rb +0 -42
  73. data/test/unit/garb/account_test.rb +0 -53
  74. data/test/unit/garb/authentication_request_test.rb +0 -121
  75. data/test/unit/garb/coverage/assets/0.3.9/app.js +0 -66
  76. data/test/unit/garb/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
  77. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
  78. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
  79. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
  80. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
  81. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
  82. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
  83. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
  84. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
  85. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
  86. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
  87. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
  88. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
  89. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
  90. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
  91. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
  92. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
  93. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
  94. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
  95. data/test/unit/garb/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
  96. data/test/unit/garb/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +0 -363
  97. data/test/unit/garb/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
  98. data/test/unit/garb/coverage/assets/0.3.9/favicon.png +0 -0
  99. data/test/unit/garb/coverage/assets/0.3.9/jquery-1.4.2.min.js +0 -155
  100. data/test/unit/garb/coverage/assets/0.3.9/jquery.dataTables.min.js +0 -152
  101. data/test/unit/garb/coverage/assets/0.3.9/jquery.timeago.js +0 -141
  102. data/test/unit/garb/coverage/assets/0.3.9/jquery.url.js +0 -174
  103. data/test/unit/garb/coverage/assets/0.3.9/loading.gif +0 -0
  104. data/test/unit/garb/coverage/assets/0.3.9/magnify.png +0 -0
  105. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  106. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  107. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  108. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  109. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  110. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  111. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  112. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  113. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
  114. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  115. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
  116. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
  117. data/test/unit/garb/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  118. data/test/unit/garb/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +0 -295
  119. data/test/unit/garb/coverage/assets/0.3.9/stylesheet.css +0 -341
  120. data/test/unit/garb/coverage/index.html +0 -100
  121. data/test/unit/garb/coverage/resultset.yml +0 -5
  122. data/test/unit/garb/data_request_test.rb +0 -107
  123. data/test/unit/garb/destination_test.rb +0 -28
  124. data/test/unit/garb/goal_test.rb +0 -24
  125. data/test/unit/garb/management/coverage/assets/0.3.9/app.js +0 -66
  126. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
  127. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
  128. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
  129. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
  130. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
  131. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
  132. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
  133. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
  134. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
  135. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
  136. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
  137. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
  138. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
  139. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
  140. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
  141. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
  142. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
  143. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
  144. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
  145. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
  146. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +0 -363
  147. data/test/unit/garb/management/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
  148. data/test/unit/garb/management/coverage/assets/0.3.9/favicon.png +0 -0
  149. data/test/unit/garb/management/coverage/assets/0.3.9/jquery-1.4.2.min.js +0 -155
  150. data/test/unit/garb/management/coverage/assets/0.3.9/jquery.dataTables.min.js +0 -152
  151. data/test/unit/garb/management/coverage/assets/0.3.9/jquery.timeago.js +0 -141
  152. data/test/unit/garb/management/coverage/assets/0.3.9/jquery.url.js +0 -174
  153. data/test/unit/garb/management/coverage/assets/0.3.9/loading.gif +0 -0
  154. data/test/unit/garb/management/coverage/assets/0.3.9/magnify.png +0 -0
  155. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  156. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  157. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  158. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  159. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  160. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  161. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  162. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  163. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
  164. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  165. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
  166. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
  167. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  168. data/test/unit/garb/management/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +0 -295
  169. data/test/unit/garb/management/coverage/assets/0.3.9/stylesheet.css +0 -341
  170. data/test/unit/garb/management/coverage/index.html +0 -100
  171. data/test/unit/garb/management/coverage/resultset.yml +0 -5
  172. data/test/unit/garb/profile_test.rb +0 -77
  173. data/test/unit/garb/report_test.rb +0 -99
  174. data/test/unit/garb/resource_test.rb +0 -50
  175. data/test/unit/garb/step_test.rb +0 -15
@@ -1,341 +0,0 @@
1
- /* -----------------------------------------------------------------------
2
-
3
-
4
- Blueprint CSS Framework 0.9
5
- http://blueprintcss.org
6
-
7
- * Copyright (c) 2007-Present. See LICENSE for more info.
8
- * See README for instructions on how to use Blueprint.
9
- * For credits and origins, see AUTHORS.
10
- * This is a compressed file. See the sources in the 'src' directory.
11
-
12
- ----------------------------------------------------------------------- */
13
-
14
- /* reset.css */
15
- html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
16
- article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
17
- body {line-height:1.5;}
18
- table {border-collapse:separate;border-spacing:0;}
19
- caption, th, td {text-align:left;font-weight:normal;}
20
- table, td, th {vertical-align:middle;}
21
- blockquote:before, blockquote:after, q:before, q:after {content:"";}
22
- blockquote, q {quotes:"" "";}
23
- a img {border:none;}
24
-
25
- /* typography.css */
26
- html {font-size:100.01%;}
27
- body {font-size:82%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
28
- h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
29
- h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
30
- h2 {font-size:2em;margin-bottom:0.75em;}
31
- h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
32
- h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
33
- h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
34
- h6 {font-size:1em;font-weight:bold;}
35
- h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
36
- p {margin:0 0 1.5em;}
37
- p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
38
- p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
39
- a:focus, a:hover {color:#000;}
40
- a {color:#009;text-decoration:underline;}
41
- blockquote {margin:1.5em;color:#666;font-style:italic;}
42
- strong {font-weight:bold;}
43
- em, dfn {font-style:italic;}
44
- dfn {font-weight:bold;}
45
- sup, sub {line-height:0;}
46
- abbr, acronym {border-bottom:1px dotted #666;}
47
- address {margin:0 0 1.5em;font-style:italic;}
48
- del {color:#666;}
49
- pre {margin:1.5em 0;white-space:pre;}
50
- pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
51
- li ul, li ol {margin:0;}
52
- ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
53
- ul {list-style-type:disc;}
54
- ol {list-style-type:decimal;}
55
- dl {margin:0 0 1.5em 0;}
56
- dl dt {font-weight:bold;}
57
- dd {margin-left:1.5em;}
58
- table {margin-bottom:1.4em;width:100%;}
59
- th {font-weight:bold;}
60
- thead th {background:#c3d9ff;}
61
- th, td, caption {padding:4px 10px 4px 5px;}
62
- tr.even td {background:#efefef;}
63
- tfoot {font-style:italic;}
64
- caption {background:#eee;}
65
- .small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
66
- .large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
67
- .hide {display:none;}
68
- .quiet {color:#666;}
69
- .loud {color:#000;}
70
- .highlight {background:#ff0;}
71
- .added {background:#060;color:#fff;}
72
- .removed {background:#900;color:#fff;}
73
- .first {margin-left:0;padding-left:0;}
74
- .last {margin-right:0;padding-right:0;}
75
- .top {margin-top:0;padding-top:0;}
76
- .bottom {margin-bottom:0;padding-bottom:0;}
77
-
78
- /* forms.css */
79
- label {font-weight:bold;}
80
- fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
81
- legend {font-weight:bold;font-size:1.2em;}
82
- input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
83
- input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
84
- input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
85
- input.text, input.title {width:300px;padding:5px;}
86
- input.title {font-size:1.5em;}
87
- textarea {width:390px;height:250px;padding:5px;}
88
- input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
89
- form.inline {line-height:3;}
90
- form.inline p {margin-bottom:0;}
91
- .error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
92
- .error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
93
- .notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
94
- .success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
95
- .error a {color:#8a1f11;}
96
- .notice a {color:#514721;}
97
- .success a {color:#264409;}
98
- .box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
99
- hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
100
- hr.space {background:#fff;color:#fff;visibility:hidden;}
101
- .clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
102
- .clearfix, .container {display:block;}
103
- .clear {clear:both;}
104
-
105
- #loading {
106
- position: fixed;
107
- left: 40%;
108
- top: 50%;
109
- }
110
-
111
- a {
112
- color: #600;
113
- text-decoration: none;
114
- }
115
-
116
- a:hover {
117
- color: #900;
118
- text-decoration: underline;
119
- }
120
-
121
- body {
122
- font-family: "Lucida Grande", Helvetica, "Helvetica Neue", Arial, sans-serif;
123
- padding: 12px;
124
- background-color: #333;
125
- }
126
-
127
- h1, h2, h3, h4 {
128
- color: #1C2324;
129
- margin: 0;
130
- padding: 0;
131
- margin-bottom: 12px;
132
- }
133
-
134
- table {
135
- width: 100%;
136
- }
137
-
138
- #content {
139
- clear: left;
140
- background-color: white;
141
- border: 2px solid #ddd;
142
- border-top: 8px solid #ddd;
143
- padding: 18px;
144
- -webkit-border-bottom-left-radius: 5px;
145
- -webkit-border-bottom-right-radius: 5px;
146
- -webkit-border-top-right-radius: 5px;
147
- -moz-border-radius-bottomleft: 5px;
148
- -moz-border-radius-bottomright: 5px;
149
- -moz-border-radius-topright: 5px;
150
- border-bottom-left-radius: 5px;
151
- border-bottom-right-radius: 5px;
152
- border-top-right-radius: 5px;
153
- }
154
-
155
- .dataTables_filter, .dataTables_info {
156
- padding: 2px 6px;
157
- }
158
-
159
- abbr.timeago {
160
- text-decoration: none;
161
- border: none;
162
- font-weight: bold;
163
- }
164
-
165
- .timestamp {
166
- float: right;
167
- color: #ddd;
168
- }
169
-
170
- .group_tabs {
171
- list-style: none;
172
- float: left;
173
- margin: 0;
174
- padding: 0;
175
- }
176
- .group_tabs li {
177
- display: inline;
178
- float: left;
179
- }
180
-
181
- .group_tabs li a {
182
- font-family: Helvetica, Arial, sans-serif;
183
- display: block;
184
- float: left;
185
- text-decoration: none;
186
- padding: 4px 8px;
187
- background-color: #aaa;
188
- background: -webkit-gradient(linear, 0 0, 0 bottom, from(#DDD), to(#aaa));
189
- background: -moz-linear-gradient(#DDD, #aaa);
190
- background: linear-gradient(#DDD, #aaa);
191
- text-shadow: #e5e5e5 1px 1px 0px;
192
- border-bottom: none;
193
- color: #333;
194
- font-weight: bold;
195
- margin-right: 8px;
196
- border-top: 1px solid #efefef;
197
- -webkit-border-top-left-radius: 2px;
198
- -webkit-border-top-right-radius: 2px;
199
- -moz-border-radius-topleft: 2px;
200
- -moz-border-radius-topright: 2px;
201
- border-top-left-radius: 2px;
202
- border-top-right-radius: 2px;
203
- }
204
-
205
- .group_tabs li a:hover {
206
- background-color: #ccc;
207
- background: -webkit-gradient(linear, 0 0, 0 bottom, from(#eee), to(#aaa));
208
- background: -moz-linear-gradient(#eee, #aaa);
209
- background: linear-gradient(#eee, #aaa);
210
- }
211
-
212
- .group_tabs li a:active {
213
- padding-top: 5px;
214
- padding-bottom: 3px;
215
- }
216
-
217
- .group_tabs li.active a {
218
- color: black;
219
- text-shadow: #fff 1px 1px 0px;
220
- background-color: #ddd;
221
- background: -webkit-gradient(linear, 0 0, 0 bottom, from(#fff), to(#ddd));
222
- background: -moz-linear-gradient(#fff, #ddd);
223
- background: linear-gradient(#fff, #ddd);
224
- }
225
-
226
- .file_list {
227
- margin-bottom: 18px;
228
- }
229
-
230
- a.src_link {
231
- background: url('./magnify.png') no-repeat left 50%;
232
- padding-left: 18px;
233
- }
234
-
235
- tr, td {
236
- margin: 0;
237
- padding: 0;
238
- }
239
-
240
- th {
241
- white-space: nowrap;
242
- }
243
-
244
- th.ui-state-default {
245
- cursor: pointer;
246
- }
247
-
248
- th span.ui-icon {
249
- float: left;
250
- }
251
-
252
- td {
253
- padding: 4px 8px;
254
- }
255
-
256
- .source_table td {
257
- padding: 2px 8px;
258
- }
259
-
260
-
261
- .source_table {
262
- overflow: auto;
263
- }
264
-
265
- .source_table table {
266
- width: 95%;
267
- }
268
-
269
- .source_table thead td {
270
- background-color: white;
271
- }
272
-
273
- .source_table thead th {
274
- background-color: white;
275
- }
276
-
277
- .source_table td.hits {
278
- text-align: right;
279
- }
280
-
281
- .source_table h3, .source_table h4 {
282
- padding: 0;
283
- margin: 0;
284
- margin-bottom: 4px;
285
- }
286
-
287
- td pre {
288
- margin: 0;
289
- padding: 0;
290
- color: #222;
291
- font-family: "Monaco", "Inconsolata", "Consolas", monospace;
292
- }
293
-
294
- .line_number {
295
- width: 20px;
296
- font-weight: bold;
297
- }
298
-
299
- #footer {
300
- color: #ddd;
301
- font-size: 12px;
302
- font-weight: bold;
303
- margin-top: 12px;
304
- text-align: right;
305
- }
306
- #footer a {
307
- color: #eee;
308
- text-decoration: underline;
309
- }
310
- #footer a:hover {
311
- color: #fff;
312
- text-decoration: none;
313
- }
314
-
315
- .green {
316
- color: #090;
317
- }
318
- .red {
319
- color: #900;
320
- }
321
- .yellow {
322
- color: #da0;
323
- }
324
- .hit.odd td {
325
- background-color: #bbdbb6;
326
- }
327
- .hit.even td {
328
- background-color: #cde1c9;
329
- }
330
- .miss.odd td {
331
- background-color: #f19683;
332
- }
333
- .miss.even td {
334
- background-color: #efb5a8;
335
- }
336
- .never.odd td {
337
- background-color: #efefef;
338
- }
339
- .never.even td {
340
- background-color: #f4f4f4;
341
- }
@@ -1,100 +0,0 @@
1
- <!DOCTYPE html>
2
- <html xmlns='http://www.w3.org/1999/xhtml'>
3
- <head>
4
- <title>Code coverage for Management</title>
5
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
- <script src='./assets/0.3.9/jquery-1.4.2.min.js' type='text/javascript'></script>
7
- <script src='./assets/0.3.9/jquery.dataTables.min.js' type='text/javascript'></script>
8
- <script src='./assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js' type='text/javascript'></script>
9
- <script src='./assets/0.3.9/jquery.timeago.js' type='text/javascript'></script>
10
- <script src='./assets/0.3.9/jquery.url.js' type='text/javascript'></script>
11
- <script src='./assets/0.3.9/app.js' type='text/javascript'></script>
12
- <link href='./assets/0.3.9/stylesheet.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
13
- <link href='./assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
14
- <link href='./assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
15
- <link rel="shortcut icon" type="image/png" href="./assets/0.3.9/favicon.png" />
16
- <link rel="icon" type="image/png" href="./assets/0.3.9/favicon.png" />
17
- </head>
18
-
19
- <body>
20
- <div id="loading">
21
- <img src="./assets/0.3.9/loading.gif" alt="loading"/>
22
- </div>
23
- <div id="wrapper" style="display:none;">
24
- <div class="timestamp">Generated <abbr class="timeago" title="2011-01-08T19:38:09-05:00">2011-01-08T19:38:09-05:00</abbr></div>
25
- <ul class="group_tabs"></ul>
26
-
27
- <div id="content">
28
- <div class="file_list_container" id="AllFiles">
29
- <h2>
30
- All Files
31
- (<span class="green">100.0%</span>)
32
- </h2>
33
- <a name="AllFiles"></a>
34
- <div>
35
- <b>0</b> files in total.
36
- <b>0.0</b> relevant lines.
37
- <span class="green"><b>0.0</b> lines covered</span> and
38
- <span class="red"><b>0.0</b> lines missed </span>
39
- </div>
40
- <table class="file_list">
41
- <thead>
42
- <tr>
43
- <th>File</th>
44
- <th>% covered</th>
45
- <th>Lines</th>
46
- <th>Relevant Lines</th>
47
- <th>Lines covered</th>
48
- <th>Lines missed</th>
49
- </tr>
50
- </thead>
51
- <tbody>
52
-
53
- </tbody>
54
- </table>
55
- </div>
56
-
57
-
58
- <div class="file_list_container" id="Libraries">
59
- <h2>
60
- Libraries
61
- (<span class="green">100.0%</span>)
62
- </h2>
63
- <a name="Libraries"></a>
64
- <div>
65
- <b>0</b> files in total.
66
- <b>0.0</b> relevant lines.
67
- <span class="green"><b>0.0</b> lines covered</span> and
68
- <span class="red"><b>0.0</b> lines missed </span>
69
- </div>
70
- <table class="file_list">
71
- <thead>
72
- <tr>
73
- <th>File</th>
74
- <th>% covered</th>
75
- <th>Lines</th>
76
- <th>Relevant Lines</th>
77
- <th>Lines covered</th>
78
- <th>Lines missed</th>
79
- </tr>
80
- </thead>
81
- <tbody>
82
-
83
- </tbody>
84
- </table>
85
- </div>
86
-
87
- </div>
88
-
89
- <div id="footer">
90
- Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.3.7
91
- and simplecov-html v0.3.9<br/>
92
- using Unit Tests
93
- </div>
94
-
95
- <div class="source_files">
96
-
97
- </div>
98
- </div>
99
- </body>
100
- </html>
@@ -1,5 +0,0 @@
1
- ---
2
- Unit Tests:
3
- :original_result: {}
4
-
5
- :created_at: 2011-01-08 19:38:09.152093 -05:00
@@ -1,77 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Garb
4
- class ProfileTest < MiniTest::Unit::TestCase
5
-
6
- context "The Profile class" do
7
- setup {@session = Session.new}
8
-
9
- should "be able to return a list of all profiles" do
10
- afr = AccountFeedRequest.new
11
- afr.stubs(:parsed_response).returns(Crack::XML.parse(read_fixture('profile_feed.xml')))
12
- AccountFeedRequest.stubs(:new).returns(afr)
13
-
14
- assert_equal ['12345', '12346'], Profile.all(@session).map(&:id)
15
- assert_received(AccountFeedRequest, :new) {|e| e.with(@session)}
16
- end
17
-
18
- should "return the first profile for a given web property id" do
19
- profile1 = stub(:web_property_id => '12345', :id => 'abcdef')
20
- profile2 = stub(:web_property_id => '67890', :id => 'ghijkl')
21
- entries = [profile1, profile2]
22
-
23
- Profile.stubs(:all).returns(entries)
24
-
25
- assert_equal profile1, Profile.first('12345', @session)
26
-
27
- assert_received(Profile, :all) {|e| e.with(@session)}
28
- end
29
-
30
- should "return the first profile for a given table id" do
31
- profile1 = stub(:id => '12345', :web_property_id => 'abcdef')
32
- profile2 = stub(:id => '67890', :web_property_id => 'ghijkl')
33
- entries = [profile1, profile2]
34
-
35
- Profile.stubs(:all).returns(entries)
36
-
37
- assert_equal profile2, Profile.first('67890', @session)
38
-
39
- assert_received(Profile, :all) {|e| e.with(@session)}
40
- end
41
- end
42
-
43
- context "A Profile" do
44
- setup do
45
- afr = AccountFeedRequest.new
46
- afr.stubs(:parsed_response).returns(Crack::XML.parse(read_fixture('profile_feed.xml')))
47
-
48
- entry = afr.entries.first
49
- @profile = Profile.new(entry, Session)
50
- end
51
-
52
- should "have a value for :title" do
53
- assert_equal "Historical", @profile.title
54
- end
55
-
56
- should "have a value for :table_id" do
57
- assert_equal 'ga:12345', @profile.table_id
58
- end
59
-
60
- should "have a value for :id" do
61
- assert_equal '12345', @profile.id
62
- end
63
-
64
- should "have a value for :account_id" do
65
- assert_equal '1111', @profile.account_id
66
- end
67
-
68
- should "have a value for :account_name" do
69
- assert_equal 'Blog Beta', @profile.account_name
70
- end
71
-
72
- should "have goals" do
73
- assert_equal 4, @profile.goals.size
74
- end
75
- end
76
- end
77
- end