rest-gw2 0.1.0 → 0.2.0

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.
@@ -0,0 +1,4 @@
1
+
2
+ module RestGW2
3
+ VERSION = '0.2.0'
4
+ end
@@ -0,0 +1 @@
1
+ Error: <%= h @error %>
@@ -0,0 +1,16 @@
1
+ <h1>Enter your <a href="https://account.arena.net/applications">API Key</a> to browse your data</h1>
2
+ <h2>Features:</h2>
3
+ <ul>
4
+ <li>No data is stored at all. Your data is free.</li>
5
+ <li>However, there's a 10 minutes cache to improve user experience.</li>
6
+ <li>You could paste your URL for other people to browse your data.</li>
7
+ <li>Your API Key is encrypted with AES128-GCM in the URL. (namely, t=...)
8
+ Therefore your API Key is safe and hidden to 3rd party.</li>
9
+ <li>Give whatever permissions.
10
+ Data without permission would simply be hidden or ignored.</li>
11
+ <li>Feel free to share your data on the
12
+ <a href="https://github.com/godfat/rest-gw2/issues">issue tracker</a>,
13
+ or report issues, of course. This is
14
+ <a href="https://github.com/godfat/rest-gw2/issues/1">godfat.2604</a>.
15
+ </li>
16
+ </ul>
@@ -0,0 +1,17 @@
1
+ <table>
2
+ <% @info.each do |key, value| %>
3
+ <% if value.kind_of?(Array) %>
4
+ <% value.each.with_index do |v, i| %>
5
+ <tr>
6
+ <th><%= h key %> (<%= i %>)</th>
7
+ <td><%= h v %></td>
8
+ </tr>
9
+ <% end %>
10
+ <% else %>
11
+ <tr>
12
+ <th><%= h key %></th>
13
+ <td><%= h value %></td>
14
+ </tr>
15
+ <% end %>
16
+ <% end %>
17
+ </table>
@@ -0,0 +1,18 @@
1
+ Total: <%= price(@buy) %> / <%= price(@sell) %>
2
+ <ul class="item">
3
+ <% @items.each do |item| %>
4
+ <li>
5
+ <% if item %>
6
+ <%= item_wiki(item) %>
7
+ <span class="description">
8
+ <%= h item['name'] || "?#{item['id']}?" %>
9
+ <%= h item_count(item) %>
10
+ <br/>
11
+ <%= item_price(item) %>
12
+ </span>
13
+ <% else %>
14
+ <%= blank_icon %>
15
+ <% end %>
16
+ </li>
17
+ <% end %>
18
+ </ul>
@@ -0,0 +1,57 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
4
+ <head profile="http://www.w3.org/2005/10/profile">
5
+ <meta http-equiv="Content-Type"
6
+ content="application/xhtml+xml; charset=utf-8"/>
7
+ <meta name="description"
8
+ content="GW2 Account Browser allows you to browse your data"/>
9
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
10
+ <link rel="icon" type="image/png" href="https://render.guildwars2.com/file/220061640ECA41C0577758030357221B4ECCE62C/502065.png"/>
11
+ <title>GW2 Account Browser</title>
12
+ <style type="text/css">
13
+ .menu li{ display: inline-block; }
14
+ .menu li:before{ content: '| '; }
15
+ .menu li:first-child:before{ content: none; }
16
+ .item li{ display: inline-block; border: 1px solid;
17
+ width: 40%; max-width: 400px;
18
+ padding: 5px; margin: 5px; }
19
+ .description{ display: inline-block; vertical-align: middle;
20
+ white-space: nowrap; max-width: 330px;
21
+ overflow: hidden; text-overflow: ellipsis; }
22
+ .description:hover{ overflow: visible; }
23
+ .icon { width: 64px; height: 64px; vertical-align: middle; }
24
+ .missing{ opacity: 0.4; }
25
+ .price{ vertical-align: -1.5px; padding-left: 1px; }
26
+ </style>
27
+ </head>
28
+ <body>
29
+ <div id="menu">
30
+ <%= erb :menu %>
31
+ </div>
32
+ <div id="access_token">
33
+ <form method="post" enctype="application/x-www-form-urlencoded"
34
+ action="<%= path('/access_token') %>">
35
+ <input type="hidden" name="referrer"
36
+ value="<%= path(request.path) %>"/>
37
+ API Key:
38
+ <input type="text" id="access_token_input" name="access_token"
39
+ size="72" minlength="72" maxlength="72"
40
+ onclick="this.select()"/>
41
+ </form>
42
+ </div>
43
+ <div id="content">
44
+ <hr/>
45
+ <%= yield %>
46
+ </div>
47
+ <div id="footer">
48
+ <a href="https://www.godfat.org/gw2/">Site</a>
49
+ /
50
+ <a href="https://github.com/godfat/rest-gw2">Source</a>
51
+ /
52
+ <a href="https://github.com/godfat/rest-gw2/issues">Help</a>
53
+ &copy;
54
+ 2015 Lin Jen-Shin (godfat.2604)
55
+ </div>
56
+ </body>
57
+ </html>
@@ -0,0 +1,15 @@
1
+ <ul class="menu">
2
+ <li><%= menu('/', 'Home') %></li>
3
+ <li><%= menu('/account', 'Account') %></li>
4
+ <li><%= menu('/characters', 'Characters') %></li>
5
+ <li><%= menu('/dyes', 'Dyes') %></li>
6
+ <li><%= menu('/skins', 'Skins') %></li>
7
+ <li><%= menu('/minis', 'Minis') %></li>
8
+ <li><%= menu('/achievements', 'Achievements') %></li>
9
+ <li><%= menu('/bank', 'Bank') %></li>
10
+ <li><%= menu('/materials', 'Materials') %></li>
11
+ <li><%= menu('/wallet', 'Wallet') %></li>
12
+ <li><%= menu_trans('/buying', 'Transactions') %></li>
13
+ <li><%= menu('/tokeninfo', 'Info') %></li>
14
+ <li><a href="<%= refresh_path %>">Refresh</a></li>
15
+ </ul>
@@ -0,0 +1,7 @@
1
+ <ul class="menu">
2
+ <% if @pages.size > 2 %>
3
+ <% @pages.each do |p| %>
4
+ <li><%= page(p) %></li>
5
+ <% end %>
6
+ <% end %>
7
+ </ul>
@@ -0,0 +1,28 @@
1
+ <ul class="menu">
2
+ <li><%= menu_trans('/buying', 'Buying') %></li>
3
+ <li><%= menu_trans('/selling', 'Selling') %></li>
4
+ <li><%= menu_trans('/bought', 'Bought') %></li>
5
+ <li><%= menu_trans('/sold', 'Sold') %></li>
6
+ </ul>
7
+
8
+ <%= erb :pages %>
9
+
10
+ Total: <%= price(@total) %>
11
+ <ul class="item">
12
+ <% @trans.each do |trans| %>
13
+ <li>
14
+ <%= item_wiki(trans) %>
15
+ <span class="description">
16
+ <%= h trans['name'] || "?#{trans['id']}?" %>
17
+ <%= h item_count(trans) %>
18
+ <br/>
19
+ <%= price(trans['price']) %>
20
+ <%= abbr_time_ago(trans['purchased'] || trans['created']) %>
21
+ <br/>
22
+ <%= item_price(trans) %>
23
+ </span>
24
+ </li>
25
+ <% end %>
26
+ </ul>
27
+
28
+ <%= erb :pages %>
@@ -0,0 +1,16 @@
1
+ <ul class="item">
2
+ <% @wallet.each do |currency| %>
3
+ <li>
4
+ <%= item_wiki(currency) %>
5
+ <span class="description">
6
+ <%= h currency['name'] %>
7
+ <br/>
8
+ <% if currency['name'] == 'Coin' %>
9
+ <%= price(currency['value']) %>
10
+ <% else %>
11
+ <%= h currency['value'].to_s.gsub(/(\d)(?=\d{3}+$)/, '\1,') %>
12
+ <% end %>
13
+ </span>
14
+ </li>
15
+ <% end %>
16
+ </ul>
@@ -0,0 +1 @@
1
+ Under construction...
data/rest-gw2.gemspec CHANGED
@@ -1,43 +1,74 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rest-gw2 0.1.0 ruby lib
2
+ # stub: rest-gw2 0.2.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rest-gw2"
6
- s.version = "0.1.0"
6
+ s.version = "0.2.0"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
10
10
  s.authors = ["Lin Jen-Shin (godfat)"]
