libgss 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +42 -23
- data/README_ja.md +44 -26
- data/lib/libgss/network.rb +16 -0
- data/lib/libgss/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NWI5MTBmYjkxNGM3OTRjYWZlMzQ5NDYwY2NiZDA5M2ViYmM5Mjc1OQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjNiYTE4YWI0NTljNmJjNzcyZDBmOTY1MmU5ZDU2M2FlMTk2NmVhYw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YzNkMDkxNzIzYzZhNmJkNmQ2MTk2NzYxNWExYzUwYmYxOTBiOWVmNmRkMjkw
|
10
|
+
NDg5OWJiZGU4YjJkODc2ZjBkOWU1NWFmYjZiZDQ4ZDgyMTE1NWVjYjRhYjY0
|
11
|
+
YmFlNDM0MDBmMWFiYmI1Mjg0NmFiMDZhNGM4YzFkMGM2ZjE2YTA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZDE4MDBmNGI1MzFjNzdjZTI5OTc1MDA0NGQ4ZDkzODA4OTBhOTllNDhmOGNm
|
14
|
+
MTVlYWNlN2RmNzYwMjBlMDk5OTIzNWYxY2FiZmRiZTNiZjBiMTdkNDgxOTNl
|
15
|
+
ODU2MWFjNDVjOTRmMzZhNGE3ZDA4MjQ4MThmZDRiYzAyY2FiMTQ=
|
data/README.md
CHANGED
@@ -22,26 +22,45 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
25
|
+
```
|
26
|
+
$ irb -r libgss
|
27
|
+
|
28
|
+
>> network = Libgss::Network.new("http://localhost:3000", ssl_disabled: true)
|
29
|
+
=> #<Libgss::Network:2152782140 @ssl_disabled=true, @base_url="http://localhost:3000", @ssl_base_url="http://localhost:3000", @platform="fontana">
|
30
|
+
>> network.player_id = "1000001"
|
31
|
+
=> "1000001"
|
32
|
+
>> network.login
|
33
|
+
=> true
|
34
|
+
>>
|
35
|
+
?> req1 = network.new_action_request
|
36
|
+
=> #<Libgss::ActionRequest:2152568320 @action_url="http://localhost:3000/api/1.0.0/actions.json?auth_token=259rKDuSb3CT1UxbywAf", @status=0, @actions=[], @action_id=0>
|
37
|
+
>> req1.execute("ItemRubyStoredScript", "use_item", {"item_cd" => "20001"})
|
38
|
+
=> #<Libgss::Action:0x0000010092f7b0 @id=1, @args={:action=>"execute", :name=>"ItemRubyStoredScript", :key=>"use_item", :args=>{"item_cd"=>"20001"}}>
|
39
|
+
>> req1.get_by_game_data
|
40
|
+
=> #<Libgss::Action:0x000001008f9188 @id=2, @args={:action=>"get", :name=>"GameData"}>
|
41
|
+
>> req1.send_request
|
42
|
+
=> nil
|
43
|
+
>>
|
44
|
+
?> req1.outputs
|
45
|
+
=> [{"result"=>"You don't have enough item", "id"=>1}, {"result"=>{"content"=>{"hp"=>15, "max_hp"=>15, "mp"=>5, "max_mp"=>5, "exp"=>100, "money"=>200, "items"=>{"20001"=>0, "20005"=>1}, "equipments"=>{"head"=>10018, "body"=>10012, "right_hand"=>10001, "left_hand"=>nil}}, "greeting_points"=>0, "login_bonus"=>[[10001, 1]], "invitation_code"=>nil, "invite_player"=>nil, "read_notifications"=>[]}, "id"=>2}]
|
46
|
+
>>
|
47
|
+
?> req1.outputs.get(1)
|
48
|
+
=> {"result"=>"You don't have enough item", "id"=>1}
|
49
|
+
```
|
50
|
+
|
51
|
+
|
52
|
+
## connection testing
|
53
|
+
|
54
|
+
You can use `gss-server-time` command to test connection like this:
|
55
|
+
|
56
|
+
```
|
57
|
+
$ gss-server-time http://localhost:3000 -a path/to/app_garden.yml.erb
|
58
|
+
```
|
59
|
+
|
60
|
+
or
|
61
|
+
|
62
|
+
```
|
63
|
+
$ gss-server-time http://localhost:3000 -p fontana -c <consumer_secret> -i <player_id>
|
64
|
+
```
|
65
|
+
|
66
|
+
see `gss-server-time --help` for more options
|
data/README_ja.md
CHANGED
@@ -30,32 +30,50 @@ libgss-rubyはGroovenautsのGSS用通信ライブラリです。
|
|
30
30
|
|
31
31
|
手動で以下のコマンドを実行してインストールできます:
|
32
32
|
|
33
|
-
|
33
|
+
```
|
34
|
+
$ gem install libgss
|
35
|
+
```
|
34
36
|
|
35
37
|
## irbでの使用方法
|
36
38
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
39
|
+
```
|
40
|
+
$ irb -r libgss
|
41
|
+
|
42
|
+
>> network = Libgss::Network.new("http://localhost:3000", ssl_disabled: true)
|
43
|
+
=> #<Libgss::Network:2152782140 @ssl_disabled=true, @base_url="http://localhost:3000", @ssl_base_url="http://localhost:3000", @platform="fontana">
|
44
|
+
>> network.player_id = "1000001"
|
45
|
+
=> "1000001"
|
46
|
+
>> network.login
|
47
|
+
=> true
|
48
|
+
>>
|
49
|
+
?> req1 = network.new_action_request
|
50
|
+
=> #<Libgss::ActionRequest:2152568320 @action_url="http://localhost:3000/api/1.0.0/actions.json?auth_token=259rKDuSb3CT1UxbywAf", @status=0, @actions=[], @action_id=0>
|
51
|
+
>> req1.execute("ItemRubyStoredScript", "use_item", {"item_cd" => "20001"})
|
52
|
+
=> #<Libgss::Action:0x0000010092f7b0 @id=1, @args={:action=>"execute", :name=>"ItemRubyStoredScript", :key=>"use_item", :args=>{"item_cd"=>"20001"}}>
|
53
|
+
>> req1.get_by_game_data
|
54
|
+
=> #<Libgss::Action:0x000001008f9188 @id=2, @args={:action=>"get", :name=>"GameData"}>
|
55
|
+
>> req1.send_request
|
56
|
+
=> nil
|
57
|
+
>>
|
58
|
+
?> req1.outputs
|
59
|
+
=> [{"result"=>"You don't have enough item", "id"=>1}, {"result"=>{"content"=>{"hp"=>15, "max_hp"=>15, "mp"=>5, "max_mp"=>5, "exp"=>100, "money"=>200, "items"=>{"20001"=>0, "20005"=>1}, "equipments"=>{"head"=>10018, "body"=>10012, "right_hand"=>10001, "left_hand"=>nil}}, "greeting_points"=>0, "login_bonus"=>[[10001, 1]], "invitation_code"=>nil, "invite_player"=>nil, "read_notifications"=>[]}, "id"=>2}]
|
60
|
+
>>
|
61
|
+
?> req1.outputs.get(1)
|
62
|
+
=> {"result"=>"You don't have enough item", "id"=>1}
|
63
|
+
```
|
64
|
+
|
65
|
+
## 接続確認
|
66
|
+
|
67
|
+
上記のirbでの接続テストを1コマンドで実行できるように`gss-server-time`コマンドを用意しています。
|
68
|
+
|
69
|
+
```
|
70
|
+
$ gss-server-time http://localhost:3000 -a path/to/app_garden.yml.erb
|
71
|
+
```
|
72
|
+
|
73
|
+
あるいは
|
74
|
+
|
75
|
+
```
|
76
|
+
$ gss-server-time http://localhost:3000 -p fontana -c <consumer_secret> -i <player_id>
|
77
|
+
```
|
78
|
+
|
79
|
+
という風に使用します。詳しくは `gss-server-time --help` を参照してください。
|
data/lib/libgss/network.rb
CHANGED
@@ -33,6 +33,15 @@ module Libgss
|
|
33
33
|
TEST_HTTP_PORT = 3000
|
34
34
|
TEST_HTTPS_PORT = 3001
|
35
35
|
|
36
|
+
# Libgss::Networkのコンストラクタです。
|
37
|
+
#
|
38
|
+
# @param [String] base_url_or_host 接続先の基準となるURLあるいはホスト名
|
39
|
+
# @param [Hash] options オプション
|
40
|
+
# @option options [String] :platform 接続先のGSSサーバの認証のプラットフォーム。デフォルトは"fontana"。
|
41
|
+
# @option options [String] :player_id 接続に使用するプレイヤのID
|
42
|
+
# @option options [String] :consumer_secret GSSサーバとクライアントの間で行う署名の検証に使用される文字列。
|
43
|
+
# @option options [Boolean] :ssl_disabled SSLを無効にするかどうか。
|
44
|
+
# @option options [Boolean] :ignore_signature_key シグネチャキーによる署名を行うかどうか
|
36
45
|
def initialize(base_url_or_host, options = {})
|
37
46
|
@ssl_disabled = options.delete(:ssl_disabled)
|
38
47
|
if base_url_or_host =~ URI.regexp
|
@@ -61,6 +70,13 @@ module Libgss
|
|
61
70
|
r << fields.join(", ") << ">"
|
62
71
|
end
|
63
72
|
|
73
|
+
|
74
|
+
# GSSサーバに接続してログインの検証と処理を行います。
|
75
|
+
#
|
76
|
+
# @param [String] base_url_or_host 接続先の基準となるURLあるいはホスト名
|
77
|
+
# @param [Hash] options オプション
|
78
|
+
# @option options [String] :platform 接続先のGSSサーバの認証のプラットフォーム。デフォルトは"fontana"。
|
79
|
+
# @return [Boolean] ログインに成功した場合はtrue、失敗した場合はfalse
|
64
80
|
def login(extra = {})
|
65
81
|
attrs = { "player[id]" => player_id }
|
66
82
|
extra.each{|k, v| attrs[ "player[#{k}]" ] = v }
|
data/lib/libgss/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libgss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akima
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|