Class: Icasework::Case
- Inherits:
-
Object
- Object
- Icasework::Case
- Defined in:
- lib/icasework/case.rb
Overview
A Ruby representation of a case in iCasework
Class Method Summary collapse
Instance Method Summary collapse
- #[](key) ⇒ Object
- #case_id ⇒ Object
- #classifications ⇒ Object
- #documents ⇒ Object
-
#initialize(hash) ⇒ Case
constructor
A new instance of Case.
- #to_h ⇒ Object
Constructor Details
#initialize(hash) ⇒ Case
Returns a new instance of Case.
64 65 66 67 68 |
# File 'lib/icasework/case.rb', line 64 def initialize(hash) @hash = LazyHash.new(hash) do load_additional_data! end end |
Class Method Details
.create(params) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/icasework/case.rb', line 18 def create(params) data = Icasework::Resource.create_case(params).data[:createcaseresponse] return nil unless data new(case_details: { case_id: data[:caseid] }) end |
.where(params) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/icasework/case.rb', line 11 def where(params) cases = Icasework::Resource.get_cases(params).data[:cases] return [] unless cases [cases[:case]].flatten.map { |data| new(case_data(data)) } end |
Instance Method Details
#[](key) ⇒ Object
74 75 76 |
# File 'lib/icasework/case.rb', line 74 def [](key) @hash[key] end |
#case_id ⇒ Object
70 71 72 |
# File 'lib/icasework/case.rb', line 70 def case_id self[:case_details][:case_id] end |
#classifications ⇒ Object
78 79 80 |
# File 'lib/icasework/case.rb', line 78 def classifications @hash[:classifications].map { |c| Classification.new(c) } end |
#documents ⇒ Object
82 83 84 |
# File 'lib/icasework/case.rb', line 82 def documents @hash[:documents].map { |d| Document.new(d) } end |
#to_h ⇒ Object
86 87 88 |
# File 'lib/icasework/case.rb', line 86 def to_h @hash.to_h end |