Class: Dhis2::Api::Version224::DataSet
Constant Summary
collapse
- Schema =
Dry::Validation.Schema do
required(:name).filled
required(:period_type).value(
included_in?: ::Dhis2::Api::Version224::Constants.period_types
)
end
Class Method Summary
collapse
Instance Method Summary
collapse
included
Methods included from Deletable
#delete
Methods included from Updatable
#update, #update_attributes
included
Methods included from Creatable
included
Methods included from Findable
included
Methods included from Listable
included
Methods inherited from Base
#==, #initialize, resource_key, resource_name, #to_h
Class Method Details
.creation_defaults(args) ⇒ Object
44
45
46
47
48
49
|
# File 'lib/dhis2/api/version224/data_set.rb', line 44
def self.creation_defaults(args)
{
code: args[:short_name],
period_type: "Monthly"
}
end
|
Instance Method Details
#add_data_element(data_element_id, check: true) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/dhis2/api/version224/data_set.rb', line 28
def add_data_element(data_element_id, check: true)
client.post(path: "dataSets/#{id}/dataElements/#{data_element_id}", payload: {})
return unless check
updated_set = self.class.find(client, id)
if updated_set.data_element_ids.include?(data_element_id)
self.data_elements = updated_set.data_elements
else
raise Dhis2::DataElementAdditionError, "Could not add dataElement #{data_element_id}"
end
end
|
#add_data_elements(new_data_element_ids) ⇒ Object
22
23
24
25
26
|
# File 'lib/dhis2/api/version224/data_set.rb', line 22
def add_data_elements(new_data_element_ids)
(new_data_element_ids - data_element_ids).each do |data_element_id|
add_data_element(data_element_id, check: true)
end
end
|
#data_element_ids ⇒ Object
40
41
42
|
# File 'lib/dhis2/api/version224/data_set.rb', line 40
def data_element_ids
data_elements.map { |de| de["id"] }
end
|