pesapal 1.8.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZjNiM2MzOWUxOWI3OTc5YzBlZDNlNGVlMjYxOTE4NzQ5ZjU1NjFlMw==
5
- data.tar.gz: !binary |-
6
- MWQ4MmI2OTZmYWZkNmUwNDAyZDlhNDg4MzNlYmY2YWU1YWIwNTRmNw==
2
+ SHA1:
3
+ metadata.gz: 63df757187b6fd739e00c7af0b1eeb2866969fb9
4
+ data.tar.gz: 2e6e978b970b1cd19f45614ae600b603821141ef
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZTk1NTQ3MDAxYzc0NTYxMmZjNjM4Y2RiYjY3YjE5Mjk3ZTkyNjQ4NDhiMmVh
10
- Y2EzZmU1YmIxOWRlNTI5OTc2NzNmMTljOWE0MWRiOWIyNGI2Zjc0OTAxZmEx
11
- OTlhOGU2YzdjNWQzNTQxNDU1MDI4NmUyOTdjMDExN2JmZjg2ZjU=
12
- data.tar.gz: !binary |-
13
- NWE4YmE0ZDdkMDU3M2M4YTc4ZGFmODMyZGZlYWRjZTBlNDkxYWRjYjE3Y2Jl
14
- YmY4MmE0NWE0YmZiODVlMWM3NzgyNGVkOTFlNDUyZmYzZmI3MDNiZjU4NmIz
15
- MDYyODk4YTQ1ZDY1MjU5OTRiNGFiNDgzZjEyYTYzYzdhMzQzMzQ=
6
+ metadata.gz: 9846baae2e2682a99df57bfbd8803d19cbaf806db36f84ff34a8eca59fe1dc199f88958b409623ea15f4cbabff7f7c5eaa356829013e190a094d5b20450db207
7
+ data.tar.gz: 2ac55893c139ad86cbfa1f906a269713bd2d2fcb92e2f6e86673a98f60b530f6d6c0383867c66583566f872f379b7f9cc21bc7b3b71bbc72987de007869b7b1b
data/.gitignore CHANGED
@@ -1,18 +1,8 @@
1
- # Bundler #
2
- /.bundle
3
- /vendor/bundle
4
-
5
- # Coveralls #
1
+ /.bundle/
2
+ /.yardoc/
6
3
  /coverage/
7
-
8
- # Jekyll #
9
- _site
10
-
11
- # Yard #
12
- .yardoc/*
13
-
14
- # Gem #
15
- /log/*
16
- /tmp/*
4
+ /docs/_site/
17
5
  Gemfile.lock
18
6
  *.gem
7
+ .ruby-version
8
+ !docs/.ruby-version
@@ -1,14 +1,22 @@
1
1
  AllCops:
2
- Include:
3
- - '**/Gemfile'
4
- - '**/Rakefile'
5
- Exclude:
6
- - 'vendor/**/*'
7
- Metrics/LineLength:
8
- Enabled: false
2
+ TargetRubyVersion: 2.3
3
+
4
+ Metrics/AbcSize:
5
+ Max: 30
6
+
7
+ Metrics/CyclomaticComplexity:
8
+ Max: 10
9
+
9
10
  Metrics/ClassLength:
10
- CountComments: false
11
11
  Max: 150
12
+
13
+ Metrics/LineLength:
14
+ Max: 150
15
+ Exclude:
16
+ - 'spec/pesapal_merchant_spec.rb'
17
+
12
18
  Metrics/MethodLength:
13
- CountComments: false
14
- Max: 20
19
+ Max: 30
20
+
21
+ Style/FrozenStringLiteralComment:
22
+ Enabled: false
@@ -3,8 +3,10 @@ before_install:
3
3
  - gem update --system
4
4
  - gem install bundler
5
5
  rvm:
6
- - 2.3
7
- - 2.2
8
- - 2.1
9
- - 2.0
6
+ - '2.4.0'
7
+ - '2.3.3'
8
+ - '2.2.6'
9
+ - '2.1.9'
10
+ - '2.0.0-p648'
10
11
  script: bundle exec rspec spec