11
- s.date = "2015-11-14"
11
+ s.date = "2015-12-28"
12
12
  s.description = "A very simple [Guild Wars 2 API](https://wiki.guildwars2.com/wiki/API:Main)\nclient built with [rest-core](https://github.com/godfat/rest-core).\n\nThere's also a bundled web application showing your items, serving as an\nexample using the client."
13
13
  s.email = ["godfat (XD) godfat.org"]
14
+ s.executables = ["rest-gw2"]
14
15
  s.files = [
15
16
  ".gitignore",
16
17
  ".gitmodules",
18
+ "CHANGES.md",
19
+ "LICENSE",
17
20
  "README.md",
18
21
  "Rakefile",
22
+ "bin/rest-gw2",
19
23
  "config.ru",
20
24
  "lib/rest-gw2.rb",
21
25
  "lib/rest-gw2/client.rb",
22
26
  "lib/rest-gw2/server.rb",
23
- "lib/rest-gw2/view/bank.erb",
27
+ "lib/rest-gw2/server/cache.rb",
28
+ "lib/rest-gw2/server/runner.rb",
29
+ "lib/rest-gw2/version.rb",
30
+ "lib/rest-gw2/view/error.erb",
31
+ "lib/rest-gw2/view/index.erb",
32
+ "lib/rest-gw2/view/info.erb",
33
+ "lib/rest-gw2/view/items.erb",
34
+ "lib/rest-gw2/view/layout.erb",
35
+ "lib/rest-gw2/view/menu.erb",
36
+ "lib/rest-gw2/view/pages.erb",
37
+ "lib/rest-gw2/view/transactions.erb",
38
+ "lib/rest-gw2/view/wallet.erb",
39
+ "lib/rest-gw2/view/wip.erb",
24
40
  "rest-gw2.gemspec",
25
41
  "task/README.md",
26
42
  "task/gemgem.rb"]
