Client.initialize()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
c 2
b 0
f 1
dl 0
loc 11
rs 9.4285
cc 1
1
require 'multi_json'
2
3
require 'glip_sdk/rest/cache/groups'
4
5
module GlipSdk
6
  module REST
7
    class Client
8
      attr_accessor :api
9
      attr_accessor :logger
10
      attr_accessor :groups
11
      attr_accessor :groups_cache
12
      attr_accessor :persons
13
      attr_accessor :posts
14
15
      def initialize(rc_sdk)
16
        @api = rc_sdk
17
        @logger = @api.config.logger
18
        puts ">>>\nGLIP_SCK_LOGGER_NAME [#{@api.config.logger.class.name}]\n<<<\n"
19
20
        @groups_cache = GlipSdk::REST::Cache::Groups.new
21
22
        @groups = GlipSdk::REST::Groups.new @api
23
        @persons = GlipSdk::REST::Persons.new @api
24
        @posts = GlipSdk::REST::Posts.new @api
25
      end
26
27
      def load_groups_cache(filepath = nil)
28
        if !filepath.nil? && File.exist?(filepath)
29
          groups_json = IO.read filepath
30
          all_groups = MultiJson.decode groups_json
31
          @groups_cache.load_groups all_groups
32
        else
33
          @groups_cache.load_groups @groups.all_groups          
34
        end
35
36
        @posts.groups_cache = @groups_cache
37
      end
38
    end
39
  end
40
end
41