28 lines
599 B
Ruby
28 lines
599 B
Ruby
module Travis::API::V3
|
|
class Models::Settings
|
|
DEFAULTS = {
|
|
'builds_only_with_travis_yml' => false,
|
|
'build_pushes' => true,
|
|
'build_pull_requests' => true,
|
|
'maximum_number_of_builds' => 0
|
|
}.freeze
|
|
|
|
attr_reader :repository
|
|
|
|
def initialize(repository)
|
|
@repository = repository
|
|
end
|
|
|
|
def to_h
|
|
DEFAULTS.merge(repository.settings || {})
|
|
end
|
|
|
|
def update(settings = {})
|
|
settings = to_h.merge(settings)
|
|
repository.settings.clear
|
|
settings.each { |k, v| repository.settings[k] = v }
|
|
repository.save!
|
|
end
|
|
end
|
|
end
|