12
+ sudo: false
@@ -1,6 +1,18 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ v2.0.0
5
+ ------
6
+
7
+ * Update RuboCop configuration and fix failures.
8
+ * Remove Pesapal::Merchant#change_env method.
9
+ * Change how environment is set (remove automatic `Rails.env` detection).
10
+ * Remove all Rails specific stuff.
11
+ * Add `bin/` folder and some executables.
12
+ * Improve gemspec.
13
+ * Move docs from `gh-pages` branch to `docs/`.
14
+ * Update documentation (tutorial and API reference).
15
+
4
16
  v1.8.0
5
17
  ------
6
18
 
@@ -22,7 +34,6 @@ v1.6.0
22
34
  * Code cleanup here and there
23
35
  * Avoid using set_ on method name, this changes the API slightly since we can't use set_env which was public
24
36
 
25
-
26
37
  v1.5.6
27
38
  ------
28
39
 
data/LICENSE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  License
2
2
  =======
3
3
 
4
- Copyright (c) 2013-2014 King'ori Maina
4
+ Copyright (c) 2013-2017 King'ori Maina
5
5
 
6
6
  MIT License
7
7
 
data/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
  ===============
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/pesapal.svg)](https://badge.fury.io/rb/pesapal)
5
- [![Build Status](https://travis-ci.org/itsmrwave/pesapal-gem.svg?branch=master)](https://travis-ci.org/itsmrwave/pesapal-gem)
6
- [![Code Climate](https://codeclimate.com/github/itsmrwave/pesapal-gem/badges/gpa.svg)](https://codeclimate.com/github/itsmrwave/pesapal-gem)
7
- [![Coverage Status](https://coveralls.io/repos/github/itsmrwave/pesapal-gem/badge.svg?branch=master)](https://coveralls.io/github/itsmrwave/pesapal-gem?branch=master)
8
- [![Dependency Status](https://gemnasium.com/badges/github.com/itsmrwave/pesapal-gem.svg)](https://gemnasium.com/github.com/itsmrwave/pesapal-gem)
5
+ [![Build Status](https://travis-ci.org/itskingori/pesapal-gem.svg?branch=master)](https://travis-ci.org/itskingori/pesapal-gem)
6
+ [![Code Climate](https://codeclimate.com/github/itskingori/pesapal-gem/badges/gpa.svg)](https://codeclimate.com/github/itskingori/pesapal-gem)
7
+ [![Coverage Status](https://coveralls.io/repos/github/itskingori/pesapal-gem/badge.svg)](https://coveralls.io/github/itskingori/pesapal-gem)
8
+ [![Dependency Status](https://gemnasium.com/badges/github.com/itskingori/pesapal-gem.svg)](https://gemnasium.com/github.com/itskingori/pesapal-gem)
9
9
 
10
10
 
11
11
  Basically it's a gem that makes it easy to integrate your app with
@@ -32,33 +32,28 @@ Add this line to your application's Gemfile:
32
32
 
33
33
  And then execute:
34
34
 
35
- $ bundle
35
+ $ bundle install
36
36
 
37
37
  Or install it yourself as:
38
38
 
39
39
  $ gem install pesapal
40
40
 
41
- For Rails, you need to run the generator to create sample pesapal.yml file:
42
-
43
- rails generate pesapal:install
44
-
45
-
46
41
 
47
42
  License
48
43
  -------
49
44
 
50
- [King'ori J. Maina][7] © 2013-2014. The [MIT License bundled therein][8] is a
45
+ [King'ori J. Maina][7] © 2013-2017. The [MIT License bundled therein][8] is a
51
46
  permissive license that is short and to the point. It lets people do anything
52
47
  they want as long as they provide attribution and waive liability.
53
48
 
54
49
  [1]: https://www.pesapal.com/
55
- [2]: http://itsmrwave.github.io/pesapal-gem
50
+ [2]: http://itskingori.github.io/pesapal-gem
56
51
  [3]: http://oauth.net/core/1.0/
57
52
  [4]: http://rubygems.org/gems/pesapal
58
- [5]: https://raw.githubusercontent.com/itsmrwave/pesapal-gem/master/CHANGELOG.md
59
- [6]: https://github.com/itsmrwave/pesapal-gem/releases/
53
+ [5]: https://raw.githubusercontent.com/itskingori/pesapal-gem/master/CHANGELOG.md
54
+ [6]: https://github.com/itskingori/pesapal-gem/releases/
60
55
  [7]: http://kingori.co/
61
- [8]: https://raw.githubusercontent.com/itsmrwave/pesapal-gem/master/LICENSE.md
56
+ [8]: https://raw.githubusercontent.com/itskingori/pesapal-gem/master/LICENSE.md
62
57
  [9]: http://rubydoc.info/gems/pesapal/frames/file/README.md
63
58
  [10]: http://mogetutu.com/
64
59
  [11]: https://github.com/mogetutu
@@ -0,0 +1 @@
1
+ 2.3.3
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Bootstrap the GitHub Pages Jekyll environment locally.
4
+ gem 'github-pages'
@@ -0,0 +1,10 @@
1
+ Homepage built on [Jekyll][1].
2
+
3
+ Run locally in a way that matches the GitHub Pages build server:
4
+
5
+ ```
6
+ $ cd docs/
7
+ $ bundle exec jekyll serve --watch --safe --trace --baseurl=''
8
+ ```
9
+
10
+ [1]: http://jekyllrb.com/
@@ -0,0 +1,27 @@
1
+ name: Pesapal Ruby Gem
2
+ highlighter: rouge
3
+ baseurl: /pesapal-gem
4
+ relative_permalinks: false
5
+
6
+ sass:
7
+ sass_dir: _sass
8
+ style: :compressed
9
+
10
+ exclude: [
11
+ 'Gemfile',
12
+ 'Gemfile.lock',
13
+ 'README.md'
14
+ ]
15
+
16
+ markdown: kramdown
17
+ kramdown:
18
+ input: GFM
19
+ auto_id_prefix: ''
20
+ auto_id_stripping: true
21
+ auto_ids: true
22
+ entity_output: as_char
23
+ footnote_backlink: '&8617;'
24
+ footnote_nr: 1
25
+ hard_wrap: false
26
+ smart_quotes: lsquo,rsquo,ldquo,rdquo
27
+ toc_levels: 1..6
@@ -0,0 +1,8 @@
1
+ <script>
2
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
3
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
4
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
5
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
6
+ ga('create', 'UA-39877044-1', 'kingori.co');
7
+ ga('send', 'pageview');
8
+ </script>
@@ -0,0 +1,53 @@
1
+ <!DOCTYPE html>
2
+ <!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
3
+ <html class="no-js" lang="en" >
4
+
5
+ <head>
6
+
7
+ <!-- +++ META +++ -->
8
+ <meta charset="utf-8">
9
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
10
+ <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
11
+
12
+ <!-- +++ PAGE INFO +++ -->
13
+ <title>{{ page.title }} • {{ site.name }}</title>
14
+
15
+ <!-- +++ FAVICON & ICONS: combined 16, 32 & 48 +++ -->
16
+ <link rel="shortcut icon" type="image/x-icon" href="{{ site.baseurl }}/favicon.ico">
17
+
18
+ <!-- +++ STYLESHEETS +++ -->
19
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/stylesheets/styles.css">
20
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/stylesheets/pygment_trac.css">
21
+
22
+ <!-- +++ JAVASCRIPTS +++ -->
23
+ <script type="text/javascript" src="{{ site.baseurl }}/assets/javascripts/scale.fix.js"></script>
24
+ </head>
25
+
26
+ <body>
27
+ <div class="wrapper">
28
+ <header>
29
+ <h1>Pesapal Gem</h1>
30
+ <a href="https://rubygems.org/gems/pesapal"><img src="https://badge.fury.io/rb/pesapal@2x.png" alt="Gem Version" height="18"></a><br/><br/>
31
+ <p>Make authenticated Pesapal API calls without the fuss! Easily post an order, query payment status and fetch payment details.</p>
32
+ <p class="view"><a href="https://github.com/itskingori/pesapal-gem">View the Project on GitHub <small>itskingori/pesapal-gem</small></a></p>
33
+ <ul>
34
+ <li><a href="https://github.com/itskingori/pesapal-gem/zipball/master">Download <strong>ZIP File</strong></a></li>
35
+ <li><a href="https://github.com/itskingori/pesapal-gem/tarball/master">Download <strong>TAR Ball</strong></a></li>
36
+ <li><a href="https://github.com/itskingori/pesapal-gem/fork">Fork On <strong>GitHub</strong></a></li>
37
+ </ul>
38
+ </header>
39
+ <section>
40
+ {{ content }}
41
+ </section>
42
+ <footer>
43
+ <p>
44
+ This project is maintained by <a target="_blank" href="http://kingori.co/">King</a>.<br/>
45
+ Special thanks to <a target="_blank" href="https://twitter.com/mogetutu">@Mogetutu</a>.
46
+ </p>
47
+ <p>
48
+ <small>Hosted on GitHub Pages</small></p>
49
+ </footer>
50
+ </div>
51
+ {% include google-analytics.html %}
52
+ </body>
53
+ </html>
@@ -0,0 +1,17 @@
1
+ var metas = document.getElementsByTagName('meta');
2
+ var i;
3
+ if (navigator.userAgent.match(/iPhone/i)) {
4
+ for (i=0; i<metas.length; i++) {
5
+ if (metas[i].name == "viewport") {
6
+ metas[i].content = "width=device-width, minimum-scale=1.0, maximum-scale=1.0";
7
+ }
8
+ }
9
+ document.addEventListener("gesturestart", gestureStart, false);
10
+ }
11
+ function gestureStart() {
12
+ for (i=0; i<metas.length; i++) {
13
+ if (metas[i].name == "viewport") {
14
+ metas[i].content = "width=device-width, minimum-scale=0.25, maximum-scale=1.6";
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,69 @@
1
+ .highlight { background: #ffffff; }
2
+ .highlight .c { color: #999988; font-style: italic } /* Comment */
3
+ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
4
+ .highlight .k { font-weight: bold } /* Keyword */
5
+ .highlight .o { font-weight: bold } /* Operator */
6
+ .highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
7
+ .highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
8
+ .highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
9
+ .highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
10
+ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
11
+ .highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
12
+ .highlight .ge { font-style: italic } /* Generic.Emph */
13
+ .highlight .gr { color: #aa0000 } /* Generic.Error */
14
+ .highlight .gh { color: #999999 } /* Generic.Heading */
15
+ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
16
+ .highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
17
+ .highlight .go { color: #888888 } /* Generic.Output */
18
+ .highlight .gp { color: #555555 } /* Generic.Prompt */
19
+ .highlight .gs { font-weight: bold } /* Generic.Strong */
20
+ .highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
21
+ .highlight .gt { color: #aa0000 } /* Generic.Traceback */
22
+ .highlight .kc { font-weight: bold } /* Keyword.Constant */
23
+ .highlight .kd { font-weight: bold } /* Keyword.Declaration */
24
+ .highlight .kn { font-weight: bold } /* Keyword.Namespace */
25
+ .highlight .kp { font-weight: bold } /* Keyword.Pseudo */
26
+ .highlight .kr { font-weight: bold } /* Keyword.Reserved */
27
+ .highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
28
+ .highlight .m { color: #009999 } /* Literal.Number */
29
+ .highlight .s { color: #d14 } /* Literal.String */
30
+ .highlight .na { color: #008080 } /* Name.Attribute */
31
+ .highlight .nb { color: #0086B3 } /* Name.Builtin */
32
+ .highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
33
+ .highlight .no { color: #008080 } /* Name.Constant */
34
+ .highlight .ni { color: #800080 } /* Name.Entity */
35
+ .highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
36
+ .highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
37
+ .highlight .nn { color: #555555 } /* Name.Namespace */
38
+ .highlight .nt { color: #000080 } /* Name.Tag */
39
+ .highlight .nv { color: #008080 } /* Name.Variable */
40
+ .highlight .ow { font-weight: bold } /* Operator.Word */
41
+ .highlight .w { color: #bbbbbb } /* Text.Whitespace */
42
+ .highlight .mf { color: #009999 } /* Literal.Number.Float */
43
+ .highlight .mh { color: #009999 } /* Literal.Number.Hex */
44
+ .highlight .mi { color: #009999 } /* Literal.Number.Integer */
45
+ .highlight .mo { color: #009999 } /* Literal.Number.Oct */
46
+ .highlight .sb { color: #d14 } /* Literal.String.Backtick */
47
+ .highlight .sc { color: #d14 } /* Literal.String.Char */
48
+ .highlight .sd { color: #d14 } /* Literal.String.Doc */
49
+ .highlight .s2 { color: #d14 } /* Literal.String.Double */
50
+ .highlight .se { color: #d14 } /* Literal.String.Escape */
51
+ .highlight .sh { color: #d14 } /* Literal.String.Heredoc */
52
+ .highlight .si { color: #d14 } /* Literal.String.Interpol */
53
+ .highlight .sx { color: #d14 } /* Literal.String.Other */
54
+ .highlight .sr { color: #009926 } /* Literal.String.Regex */
55
+ .highlight .s1 { color: #d14 } /* Literal.String.Single */
56
+ .highlight .ss { color: #990073 } /* Literal.String.Symbol */
57
+ .highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
58
+ .highlight .vc { color: #008080 } /* Name.Variable.Class */
59
+ .highlight .vg { color: #008080 } /* Name.Variable.Global */
60
+ .highlight .vi { color: #008080 } /* Name.Variable.Instance */
61
+ .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
62
+
63
+ .type-csharp .highlight .k { color: #0000FF }
64
+ .type-csharp .highlight .kt { color: #0000FF }
65
+ .type-csharp .highlight .nf { color: #000000; font-weight: normal }
66
+ .type-csharp .highlight .nc { color: #2B91AF }
67
+ .type-csharp .highlight .nn { color: #000000 }
68
+ .type-csharp .highlight .s { color: #A31515 }
69
+ .type-csharp .highlight .sc { color: #A31515 }
@@ -0,0 +1,287 @@
1
+ @import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);
2
+
3
+ body {
4
+ padding:50px;
5
+ font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
6
+ color:hsl(0, 0%, 25%);
7
+ font-weight:300;
8
+ }
9
+
10
+ h1, h2, h3, h4, h5, h6 {
11
+ color:#222;
12
+ margin:0 0 20px;
13
+ }
14
+
15
+ p, ul, ol, table, pre, dl {
16
+ margin:0 0 20px;
17
+ }
18
+
19
+ h1, h2, h3 {
20
+ line-height:1.1;
21
+ }
22
+
23
+ h1 {
24
+ font-size:28px;
25
+ }
26
+
27
+ h2 {
28
+ color:#393939;
29
+ }
30
+
31
+ h3, h4, h5, h6 {
32
+ color:#494949;
33
+ }
34
+
35
+ a {
36
+ color:#39c;
37
+ font-weight:400;
38
+ text-decoration:none;
39
+ }
40
+
41
+ a:hover {
42
+ color:#069;
43
+ }
44
+
45
+ a small {
46
+ font-size:11px;
47
+ color:#777;
48
+ display:block;
49
+ }
50
+
51
+ a:hover small {
52
+ color:#777;
53
+ }
54
+
55
+ .wrapper {
56
+ width:860px;
57
+ margin:0 auto;
58
+ }
59
+
60
+ blockquote {
61
+ border-left:1px solid #e5e5e5;
62
+ margin:0;
63
+ padding:0 0 0 20px;
64
+ font-style:italic;
65
+ }
66
+
67
+ code, pre {
68
+ font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, monospace;
69
+ color:#333;
70
+ font-size:12px;
71
+ }
72
+
73
+ pre {
74
+ padding:8px 15px;
75
+ background: #f8f8f8;
76
+ border-radius:5px;
77
+ border:1px solid #e5e5e5;
78
+ overflow-x: auto;
79
+ }
80
+
81
+ table {
82
+ width:100%;
83
+ border-collapse:collapse;
84
+ }
85
+
86
+ th, td {
87
+ text-align:left;
88
+ padding:5px 10px;
89
+ border-bottom:1px solid #e5e5e5;
90
+ }
91
+
92
+ dt {
93
+ color:#444;
94
+ font-weight:700;
95
+ }
96
+
97
+ th {
98
+ color:#444;
99
+ }
100
+
101
+ img {
102
+ max-width:100%;
103
+ }
104
+
105
+ header {
106
+ width:270px;
107
+ float:left;
108
+ position:fixed;
109
+ }
110
+
111
+ header ul {
112
+ list-style:none;
113
+ height:40px;
114
+
115
+ padding:0;
116
+
117
+ background: #eee;
118
+ background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
119
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
120
+ background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
121
+ background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
122
+ background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
123
+ background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
124
+
125
+ border-radius:5px;
126
+ border:1px solid #d2d2d2;
127
+ box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0;
128
+ width:270px;
129
+ }
130
+
131
+ header li {
132
+ width:89px;
133
+ float:left;
134
+ border-right:1px solid #d2d2d2;
135
+ height:40px;
136
+ }
137
+
138
+ header li:first-child a {
139
+ border-radius:5px 0 0 5px;
140
+ }
141
+
142
+ header li:last-child a {
143
+ border-radius:0 5px 5px 0;
144
+ }
145
+
146
+ header ul a {
147
+ line-height:1;
148
+ font-size:11px;
149
+ color:#999;
150
+ display:block;
151
+ text-align:center;
152
+ padding-top:5px;
153
+ height:34px;
154
+ }
155
+
156
+ header ul a:hover {
157
+ color:#999;
158
+ background: -moz-linear-gradient(top, #fff 0%, #ddd 100%);
159
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#ddd));
160
+ background: -webkit-linear-gradient(top, #fff 0%,#ddd 100%);
161
+ background: -o-linear-gradient(top, #fff 0%,#ddd 100%);
162
+ background: -ms-linear-gradient(top, #fff 0%,#ddd 100%);
163
+ background: linear-gradient(top, #fff 0%,#ddd 100%);
164
+ }
165
+
166
+ header ul a:active {
167
+ -webkit-box-shadow: inset 0px 2px 2px 0px #ddd;
168
+ -moz-box-shadow: inset 0px 2px 2px 0px #ddd;
169
+ box-shadow: inset 0px 2px 2px 0px #ddd;
170
+ }
171
+
172
+ strong {
173
+ color:#222;
174
+ font-weight:700;
175
+ }
176
+
177
+ header ul li + li {
178
+ width:88px;
179
+ border-left:1px solid #fff;
180
+ }
181
+
182
+ header ul li + li + li {
183
+ border-right:none;
184
+ width:89px;
185
+ }
186
+
187
+ header ul a strong {
188
+ font-size:14px;
189
+ display:block;
190
+ color:#222;
191
+ margin-top: 0.2em;
192
+ }
193
+
194
+ section {
195
+ width:500px;
196
+ float:right;
197
+ padding-bottom:50px;
198
+ }
199
+
200
+ small {
201
+ font-size:11px;
202
+ }
203
+
204
+ hr {
205
+ border:0;
206
+ background:#e5e5e5;
207
+ height:1px;
208
+ margin:0 0 20px;
209
+ }
210
+
211
+ footer {
212
+ width:270px;
213
+ float:left;
214
+ position:fixed;
215
+ bottom:50px;
216
+ }
217
+
218
+ @media print, screen and (max-width: 960px) {
219
+
220
+ div.wrapper {
221
+ width:auto;
222
+ margin:0;
223
+ }
224
+
225
+ header, section, footer {
226
+ float:none;
227
+ position:static;
228
+ width:auto;
229
+ }
230
+
231
+ header {
232
+ padding-right:320px;
233
+ }
234
+
235
+ section {
236
+ border:1px solid #e5e5e5;
237
+ border-width:1px 0;
238
+ padding:20px 0;
239
+ margin:0 0 20px;
240
+ }
241
+
242
+ header a small {
243
+ display:inline;
244
+ }
245
+
246
+ header ul {
247
+ position:absolute;
248
+ right:50px;
249
+ top:52px;
250
+ }
251
+ }
252
+
253
+ @media print, screen and (max-width: 720px) {
254
+ body {
255
+ word-wrap:break-word;
256
+ }
257
+
258
+ header {
259
+ padding:0;
260
+ }
261
+
262
+ header ul, header p.view {
263
+ position:static;
264
+ }
265
+
266
+ pre, code {
267
+ word-wrap:normal;
268
+ }
269
+ }
270
+
271
+ @media print, screen and (max-width: 480px) {
272
+ body {
273
+ padding:15px;
274
+ }
275
+
276
+ header ul {
277
+ display:none;
278
+ }
279
+ }
280
+
281
+ @media print {
282
+ body {
283
+ padding:0.4in;
284
+ font-size:12pt;
285
+ color:#444;
286
+ }
287
+ }