authlete 0.4.2 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/authlete.rb +1 -0
- data/lib/authlete/model/client-extension.rb +136 -0
- data/lib/authlete/model/client.rb +10 -0
- data/lib/authlete/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 782c3e29ae7af7bae3656c1f297dfac9517fa051
|
4
|
+
data.tar.gz: 620fb60d78b1129230ac04c7d2bfc612abc1353b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6a80980f818568e66c21a70fc27fde43ced88be405b6e17c81c0b355bd01ef6a40b384bcdd2279014e990fc26b3f926a0169bda318e3ec0b40a09108c0a62a3
|
7
|
+
data.tar.gz: b1b10886724286e9fb0103ef041e28485f6d79015684f9ca25c275c05872e65a01ccd6b12819839ce9cb066a9e1ee1679835958070de6a9ed817228f5dc02d6a
|
data/lib/authlete.rb
CHANGED
@@ -31,6 +31,7 @@ module Authlete
|
|
31
31
|
autoload :Hashable, 'authlete/model/hashable'
|
32
32
|
autoload :Client, 'authlete/model/client'
|
33
33
|
autoload :ClientList, 'authlete/model/client-list'
|
34
|
+
autoload :ClientExtension, 'authlete/model/client-extension'
|
34
35
|
autoload :Result, 'authlete/model/result'
|
35
36
|
autoload :Scope, 'authlete/model/scope'
|
36
37
|
autoload :Service, 'authlete/model/service'
|
@@ -0,0 +1,136 @@
|
|
1
|
+
# :nodoc:
|
2
|
+
#
|
3
|
+
# Copyright (C) 2014-2015 Authlete, Inc.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
|
18
|
+
require 'set'
|
19
|
+
|
20
|
+
|
21
|
+
module Authlete
|
22
|
+
module Model
|
23
|
+
class ClientExtension < Authlete::Model::Hashable
|
24
|
+
include Authlete::Utility
|
25
|
+
|
26
|
+
# The set of scopes that a client application is allowed to request.
|
27
|
+
# (String array)
|
28
|
+
attr_accessor :requestableScopes
|
29
|
+
alias_method :requestable_scopes, :requestableScopes
|
30
|
+
alias_method :requestable_scopes=, :requestableScopes=
|
31
|
+
|
32
|
+
# The flag to show whether a client application can only request
|
33
|
+
# the set of scopes that it is allowed to request or it can request
|
34
|
+
# all of the scopes that the service supports. (Boolean)
|
35
|
+
attr_accessor :requestableScopesEnabled
|
36
|
+
alias_method :requestable_scopes_enabled, :requestableScopesEnabled
|
37
|
+
alias_method :requestable_scopes_enabled=, :requestableScopesEnabled=
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
# Boolean attributes.
|
42
|
+
BOOLEAN_ATTRIBUTES = ::Set.new([
|
43
|
+
:requestableScopesEnabled
|
44
|
+
])
|
45
|
+
|
46
|
+
# String array attributes.
|
47
|
+
STRING_ARRAY_ATTRIBUTES = ::Set.new([
|
48
|
+
:requestableScopes
|
49
|
+
])
|
50
|
+
|
51
|
+
# Mapping from snake cases to camel cases.
|
52
|
+
SNAKE_TO_CAMEL = {
|
53
|
+
:requestable_scopes => :requestableScopes,
|
54
|
+
:requestable_scopes_enabled => :requestableScopesEnabled
|
55
|
+
}
|
56
|
+
|
57
|
+
# The constructor
|
58
|
+
def initialize(hash = nil)
|
59
|
+
# Set default values to boolean attributes.
|
60
|
+
BOOLEAN_ATTRIBUTES.each do |attr|
|
61
|
+
send("#{attr}=", false)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Set default values to string array attributes.
|
65
|
+
STRING_ARRAY_ATTRIBUTES.each do |attr|
|
66
|
+
send("#{attr}=", nil)
|
67
|
+
end
|
68
|
+
|
69
|
+
# Set attribute values using the given hash.
|
70
|
+
authlete_model_update(hash)
|
71
|
+
end
|
72
|
+
|
73
|
+
def authlete_model_convert_key(key)
|
74
|
+
key = key.to_sym
|
75
|
+
|
76
|
+
# Convert snakecase to camelcase, if necessary.
|
77
|
+
if SNAKE_TO_CAMEL.has_key?(key)
|
78
|
+
key = SNAKE_TO_CAMEL[key]
|
79
|
+
end
|
80
|
+
|
81
|
+
key
|
82
|
+
end
|
83
|
+
|
84
|
+
def authlete_model_simple_attribute?(key)
|
85
|
+
BOOLEAN_ATTRIBUTES.include?(key) or
|
86
|
+
STRING_ARRAY_ATTRIBUTES.include?(key)
|
87
|
+
end
|
88
|
+
|
89
|
+
def authlete_model_update(hash)
|
90
|
+
return if hash.nil?
|
91
|
+
|
92
|
+
hash.each do |key, value|
|
93
|
+
key = authlete_model_convert_key(key)
|
94
|
+
|
95
|
+
if authlete_model_simple_attribute?(key)
|
96
|
+
send("#{key}=", value)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
self
|
101
|
+
end
|
102
|
+
|
103
|
+
public
|
104
|
+
|
105
|
+
# Construct an instance from the given hash.
|
106
|
+
#
|
107
|
+
# If the given argument is nil or is not a Hash, nil is returned.
|
108
|
+
# Otherwise, ClientList.new(hash) is returned.
|
109
|
+
def self.parse(hash)
|
110
|
+
if hash.nil? or (hash.kind_of?(Hash) == false)
|
111
|
+
return nil
|
112
|
+
end
|
113
|
+
|
114
|
+
return ClientExtension.new(hash)
|
115
|
+
end
|
116
|
+
|
117
|
+
# Convert this object into a hash.
|
118
|
+
def to_hash
|
119
|
+
hash = {}
|
120
|
+
|
121
|
+
instance_variables.each do |var|
|
122
|
+
key = var.to_s.delete("@").to_sym
|
123
|
+
val = instance_variable_get(var)
|
124
|
+
|
125
|
+
if authlete_model_simple_attribute?(key) or val.nil?
|
126
|
+
hash[key] = val
|
127
|
+
elsif val.kind_of?(Array)
|
128
|
+
hash[key] = val.map { |element| element.to_hash }
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
hash
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
@@ -260,6 +260,9 @@ module Authlete
|
|
260
260
|
alias_method :modified_at, :modifiedAt
|
261
261
|
alias_method :modified_at=, :modifiedAt=
|
262
262
|
|
263
|
+
# (ClientExtension)
|
264
|
+
attr_accessor :extension
|
265
|
+
|
263
266
|
private
|
264
267
|
|
265
268
|
# Integer attributes.
|
@@ -360,6 +363,8 @@ module Authlete
|
|
360
363
|
send("#{attr}=", nil)
|
361
364
|
end
|
362
365
|
|
366
|
+
@extension = nil
|
367
|
+
|
363
368
|
# Set attribute values using the given hash.
|
364
369
|
authlete_model_update(hash)
|
365
370
|
end
|
@@ -397,6 +402,8 @@ module Authlete
|
|
397
402
|
end
|
398
403
|
|
399
404
|
send("#{key}=", parsed)
|
405
|
+
elsif key == :extension
|
406
|
+
@extension = Authlete::Model::ClientExtension.new(value)
|
400
407
|
end
|
401
408
|
end
|
402
409
|
|
@@ -434,6 +441,9 @@ module Authlete
|
|
434
441
|
hash[key] = val
|
435
442
|
elsif val.kind_of?(Array)
|
436
443
|
hash[key] = val.map { |element| element.to_hash }
|
444
|
+
else
|
445
|
+
# For attributes such as :extension
|
446
|
+
hash[key] = val.to_hash
|
437
447
|
end
|
438
448
|
end
|
439
449
|
|
data/lib/authlete/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authlete
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takahiko Kawasaki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -70,6 +70,7 @@ files:
|
|
70
70
|
- lib/authlete/api.rb
|
71
71
|
- lib/authlete/authentication-server.rb
|
72
72
|
- lib/authlete/exception.rb
|
73
|
+
- lib/authlete/model/client-extension.rb
|
73
74
|
- lib/authlete/model/client-list.rb
|
74
75
|
- lib/authlete/model/client.rb
|
75
76
|
- lib/authlete/model/hashable.rb
|