Class: Caseblocks::Bucket

Inherits:
Object
  • Object
show all
Defined in:
lib/caseblocks/bucket.rb

Overview

Since:

  • 0.1.0

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bucket_data, client) ⇒ Bucket

Returns a new instance of Bucket.

Since:

  • 0.1.0



14
15
16
17
# File 'lib/caseblocks/bucket.rb', line 14

def initialize(bucket_data, client)
  @client = client
  @bucket_data = bucket_data
end

Class Method Details

.all(client) ⇒ Object

Since:

  • 0.1.0



4
5
6
7
# File 'lib/caseblocks/bucket.rb', line 4

def self.all(client)
  res = client.request("/case_blocks/buckets.json")
  res["buckets"].map{|bucket| Caseblocks::Bucket.new(bucket, client)}
end

.find(id, client) ⇒ Object

Since:

  • 0.1.0



9
10
11
12
# File 'lib/caseblocks/bucket.rb', line 9

def self.find(id, client)
  res = client.request("/case_blocks/buckets/#{id}.json")
  return Bucket.new(res["bucket"], client)
end

Instance Method Details

#case_typeObject

Since:

  • 0.1.0



26
27
28
# File 'lib/caseblocks/bucket.rb', line 26

def case_type
  @case_type ||= Caseblocks::CaseType.find(case_type_id, @client)
end

#case_type_idObject

Since:

  • 0.1.0



30
31
32
# File 'lib/caseblocks/bucket.rb', line 30

def case_type_id
  @bucket_data["case_type_id"] || @bucket_data["work_type_id"] || @bucket_data["people_type_id"] || @bucket_data["organization_type_id"]
end

#cases(options = {}) ⇒ Object

Since:

  • 0.1.0



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/caseblocks/bucket.rb', line 35

def cases(options={})
  res = @client.request("case_blocks/bucket_stats/#{id}")
  total_results = res["bucket_summary"]["total"]

  page = options[:page] || 0
  page_size = options[:page_size] || 10

  case_list = []

  (0..total_results/page_size).each do |page|
    query = {:bucket_id => id, :page => page, :page_size => page_size}.map{|k,v| "#{k}=#{v}"}.join("&")
    case_list += res = @client.request("/case_blocks/#{case_type.code}?#{query}")[case_type.code].map{|c| Caseblocks::Case.new(c, @client) }
  end
  case_list
end

#idObject

Since:

  • 0.1.0



22
23
24
# File 'lib/caseblocks/bucket.rb', line 22

def id
  @bucket_data["id"]
end

#nameObject

Since:

  • 0.1.0



19
20
21
# File 'lib/caseblocks/bucket.rb', line 19

def name
  @bucket_data["name"]
end