27
43
  s.homepage = "https://github.com/godfat/rest-gw2"
28
44
  s.licenses = ["Apache License 2.0"]
29
- s.rubygems_version = "2.5.0"
45
+ s.rubygems_version = "2.5.1"
30
46
  s.summary = "A very simple [Guild Wars 2 API](https://wiki.guildwars2.com/wiki/API:Main)"
31
47
 
32
48
  if s.respond_to? :specification_version then
33
49
  s.specification_version = 4
34
50
 
35
51
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
36
- s.add_runtime_dependency(%q<rest-core>, [">= 0"])
52
+ s.add_runtime_dependency(%q<rest-core>, [">= 3.5.92"])
53
+ s.add_development_dependency(%q<jellyfish>, [">= 0"])
54
+ s.add_development_dependency(%q<rack>, [">= 0"])
55
+ s.add_development_dependency(%q<rack-handlers>, [">= 0"])
56
+ s.add_development_dependency(%q<dalli>, [">= 0"])
57
+ s.add_development_dependency(%q<lru_redux>, [">= 0"])
37
58
  else
38
- s.add_dependency(%q<rest-core>, [">= 0"])
59
+ s.add_dependency(%q<rest-core>, [">= 3.5.92"])
60
+ s.add_dependency(%q<jellyfish>, [">= 0"])
61
+ s.add_dependency(%q<rack>, [">= 0"])
62
+ s.add_dependency(%q<rack-handlers>, [">= 0"])
63
+ s.add_dependency(%q<dalli>, [">= 0"])
64
+ s.add_dependency(%q<lru_redux>, [">= 0"])
39
65
  end
