Module: Joblin::BackgroundTask::ApiAccess::Mixin

Extended by:
ActiveSupport::Concern
Defined in:
app/models/joblin/background_task/api_access.rb

Instance Method Summary collapse

Instance Method Details

#api_serializeObject



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'app/models/joblin/background_task/api_access.rb', line 100

def api_serialize
  builder = Jbuilder.new do |json|
    json.id id
    json.type type
    json.workflow_state workflow_state

    json.error_message error_message || "Internal Error" if workflow_state == 'failed'

    rule_sets = self.class.api_access_rules
    rule_sets.each do |aar|
      instance_exec(json, &aar.serializer) if aar.serializer
    end
  end

  builder.attributes!
end

#api_validate_optionsObject



117
118
119
120
121
122
123
124
125
126
# File 'app/models/joblin/background_task/api_access.rb', line 117

def api_validate_options
  errors = []
  rule_sets = self.class.api_access_rules
  rule_sets.each do |aar|
    aar.validators.each do |validator|
      errors << instance_exec(&validator)
    end
  end
  errors.flatten.compact.uniq
end