Module: RailLocatorApi
- Defined in:
- lib/rail-locator-api.rb,
lib/rail-locator-api/request.rb,
lib/rail-locator-api/version.rb,
lib/rail-locator-api/response.rb,
lib/rail-locator-api/api_request.rb,
lib/rail-locator-api/rail_locator_api_error.rb,
lib/generators/rail_locator_api/install/install_generator.rb
Defined Under Namespace
Classes: APIRequest, DynamicSetting, InstallGenerator, RailLocatorApiError, Request, Response
Constant Summary
collapse
- VERSION =
"1.0.33"
Class Method Summary
collapse
Class Method Details
.add_reader(name) ⇒ Object
59
60
61
62
63
|
# File 'lib/rail-locator-api.rb', line 59
def add_reader(name)
define_singleton_method(name) do |*args|
send("#{name}_setting").value(*args)
end
end
|
.add_writer(name, type) ⇒ Object
65
66
67
68
69
|
# File 'lib/rail-locator-api.rb', line 65
def add_writer(name, type)
define_singleton_method("#{name}=") do |value|
send("#{name}_setting=", DynamicSetting.build(value, type))
end
end
|
.generate_access_token(code = nil) ⇒ Object
.refresh_access_token ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/rail-locator-api.rb', line 32
def refresh_access_token
payload = "grant_type=refresh_token&client_id=#{RailLocatorApi.keycloak_client_id}&client_secret=#{RailLocatorApi.keycloak_client_secret}&refresh_token=#{RailLocatorApi::Request.refresh_token}&redirect_uri=#{RailLocatorApi.keycloak_redirect_uri}"
connection = Faraday.new(RailLocatorApi.keycloak_token_url, proxy: nil,
ssl: RailLocatorApi::Request.ssl_options || { version: "TLSv1_2" }) do |faraday|
faraday.adapter Faraday.default_adapter
faraday.response :logger, ::Logger.new(STDOUT), bodies: true
end
response = connection.post RailLocatorApi.keycloak_token_url, payload do |request|
request.['accept'] = 'application/json'
end
JSON.parse(response.body)
end
|
.register(name, value, type = nil) ⇒ Object
51
52
53
54
55
56
57
|
# File 'lib/rail-locator-api.rb', line 51
def register(name, value, type = nil)
cattr_accessor "#{name}_setting".to_sym
add_reader(name)
add_writer(name, type)
send "#{name}=", value
end
|
.setup {|_self| ... } ⇒ Object
47
48
49
|
# File 'lib/rail-locator-api.rb', line 47
def setup
yield self
end
|