authz_jurnal_client 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f666ee3dfcb96b541d4d42723339c94c355604d621e63b38ccc6df3a538650c0
4
- data.tar.gz: f284cda68f01a13f457a8d82da96c29c33e41ebba867b542ecf96277f35522bb
3
+ metadata.gz: d451a03c29d40d2db74d2e4ecb7a3af61869f0851603f588ab17fe7f7ff79c0f
4
+ data.tar.gz: 196c69edecba8d9151f1040b3d99d5501a29bacae2758e305aea4e0c78881e06
5
5
  SHA512:
6
- metadata.gz: a52f1516d6fda62d895c46e84fa9f18ebcc7c91a3a593e0b788fe7b04d2416a8258e0a3794fbd091b5b581ca198c4948c6639b31184db2ae3b847316e1d1113d
7
- data.tar.gz: b83d991c7bf622a46f6579e4dbf4b168b48b8d879aeb6f9c042c5903b6c310b242c8d9aeec0340160ddb4fbda427adf55c2892db212d3d4746f67a6371309f93
6
+ metadata.gz: 03dc07308fdd976ca844f90790ff12bd1259d26db55b048206d4aa85b75aefa9d3f63fc919afd9e491630fdb2bdc60db56b6230de6fa54540d6f4ef695a6401d
7
+ data.tar.gz: 034cdd2ba58fe841bf15e21b8a024e79f700e686d7824120e5622ac60b39283a50337a1fa6be8e3dcade4180c09d932275a8d6ec1a77102d66a7bdda498c588c
data/.byebug_history ADDED
@@ -0,0 +1,11 @@
1
+ continue
2
+ d.to_json
3
+ d
4
+ continue
5
+ JSON.parse( j, object_class: OpenStruct).data.roles
6
+ j
7
+ continue
8
+ JSON.parse( j, object_class: OpenStruct).data.roles
9
+ j
10
+ continue
11
+ roles = AuthzJurnalClient::UserRoles.call(1, 1)
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rspec_status ADDED
@@ -0,0 +1,9 @@
1
+ example_id | status | run_time |
2
+ ----------------------------------------- | ------ | --------------- |
3
+ ./spec/authz_jurnal_client_spec.rb[1:1:1] | passed | 0.0031 seconds |
4
+ ./spec/authz_jurnal_client_spec.rb[1:2:1] | passed | 0.01582 seconds |
5
+ ./spec/authz_jurnal_client_spec.rb[1:2:2] | passed | 0.00067 seconds |
6
+ ./spec/authz_jurnal_client_spec.rb[1:3:1] | passed | 0.00443 seconds |
7
+ ./spec/authz_jurnal_client_spec.rb[1:3:2] | passed | 0.00199 seconds |
8
+ ./spec/authz_jurnal_client_spec.rb[1:4:1] | passed | 0.00143 seconds |
9
+ ./spec/authz_jurnal_client_spec.rb[1:4:2] | passed | 0.00153 seconds |
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- authz_jurnal_client (0.0.4)
4
+ authz_jurnal_client (0.0.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -0,0 +1,54 @@
1
+ # AuthzJurnalClient
2
+
3
+ AuthzJurnalClient allows you to access the user roles API directly. It also provides the advantage of managing the caching
4
+
5
+
6
+ ## Installation
7
+
8
+
9
+
10
+ Install the gem thusly in the gemfile
11
+
12
+ ``` markdown
13
+ gem 'authz_jurnal_client' or gem install authz_jurnal_client
14
+ ```
15
+
16
+
17
+ ## Usage
18
+
19
+ TODO: Write usage instructions here
20
+
21
+ ``` Ruby
22
+ Default :
23
+ AuthzJurnalClient::UserRoles.config(authorization: "Basic ApiToken")
24
+ roles = AuthzJurnalClient::UserRoles.call(uid, cid)
25
+ puts roles
26
+
27
+ Customize :
28
+ AuthzJurnalClient::UserRoles.config(redis: "redis://localhost:6379", domain: 'http://mydomain.com', expiry: 3600, authorization: "Basic ApiToken")
29
+ roles = AuthzJurnalClient::UserRoles.call(uid, cid)
30
+ puts roles
31
+ ```
32
+
33
+ The response is a json parsed Openstruct
34
+
35
+ See tests for more details.
36
+
37
+
38
+
39
+ ### For hacking on the GEM
40
+
41
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/authz_jurnal_client`. To experiment with that code, run `bin/console` for an interactive prompt.
42
+
43
+
44
+
45
+
46
+ ## Development
47
+
48
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
49
+
50
+ To install this gem into your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
51
+
52
+ ## Contributing
53
+
54
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/authz_jurnal_client.
Binary file
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AuthzJurnalClient
4
- VERSION = "0.0.4"
4
+ VERSION = "0.0.5"
5
5
  end
@@ -2,6 +2,7 @@ require "ostruct"
2
2
  require "json"
3
3
  require "faraday"
4
4
  require "redis"
5
+ require 'byebug'
5
6
 
6
7
  require_relative "authz_jurnal_client/version"
7
8
 
@@ -12,11 +13,12 @@ module AuthzJurnalClient
12
13
  class << self
13
14
  attr_accessor :redis, :domain, :authorization, :expiry
14
15
  def config(opts = {})
15
- @headers = {"Authorization" => "#{opts[:authorization]}"}
16
+ @authorization = opts[:authorization]
17
+ @headers = {"Authorization" => @authorization}
16
18
  @domain = opts[:domain] || 'http://localhost:3000'
17
19
  redis_path = opts[:redis] || 'redis://localhost:6379'
18
20
  @redis = Redis.new(url: redis_path)
19
- @expiry = opts[:expiry] || 3600 * 5
21
+ @expiry = opts[:expiry] || 3600
20
22
  end
21
23
 
22
24
  def call(id, cid)
@@ -48,8 +50,8 @@ module AuthzJurnalClient
48
50
  end
49
51
 
50
52
  def get_roles(j)
51
- res = JSON.parse(j)
52
- res['data']['roles'] if res['data'] && res['data']['roles']
53
+ data = eval(j)
54
+ JSON.parse( data.to_json, object_class: OpenStruct).data.roles
53
55
  end
54
56
  end
55
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authz_jurnal_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alam Topani
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-02 00:00:00.000000000 Z
11
+ date: 2023-02-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -17,6 +17,9 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
+ - ".byebug_history"
21
+ - ".rspec"
22
+ - ".rspec_status"
20
23
  - Gemfile
21
24
  - Gemfile.lock
22
25
  - README.md
@@ -24,6 +27,7 @@ files:
24
27
  - authz_jurnal_client-0.0.1.gem
25
28
  - authz_jurnal_client-0.0.2.gem
26
29
  - authz_jurnal_client-0.0.3.gem
30
+ - authz_jurnal_client-0.0.4.gem
27
31
  - lib/authz_jurnal_client.rb
28
32
  - lib/authz_jurnal_client/version.rb
29
33
  - lib/sig/authz_jurnal_client.rbs