40
66
  else
41
- s.add_dependency(%q<rest-core>, [">= 0"])
67
+ s.add_dependency(%q<rest-core>, [">= 3.5.92"])
68
+ s.add_dependency(%q<jellyfish>, [">= 0"])
69
+ s.add_dependency(%q<rack>, [">= 0"])
70
+ s.add_dependency(%q<rack-handlers>, [">= 0"])
71
+ s.add_dependency(%q<dalli>, [">= 0"])
72
+ s.add_dependency(%q<lru_redux>, [">= 0"])
42
73
  end
43
74
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-gw2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lin Jen-Shin (godfat)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-14 00:00:00.000000000 Z
11
+ date: 2015-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-core
@@ -16,9 +16,79 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 3.5.92
20
20
  type: :runtime
21
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 3.5.92
27
+ - !ruby/object:Gem::Dependency
28
+ name: jellyfish
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rack
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rack-handlers
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: dalli
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: lru_redux
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
22
92
  version_requirements: !ruby/object:Gem::Requirement
23
93
  requirements:
24
94
  - - ">="
@@ -32,19 +102,35 @@ description: |-
32
102
  example using the client.
33
103
  email:
34
104
  - godfat (XD) godfat.org
35
- executables: []
105
+ executables:
106
+ - rest-gw2
36
107
  extensions: []
37
108
  extra_rdoc_files: []
38
109
  files:
39
110
  - ".gitignore"
40
111
  - ".gitmodules"
112
+ - CHANGES.md
113
+ - LICENSE
41
114
  - README.md
42
115
  - Rakefile
116
+ - bin/rest-gw2
43
117
  - config.ru
44
118
  - lib/rest-gw2.rb
45
119
  - lib/rest-gw2/client.rb
46
120
  - lib/rest-gw2/server.rb
47
- - lib/rest-gw2/view/bank.erb
121
+ - lib/rest-gw2/server/cache.rb
122
+ - lib/rest-gw2/server/runner.rb
123
+ - lib/rest-gw2/version.rb
124
+ - lib/rest-gw2/view/error.erb
125
+ - lib/rest-gw2/view/index.erb
126
+ - lib/rest-gw2/view/info.erb
127
+ - lib/rest-gw2/view/items.erb
128
+ - lib/rest-gw2/view/layout.erb
129
+ - lib/rest-gw2/view/menu.erb
130
+ - lib/rest-gw2/view/pages.erb
131
+ - lib/rest-gw2/view/transactions.erb
132
+ - lib/rest-gw2/view/wallet.erb
133
+ - lib/rest-gw2/view/wip.erb
48
134
  - rest-gw2.gemspec
49
135
  - task/README.md
50
136
  - task/gemgem.rb
@@ -68,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
154
  version: '0'
69
155
  requirements: []
70
156
  rubyforge_project:
71
- rubygems_version: 2.5.0
157
+ rubygems_version: 2.5.1
72
158
  signing_key:
73
159
  specification_version: 4
74
160
  summary: A very simple [Guild Wars 2 API](https://wiki.guildwars2.com/wiki/API:Main)
@@ -1,25 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-TW">
4
- <head profile="http://www.w3.org/2005/10/profile">
5
- <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
6
- <meta name="description" content="godfat.org"/>
7
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
- <title>GW2 Bank</title>
9
- </head>
10
- <body>
11
- <ul>
12
- <% @items.each do |item| %>
13
- <li>
14
- <% if item %>
15
- <img src="<%= item['icon'] %>" style="width:64px; height:64px"
16
- title="<%= item_title(item) %>"/>
17
- (<%= item['count'] %>) <%= item['name'] %>
18
- <% else %>
19
- N/A
20
- <% end %>
21
- </li>
22
- <% end %>
23
- </ul>
24
- </body>
25
- </html>